@amazon-devices/kepler-content-personalization
The Kepler Content Personalization API provides functionality that allows an app developer to provide personalized experiences to customers and showcases relevant content.
Get started
Setup
-
Add the following library dependency to the
dependencies
section of your package.json file."@amazon-devices/react-native-kepler": "~2.0.0", "react": "18.2.0", "react-native": "0.72.0", "@amazon-devices/kepler-content-personalization": "~1.2.0", "@amazon-devices/kepler-epg-provider": "~1.0.0", "@amazon-devices/head
- The
kepler-content-personalization
package provides funtionality for sending your content personalization data to the system. - The
amzn/kepler-epg-provider
package would provide the dependencies used forchannelDescriptor
inPlaybackEvent
data model. - The
headless-task-manager
package provides funtionality to register your data-pull background service with the system.
- The
-
In your manifest.toml, add the following privileges.
schema-version = 1 ## Define your package [package] title = "Kepler Video app" version = "2.17.0" id = "com.amazondeveloper.keplervideoapp" [components] ## Define your app's interactive component (if it doesn't already exist) [[components.interactive]] id = "com.amazondeveloper.keplervideoapp.main" library-name = "com.amazondeveloper.keplervideoapp" runtime-module = "/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0" categories = ["com.amazon.category.kva"] launch-type = "singleton" ## Define your app's service component which can handle data request. [[components.service]] id = "com.amazondeveloper.keplervideoapp.content.dataRefresh.provider" runtime-module = "/com.amazon.kepler.headless.runtime.loader_2@IKeplerScript_2_0" launch-type = "singleton" categories = ["com.amazon.category.kepler.media"] ## Define a process group for each component [processes] [[processes.group]] component-ids = ["com.amazondeveloper.keplervideoapp.main"] [[processes.group]] component-ids = ["com.amazondeveloper.keplervideoapp.content.dataRefresh.provider"] [wants] ## Defines that your app has a dependency on the Content Personalization data service [[wants.service]] id = "com.amazon.tv.developer.dataservice" [needs] ## Defines the privilege your app needs in order to use the Content Personalization interface to provide data [[needs.privilege]] id = "com.amazon.tv.content-personalization.privilege.provide-data" [offers] ## Defines the data refresh service component of your app [[offers.service]] id = "com.amazondeveloper.keplervideoapp.content.dataRefresh.provider" ## Defines the interactive component of your app [[offers.interaction]] id = "com.amazondeveloper.keplervideoapp.main" ## Add extras to declare support for Content Personalization [[extras]] key = "interface.provider" ## If you're utilizing account login or content launcher interface, ## replace component-id with appropriate service component. Follow Account Login Integration Guide component-id = "com.amazondeveloper.keplervideoapp.content.dataRefresh.provider" ## Defines support for the Content Personalization interface and the attributes [[extras.value.application.interface]] interface_name = "com.amazon.kepler.media.IContentPersonalizationServer" attribute_options = ["SupportedCustomerLists", "DataRefreshComponentId"] [extras.value.application.interface.static_values] SupportedCustomerLists = ["Watchlist"] DataRefreshComponentId = "com.amazondeveloper.keplervideoapp.content.dataRefresh.provider"
Warning: Each interface configuration must be kept separate. Do not combine or mix attributes between different interfaces in the manifest file.
Related topics
Get Started with Kepler Content Personalization
Modules
- index
- turbo-modules/AmazonNativeContentPersonalization
- turbo-modules/AmazonNativeContentPersonalization
- turbo-modules/ContentPersonalizationServer
- turbo-modules/ContentPersonalizationServer
- turbo-modules/Handlers
- turbo-modules/Handlers
- turbo-modules/models/ContentEntitlement
- turbo-modules/models/ContentEntitlement
- turbo-modules/models/ContentEntitlement
- turbo-modules/models/ContentId
- turbo-modules/models/ContentId
- turbo-modules/models/ContentId
- turbo-modules/models/ContentInteraction
- turbo-modules/models/ContentInteraction
- turbo-modules/models/ContentInteraction
- turbo-modules/models/CustomerListEntry
- turbo-modules/models/CustomerListEntry
- turbo-modules/models/CustomerListEntry
- turbo-modules/models/Errors
- turbo-modules/models/Errors
- turbo-modules/models/Errors
- turbo-modules/models/PlaybackEvent
- turbo-modules/models/PlaybackEvent
- turbo-modules/models/PlaybackEvent
- turbo-modules/models/ProfileId
- turbo-modules/models/ProfileId
- turbo-modules/models/ProfileId
- turbo-modules/PrivateHandlers
- turbo-modules/PrivateHandlers
Last updated: Oct 02, 2025