使用亚马逊额外信息自定义推荐
亚马逊允许您在推荐时发送额外的值。这些额外信息让您能够自定义推荐,使其更适合Fire TV平台。可以阅读以下Fire TV一般文档,了解亚马逊额外信息: 发送包含亚马逊额外信息的推荐。
目前,Fire TV无法使用您可以发送的部分亚马逊额外信息。(不过,未来可能会使用。) 在其他情况下,Fire App Builder会发送亚马逊额外信息的默认值(无法更改)。
亚马逊额外信息
下表列出了可用的亚马逊额外信息。该清单与Fire TV中的亚马逊额外信息列表相同。列表后面的部分介绍了如何在Fire App Builder中提交亚马逊额外信息。
下表列出了可以添加到PreviewProgram
对象的额外信息。
额外项名称 | 数据类型 | 详情 |
---|---|---|
com.amazon.extra.DISPLAY_NAME |
字符串 | Launch(启动)菜单中显示的较短应用名称(在选择推荐时按菜单按钮会显示该名称)。长度限制为15个字符。其他字符将被截断,且被截断字符不会显示为省略号。 |
com.amazon.extra.ACTION_OPTION |
整数 | 确定为每个推荐显示的上下文菜单选项。支持并可配置一个上下文菜单操作。当用户单击推荐磁贴或其第一个上下文菜单选项后,亚马逊Fire TV会使用随推荐传递的相应内容意图数据启动应用。注意: 如果您的应用提供了操作数组列表,则必须提供com.amazon.extra.DISPLAY_NAME (如上所述)。ACTION_OPTION 包含的可能值如下所示:1: Watch with <应用名称> (使用<应用名称> 观看)2: Watch(观看) 3: Resume with <应用名称> (使用<应用名称> 继续)4: Resume(继续) 5: Switch <应用名称> Profile(切换<应用名称> 配置文件)6: Change <应用名称> Settings(更改<应用名称> 设置)7: Change Settings(更改设置) 8: View with <应用名称> (使用<应用名称> 查看)9: View(查看) 10: Play with <应用名称> (使用<应用名称> 播放)11: Play(播放) 12: Listen with <应用名称> (使用<应用名称> 收听)13: Listen(收听) 如果未提供任何值,则默认操作将为Open(打开),下面是Launch <应用名称> (启动<应用名称>)。 |
com.amazon.extra.CONTENT_CAPTION_AVAILABILITY |
整数 | 内容的字幕可用性:0 : 内容没有字幕可用。1 : 内容有字幕可用。 |
如何在Fire App Builder中提交亚马逊额外信息
下表说明了Fire App Builder如何处理每个标签、如何将信息提要中的亚马逊额外信息映射到Fire App Builder的内容模式标签,以及有关数据类型的任何特别备注。对于大多数亚马逊额外信息标签,需要使用内容配方将信息提要中的元素映射到这些标签名称。
内容配方1
0
额外项名称 | 如何在Fire App Builder中使用 |
---|---|
com.amazon.extra.DISPLAY_NAME |
不要在每个信息提要项目中映射DISPLAY_NAME ,而是要在应用的strings.xml 文件中设置该值。有关详细信息,请参阅自定义推荐中的应用显示名称。 |
com.amazon.extra.MATURITY_RATING |
映射到内容配方中的maturityRating 标签。 |
com.amazon.extra.RANK |
无法更改。Fire App Builder会为每个内容项目发送排名0 (最高优先级)。 |
com.amazon.extra.ACTION_OPTION |
Fire App Builder会发送一个空列表,并接受来自Fire TV的默认值。默认情况下,Fire TV会在启动上下文菜单中使用术语Open 和Launch <应用名称> 。要自定义Fire App Builder发送的内容,请映射到内容配方中的actions 标签。注意: 如果您的应用提供了操作数组列表,则必须提供com.amazon.extra.DISPLAY_NAME (如上所述)。 |
com.amazon.extra.LIVE_CONTENT |
将此元素映射到内容配方中的live 标签。另请注意,live 的值必须为布尔值(true 或false ),而不是整数0 或1 (Fire TV额外信息要求数据类型为整数)。发送推荐时,Fire App Builder实际上会将布尔值转换为整数。有关更多详细信息,请参阅配置直播流。对于直播内容,媒体播放屏幕上会省略Watch from Beginning(从头开始观看)按钮。 |
com.amazon.extra.CONTENT_RELEASE_DATE |
映射到内容配方中的availableDate 标签。 |
com.amazon.extra.CONTENT_CAPTION_AVAILABILITY |
如果内容带有字幕,则会自动检测内容字幕是否可用。无需在中映射该元素。如果内容带有隐藏式字幕,则Fire App Builder会在发送推荐时传递。如果未带有隐藏式字幕,则传递。
|
com.amazon.extra.IMDB_ID |
映射到内容配方中的imdbId 标签。 |
com.amazon.extra.CONTENT_START_TIME |
映射到内容配方中的startTime 标签。仅对直播内容有效。 |
com.amazon.extra.CONTENT_END_TIME |
映射到内容配方中的endTime 标签。仅对直播内容有效。 |
com.amazon.extra.TEXT_EMBEDDED_IMAGE |
不支持 |
com.amazon.extra.LONG_DESCRIPTION |
Fire App Builder将常规description 传递给该额外项。 |
com.amazon.extra.LAST_WATCHED_DATETIME |
Fire App Builder通过查看其数据库中的内容记录来自动获取该值。Fire App Builder会存储每项内容的上次观看时间。无需在内容配方中映射该值。 |
com.amazon.extra.PREVIEW_URL |
映射到内容配方中的videoPreviewUrl 标签。 |
genres |
genres 不是亚马逊额外信息,而是常规Android推荐API的组成部分。将此元素映射到内容配方中的genres 标签。genres 应指向字符串数组,而不是单个字符串。例如:"genres": ["COMEDY", "ARTS", "EDUCATION"] 。请使用标准Android类型术语。 |
如何在Fire App Builder推荐中加入额外信息
您可以在信息提要中加入包含项目详细信息的额外信息(但不能在recommendations
标签中加入——recommendations
标签应仅列出内容ID数组)。Fire App Builder构建相关推荐时,也会包含与亚马逊额外信息相匹配的任何其他信息。
以下是信息提要中包含所有额外信息的项目示例:
{
"id": "162270",
"title": "Thai Recipes - Thai Chicken Noodles Recipe",
"description": "Thai Recipes - Thai Chicken Noodles Recipe",
"duration": "355",
"thumbURL": "http://l2.cdn01.net/_thumbs/0000162/0162270/0162270__015f" type="jpg",
"imgURL": "http://l2.cdn01.net\/_thumbs/0000162/0162270/0162270__015f" type="jpg",
"videoURL": "http://media.cdn01.net/802E1F/process/encoded/video_1880k/0000162/0162270/D8HFLX0AC.mp4?source=firetv&channel_id=6341",
"categories": [
"International Cuisine"
],
"channel_id": "6341",
"recommendations": [
"162269",
"162266",
"162265",
"162264"
],
"maturityRating": "PG",
"live": true,
"startTime": 1490393748,
"endTime": 1490397347,
"videoPreviewUrl": "http://mywebsite.com/some/url/to/the/video.mp4",
"imdbId": "tt2417148",
"genres": ["DRAMA"],
"actions": [1, 101]
}
在内容配方中,映射这些额外信息的方式与映射其他信息提要属性的方式相同,但没有m
。例如:
{
"cooker": "DynamicParser",
"format": "json",
"model": "com.amazon.android.model.content.Content",
"translator": "ContentTranslator",
"modelType": "array",
"query": "$.items[?(@.categories[0] in [$$par0$$])]",
"matchList": [
"title@mTitle",
"id@mId",
"description@mDescription",
"videoURL@mUrl",
"imgURL@mCardImageUrl",
"imgURL@mBackgroundImageUrl",
"channel_id@mChannelId",
"recommendations@mRecommendations",
"maturityRating@maturityRating",
"live@live",
"startTime@startTime",
"endTime@endTime",
"videoPreviewUrl@videoPreviewUrl",
"imdbId@imdbId",
"genres@genres",
"actions@actions"
]
}
@
符号左侧是信息提要中的属性名称;@
符号右侧是Fire App Builder内容模式的值。上表列出了要映射的名称。
自定义推荐中的应用显示名称
在Fire TV主屏幕上显示的推荐中,Fire TV会截断应用标题中长度超过15个字符后的部分。这可能会导致应用名称看起来有点奇怪。例如,“Fire App Builder”被截断为“Fire App Builde”。

要为15个字符的推荐空间设置较短的标题,可以自定义显示名称。以下是自定义名称的示例:

要自定义推荐详细信息中的应用名称,请执行以下操作:
-
打开应用的strings.xml文件(位于res > values > strings.xml内)。
请注意,根据目标语言,会有多个strings.xml文件。对于美国英语,使用strings.xml (en)。
-
在此文件中,添加以下元素指定想要的应用名称:
<string name="app_name_short">FireAppBuilder</string>
Fire App Builder构建推荐时,它会使用此处包含的值并将其作为com.amazon.extra.DISPLAY_NAME
传递。
后续步骤
您已完成构建和配置应用的所有步骤。准备就绪后,向亚马逊应用商店提交应用。
Last updated: 2017年4月6日