Gracias por tu visita. Esta página solo está disponible en inglés.

Step 8: Auto-pair and Finalize Your Skill (VSK FTV)

So far, you have been using a skill which you had manually enabled from the Alexa app. Now that you've incorporated the Alexa Client Library, Amazon can transform your skill from a manually-paired skill into an auto-paired skill.

Sample App Instructions

If you're working with the sample Fire TV app, note that the sample app is not auto-paired. Steps in this stage are beyond the scope of the sample app.

Auto-Pairing

Auto-paired skills do not require users to manually enable the skill through the Alexa app. Auto-paired skills get enabled for the user automatically through the client library when the user launches the app. This is possible because Amazon can infer the device relationships from the already-existing Fire TV skill.

All Fire TV video skill integrations are required to be auto-paired skills in order to be certified. After your skill is transformed into an auto-paired skill, the Alexa Client Library can begin to do its magic.

Internationalization

Starting with version 1.4.0, the client library supports international regions. The library takes into account the marketplace within which the user's Amazon account is registered, and then performs pairing with Alexa in that region for the user.

For this flow to work end-to-end, you must ensure that you have provided region-specific catalogs to your Amazon solution architect, or at least indicated that you would like your US catalog to also be available in specific regions. Once your skill is updated with these details, your users in international regions will be able to auto-pair and use voice with Alexa to control your app.

Skill Discovery

After your skill is transformed from a manually-enabled skill to an auto-paired skill, your skill will disappear from the Alexa skill store in the Alexa app and will instead become part of Fire TV's video skill interaction (from a user's perspective).

In other words, Alexa-enabling your app will be seamless from the user's perspective — users will not need to look for your skill in the Alexa skill store to use voice with your skill. This greatly increases adoption of voice functionality among users.

Alexa Directives

Additionally, after your skill is transformed to an auto-paired skill, the directives you receive will be slightly different. Right now, you receive directives even if the user asks to play content that is not in your catalog. After your skill is transformed, this will no longer be the case; instead, you will receive only directives that are relevant to your app based on your catalog.

As a result, you won't need to iterate through multiple entities to find the entity with your catalog ID; it will simply be the first entity in the list you receive. (Please test this in your Lambda function to confirm).

Live App Testing

After the auto-pairing configuration update is complete, you will no longer be able to test the Alexa capabilities of your app by side-loading developer builds onto a Fire TV. Instead, you will need to submit a Live App Test to the Fire TV Appstore to test the Alexa functionality, including the auto-pairing capabilities of the client library. See Live App Testing for details on running live app tests.

Because auto-pairing your skill affects how rapidly you can develop, test, and iterate on your video skill integration, ensure that you have completed as much of your skill and app development as possible before transitioning to an auto-paired skill. The change to auto-paired skills is irreversible. After this transition, you will need to use Live App Testing for all testing of your skill.

