Overview
This article outlines the essential practices and commands required for testing Live TV integration on Vega, along with a comprehensive set of mandatory test cases utilized by Amazon for certification purposes. This knowledge base serves as a complementary resource to the Vega Live TV developer documentation.
Important Note: While this article provides testing guidelines, always refer to the official Vega Live TV developer documentation for the most up-to-date information and requirements, as certification standards may evolve over time.
Prerequisites
- Package ID - Please ensure that you are using the same package ID for Vega app as your existing Fire OS (FOS) app package id (e.g. appname.example.com). Amazon uses your same package ID to configure Live TV services across FOS and Vega. For instructions on how to change your package ID, go here.
- Implement the Live TV integration
Test Scenarios and Success Criteria
The following test cases are required for the Live TV integration. Before you submit your app for Live TV certification, please run these test cases and provide results to your Amazon contact. It is essential that you verify these test cases in advance, to reduce churn during the certification process. You can mark “Not Applicable” for test cases which are not relevant to your app, providing appropriate justifications in the comment section.
Feature | Description | Criteria | Steps |
---|---|---|---|
Entitlement/Initial Sync | Channel sync on Live experience screens after Installation and Sign-in(if applicable) | All Live experience screens must be loaded with channel details within 1 min | 1. Install app 2. Sign in (if required) 3. Verify access to: - EPG - Partner Row - Live TV elements Success = All elements load & display correctly |
Entitlement | Uninstalling the provider must remove the app/channels presence from EPG, Home tab, Sync Sources, Browse rows, Live TV sources, Recents, Manage Channels | App and channels presence must be removed from all the live experience screens within 1 min | 1. Uninstall app 2. Verify: - Channels removed from EPG - Live TV elements cleared - Partner Row content removed Success = All app-related content completely removed from Fire TV UI |
Entitlement | Logging out of the app (if the app requires sign-in) must remove the app/channels presence from EPG, Home tab, Sync Sources, Browse rows, Live TV sources, Recents, Manage Channels | App and channels presence must be removed from all the live experience screens within 1 min | 1. Logout from app 2. Verify: - Channels cleared from EPG - Live TV elements removed - Partner Row content gone Success = All user-specific content removed from Fire TV UI while app remains installed |
Entitlement | While upgrading from one type of subscription to another OR from free to entitled, respective channels must be populated in all live experience screens | New set of Channels must be populated within in 1 min | 1. Upgrade subscription: - Current tier → Higher tier - (e.g., Premium → Premium+) 2. Verify: - New tier channels appear in EPG - Additional content visible - UI updates reflect new tier access. Success = All higher tier content accessible immediately after upgrade |
Playback | Select tile to Playback from On Now Row/Live tab/EPG/Search result | Fullscreen Playback must start within 2-5 secs for warm and 5-7 for cold start for 100% of the channels Blocker - If playback is not initiated within the SLA mentioned Blocker - If playback from live ingress getting stuck when switching channels consistently |
1. Launch playback from: - EPG grid - Partner row - On Now row 2. Verify: - Channel launches successfully - Playback starts - Stream quality is good Success = Smooth playback from all entry points |
UX | Tiles in all Live TV UI screens must have the program image and no Grey tile | 100% of the Tiles must have program image if the program information is available Blocker - If >75 % of the tiles are showing grey tiles |
1. Check channel tile images in: - EPG grid - Partner row - On Now row 2. Verify: - Images load properly - No broken/missing thumbnails - Correct images for channels Success = All channel tiles display appropriate images |
UX/Channel Sort Order | 1.Channel Name must match with the requirement 2.Channel sort order and logo in EPG (on the left most column)/On Now Row/Live tab/Manage channels must match with the requirement 3.Channel count must match with the list provided to the Amazon Contact | 1.Channel name must reflect the name in the Channel list Quip 100% of the channels must have proper logo and reflect the channel order as per the requirement 2.Custom Order - Reflect Channel List Quip Default Order - A-Z order or Channel numbering as per the requirement 3.Channel count is matching with the requirement in On Now Row, Live tab provider row, EPG and Manage channels |
1. Check channel sequence in: - EPG grid - Partner row - On Now row 2. Verify: - Matches provided channel order - No misplaced channels - Consistent across all UI elements Success = Channel order matches specified sequence in docs |
UX | Provider name displayed must be as expected in all available live experience screens | Provider names must match display name submitted with partner in-take channel list and must be consistent across all live experience screens | 1. Check provider name in: - EPG grid - Partner row - On Now row 2. Verify: - Consistent branding - Correct spelling - Same name everywhere Success = Provider name uniformly displayed as specified. |
Metadata | Validate metadata, and progress bar on the tile Home Recent Home On Now Row Live tab Recent EPG Live tab provider row | Metadata must be loaded in all live experience screens within 1 min after initial sync Metadata must show within 1 sec of tile focus for >=95% of the contents 1.Program name 2.Start and end time 3.Content rating (if available) 4.Closed captions (if available) 5.Video quality (if available) 6.Up Next (for GN) 7.Short description Blocker - If the impact is on more 5% of the contents |
1. Focus on channel tile in: - EPG grid - Partner row - On Now row 2. Verify preview shows: - Program title - Time (start/end) - Rating (if applicable) - CC icon (if applicable) - Video quality (if applicable) - Up Next info (GN only) - Program description Success = All metadata elements present and accurate |
Sync Source | Channel line up should be updated by triggering the Sync Sources. Launch Sync Source Screen by - Settings > Live TV > Sync Sources |
Your sync sources screen launches and has | Method 1: Via Settings Menu 1. Navigate to: Settings > Live TV > Sync Sources 2. Verify the following screens appear in sequence: - “Updating Channel Info” screen - “Channel Sync Complete” message - Auto-return to previous Fire TV UI screen Method 2: Via Terminal (if Method 1 fails) Step 1: Log Capture Terminal 1: Start capturing EPG/KTF logs vda shell journalctl -f / grep -i "epg:|ktf:|ktf.|epgSyncTask|EpgSync" Step 2: Trigger Sync Terminal 2: Execute sync source command vlcm launch-app pkg://<package-id>.sync_source Expected Log Sequence Verify these messages appear in order: >>INFO ktf:start bulk inserting channels >>INFO ktf:bulk insert channels successfully >>INFO ktf:channel lineup provider commit version: [nnn] >>INFO ktf:[nnnn] of the [nnnn] requested channels have been added Success = All channels are updated and logs show the complete sequence using method 1. |
Exit | To verify if pressing back button takes the customer back to the point of ingress such as EPG, Live Partner row, On Row | The back button should always bring the customer back to the ingress point and not to the App’s home page. | 1. EPG Exit Test From Live Tab: 1. Live Tab → EPG → Play channel 2. Press Back - Verify: Returns to EPG tile From Home Tab: 1. Home Tab → EPG → Play channel 2. Press Back - Verify: Returns to EPG tile 2. Partner Row Exit Test 1. Live Tab → Partner Row → Play channel 2. Press Back - Verify: Returns to Partner Row tile 3. On Now Row Exit Test 1. Home Tab → On Now Row → Play channel 2. Press Back - Verify: Returns to On Now Row tile Note: Some apps may exit to home first before returning to previous location Success = Back button returns to correct ingress point in all scenarios |
Parental Controls (PCON) | The user creates a PIN when enabling parental controls the first time. Afterwards, when another user encounters a restricted video, the PIN prompt appears. That user must enter the correct PIN in order to access that content. The content restriction level is is set by the user in Settings > Preferences > Parental Controls > Viewing Restrictions To verify if PCON works , that is the customer should be prompted to enter PCON PIN when starting playback of Live Channel from Live row or any other ingress point. | The PCON Prompt should be seen when customer start playback from Live Row or any other ingress point. Please refer to developer doc for sample CX - Vega Parental Controls | Design and Develop Vega Apps |
1. FTV Native Player 1. Launch channel from: - Partner Row - EPG - On Now Row 2. Verify: - PCON PIN prompt shows - Uses FTV native dialog - Playback starts after PIN 2. In-App Player 1. Launch channel (same entry points) 2. Verify: - PCON PIN prompt shows - Uses app’s PIN dialog - Playback starts after PIN Success = PIN verification required before playback in both scenarios |
Common Issues and Troubleshooting
Common Issues:
-
App failing to launch or integrate properly - Please verify package ID matches exactly with FOS app package ID.
-
Unable to access content or features - Please work with your Amazon contact to confirm DSN is properly allowlisted. Check user credentials if applicable.
-
Missing or incorrect program information - Validate EPG data format. Verify the EPG sync task logs using the the command vda shell journalctl -f | grep -i “epg:|ktf:|ktf.|epgSyncTask|EpgSync”
-
PCON restrictions not working as expected - Verify rating implementation. Check PIN verification flow. It should match with your FOS implementation.
-
Live TV preview is currently out of scope for launch.
General Troubleshooting Steps and Capturing Logs:
- Check logs for specific error messages. Restart the application / device.
- Open two terminal before installing and running the application.
- In first terminal type the below command to capture the logs - The command to grep epg sync task related logs:
vda shell journalctl -f | grep -i "epg:\|ktf:\|ktf.\|epgSyncTask\|EpgSync”
- In second terminal - Install & run the app (You can do it from VS code as well)
- Push .vpgk to device –
vda push /Users/Downloads/MyFireTVApp_armv7.vpkg /tmp/
- Install .vpgk –
vda shell vpm install /tmp/MyFireTVApp _armv7.vpkg
- Push .vpgk to device –
- Verify logs in the first terminal for successful channel insertion.
- If Sync Source fails via UI, verify implementation by running: -
vda shell vlcm launch-app orpheus://[MyFireTVApp_package_Id].sync_source
- Example to capture logs directly to file -
vda shell journalctl -f | tee [FileName]_[Date].log
- Reach out to your Amazon contacts if issues persist. We are here to help!!