Fire OS/Vega Comparison: Content Personalization API

Overview

This article compares the classes, methods, and data types in the Content Personalization integration, across Fire OS (FOS) and Vega. The APIs and data types are similar, with the main difference being the receiver classes in FOS are replaced by the ContentPersonalizationServer in Vega.

FOS classes for Content Personalization:

  • AmazonEntitlementReceiver
  • AmazonCustomerListReceiver
  • AmazonPlaybackReceiver
  • AmazonContentInteractionReceiver

Vega class for Content Personalization:

  • ContentPersonalizationServer

Please refer to below table for the method mapping between FOS and Vega for Content Personalization.

FOS FOS Vega Vega
Class Method Class Method
AmazonEntitlementReceiver setContentEntitlements ContentPersonalizationServer reportRefreshedContentEntitlements**
NA NA ContentPersonalizationServer reportRefreshedPlaybackEvents^^
AmazonEntitlementReceiver addContentEntitlement ContentPersonalizationServer reportNewContentEntitlement
AmazonEntitlementReceiver removeContentEntitlement ContentPersonalizationServer reportRemovedContentEntitlement
AmazonCustomerListReceiver setCustomerList ContentPersonalizationServer reportRefreshedCustomerList**
AmazonCustomerListReceiver addCustomerListEntry ContentPersonalizationServer reportNewCustomerListEntry
AmazonCustomerListReceiver removeCustomerListEntry ContentPersonalizationServer reportRemovedCustomerListEntry
AmazonPlaybackReceiver addPlaybackEvent ContentPersonalizationServer reportNewPlaybackEvent
AmazonContentInteractionReceiver addContentInteraction ContentPersonalizationServer reportNewContentInteraction

^^reportRefreshedPlaybackEvents - This API will cause a pull request where the app would send the data. Developer can use it to indicate there are new updates about a customers playback behavior that occurred off-device that can be fetched.

**reportRefreshedContentEntitlements and reportRefreshedCustomerList are followed by a pull request where the app needs to send back the data in chunks. Please refer to the example here.

Content Personalization API uses the following data types. No change in the number of APIs & the approach that developer needs to take.

Data Type Description Examples of how this data may be used
Watch Activity Playback of content by the customer. Fire TV uses this data to give customers an easy way back into the content they were watching in your apps. We may also use this data in recommendation carousels, like Next Up For You.
Individual Entitlements Purchases, rentals, and recordings that are not part of a subscription entitlement. Fire TV may use subscription entitlement information to determine correct entitlements for row creation and update the detail page with the correct providers. Also, purchases, rentals, and DVR recordings may be added to the My Stuff page.
Watchlist Additions and removals of content from the customer’s watchlist. Items may be added to the Watchlist on the My Stuff page.
Content Interactions Captures various customer engagements such as watching trailers, viewing detail pages, liking or disliking content, etc. Integrating with content interaction related APIs is optional and not necessary for certification. Check with your Amazon contact if you have questions.

Please note that Content Personalization functionality is similar to FOS. There is no change in CX (Customer Experience) on Vega.

Content Personalization – Integration Steps

  1. Include the necessary package dependencies in your app
  2. Update your manifest file
  3. Make a sample API call
  4. Validate the integration
  5. Make API calls as part of in-app functionality
  6. Implement your data pull service for background or off-device data

For more details & the service mock please refer to the developer doc.