Prerequisites for Transitioning to an Auto-paired Skill

  1. To avoid any issues when you transition to an auto-paired skill, first disable your video skill in your Alexa App.

    To disable your skill, click the menu in the upper-left corner and go to Settings > TV & Video. Find your skill, click it, and then click Disable Skill.

  2. Ensure that any other testers have also disabled the video skill in the Alexa app.
  3. From the menu, go to Settings > Device Settings. Scroll to the bottom and select VSKTV. Disable the skill. If you have any other smart home skills, disable them as well.

    (You can also disable skills from the https://alexa.amazon.com by going to Smart Home > Devices and selecting Forget All.)

  4. From the menu, go to Settings > TV & Video.
  5. Click Fire TV. Ensure that the Fire TV video skill is enabled and that Fire TV is paired with the Echo you want to use for testing.

    If the Fire TV video skill is paired with a device, you see a link to "Manage devices" (which takes you to a screen with a list of devices Fire TV is paired with). If the Fire TV video skill isn't paired with a device, you see "Link Your Alexa Device."

  6. Instruct all testers of your video skill to complete these steps at this time.
  7. Provide the Client ID of the Security Profile associated with your Fire TV App to your Amazon Solutions Architect, and let him or her know that this Client ID must be whitelisted for the write and proactive_enablement scopes (required for the Alexa Client Library to work).

    You retrieved your LWA Client ID from your security profile in Create a Security Profile. (In the Developer Console, go to Settings > Security Profiles to view the Client ID.)

Formalize Auto-Pairing Skill Configuration with Your SA

  1. Make sure that all steps in the Prerequisites are complete before proceeding.
  2. Submit a new Live App Test to the Amazon Appstore. Add your Amazon solution architect (SA) to the Live App Test.
  3. Send a single email to your SA that consolidates the following information:
    1. Let your SA know that you submitted this Live App Test and added them to it.
    2. Ask your SA to update your skill configuration to associate the submitted app's LWA Client ID with your skill configuration.

    3. Provide your video skill's Skill ID to your SA contact. This is the same Skill ID you created in Step 1: Create Your Video Skill and Lambda Function.

    4. Let your SA know that you need to have your skill's PAMS Partner ID updated. All auto-paired skills require this update, and if it's not made, you will have trouble editing your skill configuration in the future.

    5. Let your SA know which catalog you've been using from the externalIds field, so your SA can ensure your skill is associated with the correct catalog.

After your SA contact has completed the necessary configuration update, your skill will be enabled for auto-pairing. Additionally, your skill will now also receive directives directly from the Fire TV voice remote's microphone.

Update Communication from your Lambda

So far, you have been simply hard-coding an ADM Registration ID for your testing. As you scale to more users, this needs to change. Instead of simply communicating between your Lambda and one user, you need to communicate from your Lambda to all your users. You will uniquely identify those users through the Application Instance ID passed into their app's Alexa Client Library initialization.

To update the communication from your Lambda to all users:

  1. If you're using ADM, the Application Instance ID is the ADM Registration ID. To find the Application Instance ID in your Lambda code, look at the new "cookie" section within the directives, and within that section, find a field named applicationInstanceId. This is the field that contains your App Instance ID / ADM Registration ID. Use this unique identifier to determine where to send the directive from the Lambda function to your app, rather than hardcoding to just one test device. Here's an example:

    {
        "directive": {
            "header": {
                "namespace": "Alexa.PlaybackController",
                "name": "FastForward",
                "payloadVersion": "3",
                "messageId": "c934573d-a72a-474e-86d7-d4284759c829",
                "correlationToken": "AAAAAAAAAABz/cBzCAf/WqtdDQgXg3ljcAEAAAAAAADStuqEh0EHcdBvtW+vl2QdQc5ZS/NRHrdxX2ITRtFvOegAtWpVEmalGK4gu/Yi7nu/ahsRaXtzL2iZyK/QnL14GYA1bQsELoUJg2f99dATxQNWkXFhalXEEN7viyTkx2ITgKF+opoBmBGuLzqhvIb2KzEdo2CMC0Oa6k2F3Iza60G37AO8HfVcN6I5G6W/u40484xv7KmAgDavDeZmnS1/zCbdS7J8koyvSvlCHVVp0TaYdLDJ5E0EvIxKA2cDWfr8EKdcEJryUD0PhMyvBkKdCqAUyelrrCetO4sI9TmOPdQcuqt+WAdjRYKhwMOphkMAtV0wr0Mdh7xSR/KD+A6NRWg0p5j7rgTGVs0/ndgj4+lgHDLmGYkr9wvwm2FdT+mTvTf+peTBi39eiVEN0fhJ7bhIOn4tHQfL9Vgwh0HCGN/Q9ibHcqiszoTXEendfLrUlTSYgpDRwfI8UtJkL1cXHk372UPdqUGQ2p5llE/dpA=="
            },
            "endpoint": {
                "scope": {
                    "type": "BearerToken",
                    "token": "2d0a58d5-75ea-befc-18b8-239bb567260d"
                },
                "endpointId": "Please ignore this field.",
                "cookie": {
                    "deviceType": "sloane",
                    "applicationInstanceId": "This is the App Instance ID / ADM Registration ID",
                    "appName": "Test",
                    "appPackageName": "com.test.plus",
                    "deviceId": "G0123V0955123456"
                }
            },
            "payload": {}
        }
    }
    
  2. As mentioned above in Alexa Directives, the directives you receive in your Lambda function will now contain your catalog ID in the first entity, which could potentially simplify the logic you use to process directives. If you determine that code updates are needed to process the directives, please make any code changes now.
  3. Now that the skill has undergone the conversion to a fully-fledged auto-paired video skill, you can remove a portion of the endpoint code from the Discover.Response payload (if you haven't already). The following section is no longer needed, and its removal will help ensure a smooth transition for previous testers.

    "endpointId": "VSKTV",
          "description": "VSKTV is the default device used for video skills developed for Fire TV integrations",
          "friendlyName": "VSKTV",
          "manufacturerName": "Amazon"
    

Test Your New Auto-Pairing Skill for the First Time Using Your Remote

To test the following phrases using your Fire TV remote:

  1. Delete all previously installed apps from your Fire TV. (If you have a lot of apps, it might be easiest to de-register and re-register your Fire TV.)
  2. Update your Fire TV to the latest version of the operating system.

    You can manually check for a software update by selecting Settings > Device > About > Check for System Update or Settings > My Fire TV > Device > Check for System Update from the Fire TV menu.

  3. Submit a new Live App Test with your new client-library-enabled app, and send it to your Fire TV.
  4. Once the app downloads, launch the app, and log into your account.
  5. Wait about 5 seconds.
  6. Go back to the Fire TV home page.
  7. Using the Fire TV remote, say Launch <app name>. Your app should launch, and Alexa should say "This app is now Alexa enabled".
  8. Using your Fire TV remote, say Watch <title>, where "title" is something in your CDF catalog. Playback should start.
  9. Try these other phrases:

    a. Channel Change: "Tune to <channel>"

    b. Transport Controls: "Pause"

    c. Search: "Find <title> on <app name>"

Test the Phrases Using Your Echo

To test the above phrases using your Echo instead of your Fire TV remote, do the following:

  1. Open the Alexa app on your smartphone. From the app's home screen, click the menu button (upper-left corner) and go to Settings > Device Settings.
  2. Scroll to the bottom of the list of devices and disable the TV and VSK devices.

    Disabling devices
    Disabling devices

    You can also disable these devices by going to http://alexa.amazon.com and selecting Smart Home -> Devices -> Forget All.

  3. From the app's home screen, click the menu button (upper-left corner) and go to Settings > TV & Video. Then click Fire TV.
  4. Click Link Your Alexa Devices. Then select your Fire TV to pair your Echo with your Fire TV.
  5. Go to the Alexa Skills Developer Console. (This is where you configured your video skill in Step 1.1: Begin Creating a Video Skill.)
  6. If a beta test is currently running for your video skill, end the beta test.
  7. Begin a new beta test, and add new testers.
  8. Ensure that all beta testers accept the new beta test invite that arrives via email.
  9. Try using the phrases from steps 7-9 in the previous section, prefixed with "Alexa" to control your Fire TV app through the Echo.

Next Steps

Now that you finish testing for the most common phrases, go to the next step, Step 9: Test for Certification for more comprehensive testing of voice support. Your app will need to pass the phrases in the certification checklist to go live.