as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
AWS
文档
Support
Contact Us
My Cases
开发
测试
应用发布
盈利
用户参与
设备规格
资源

Example Receipe Configuration for JSON Roku Feed

Example Receipe Configuration for JSON Roku Feed

This example shows a recipe configuration for a feed that conforms to the required MRSS elements in a Roku feed.

Feed (xmlfeed2_CategoriesRecipe.json)

https://amzndevresources.com/fire-app-builder/feeds/feed2.xml

Category recipe:

{
  "cooker": "DynamicParser",
  "format": "xml",
  "model": "com.amazon.android.model.content.ContentContainer",
  "translator": "ContentContainerTranslator",
  "modelType": "array",
  "query": "//*[name()='media:category']/text()",
  "queryResultType": "[]$",
  "matchList": [
    "/StringKey@mTitle"
  ],
  "keyDataType": "/StringKey@keyDataPath"
}

Contents recipe (xmlfeed2_ContentsRecipe.json):

{
  "cooker": "DynamicParser",
  "format": "xml",
  "model": "com.amazon.android.model.content.Content",
  "translator": "ContentTranslator",
  "modelType": "array",
  "query": "//item[*[name()='media:category']='$$par0$$']",
  "matchList": [
    "media:title/#text@mTitle",
    "guid/#text@mId",
    "media:description/#text@mDescription",
    "media:content/#attributes/url@mUrl",
    "media:thumbnail/#attributes/url@mCardImageUrl",
    "media:thumbnail/#attributes/url@mBackgroundImageUrl"
  ]
}

BasicFileBasedUrlGeneratorConfig.json:

{
  "url_file": "urlFile_xmlfeed2.json"
}

urlFile_xmlfeed2.json

{
  "urls": [
    "https://amzndevresources.com/fire-app-builder/feeds/feed2.xml"
  ]
}

Navigator.java

...
public static final String NAVIGATOR_FILE = "Navigator_xmlfeed2.json";
...

Navigator_xmlfeed2.json

{
  "config": {
    "showRelatedContent": true,
    "useCategoryAsDefaultRelatedContent": true,
    "searchAlgo": "basic",
    "enableCEA608": false,
    "enableRecentRow": true,
    "maxNumberOfRecentItems": 5
  },
  "branding": {
    "globalTheme": "AppTheme",
    "lightFont" : "Roboto Light",
    "boldFont" : "Roboto Bold",
    "regularFont" : "Roboto Regular"
  },
  "globalRecipes": [
    {
      "categories": {
        "dataLoader": "recipes/xmlfeed2_DataLoaderRecipe1.json",
        "dynamicParser": "recipes/xmlfeed2_CategoriesRecipe.json"
      },
      "contents": {
        "dataLoader": "recipes/xmlfeed2_DataLoaderRecipe1.json",
        "dynamicParser": "recipes/xmlfeed2_ContentsRecipe.json"
      }
    }
  ],
  "graph": {
    "com.amazon.android.tv.tenfoot.ui.activities.SplashActivity": {
      "verifyScreenAccess": false,
      "verifyNetworkConnection": true,
      "onAction": "CONTENT_SPLASH_SCREEN"
    },
    "com.amazon.android.tv.tenfoot.ui.activities.ContentBrowseActivity": {
      "verifyScreenAccess": false,
      "verifyNetworkConnection": true,
      "onAction": "CONTENT_HOME_SCREEN"
    },
    "com.amazon.android.tv.tenfoot.ui.activities.VerticalContentGridActivity": {
      "verifyScreenAccess": false,
      "verifyNetworkConnection": true,
      "onAction": "CONTENT_SUBMENU_SCREEN"
    },
    "com.amazon.android.tv.tenfoot.ui.activities.ContentDetailsActivity": {
      "verifyScreenAccess": false,
      "verifyNetworkConnection": true,
      "onAction": "CONTENT_DETAILS_SCREEN"
    },
    "com.amazon.android.tv.tenfoot.ui.activities.ContentSearchActivity": {
      "verifyScreenAccess": false,
      "verifyNetworkConnection": true,
      "onAction": "CONTENT_SEARCH_SCREEN"
    },
    "com.amazon.android.uamp.ui.PlaybackActivity": {
      "verifyScreenAccess": false,
      "verifyNetworkConnection": true,
      "onAction": "CONTENT_RENDERER_SCREEN"
    }
  }
}

xmlfeed2_DataLoaderRecipe2.json

{
  "task": "load_data",
  "url_generator": {
    "url_index": "0"
  }
}

Last updated: 2018年8月3日