Advertisement
aruntalkstech

Alexa Skill Response With Number Countup

Jan 24th, 2019
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 12.71 KB | None | 0 0
  1. {
  2.     "directives": [{
  3.         "type": "Alexa.Presentation.APL.RenderDocument",
  4.         "token": "multiModalToken",
  5.         "document": {
  6.             "styles": {},
  7.             "type": "APL",
  8.             "version": "1.0",
  9.             "theme": "light",
  10.             "import": [{
  11.                 "name": "alexa-layouts",
  12.                 "version": "1.0.0"
  13.             }, {
  14.                 "name": "alexa-styles",
  15.                 "version": "1.0.0"
  16.             }, {
  17.                 "name": "alexa-viewport-profiles",
  18.                 "version": "1.0.0"
  19.             }],
  20.             "resources": [{
  21.                 "colors": {
  22.                     "accent": "#C00",
  23.                     "text": "#333"
  24.                 },
  25.                 "dimensions": {
  26.                     "spacing": "8dp",
  27.                     "bodySize": "26dp",
  28.                     "titleSize": "40dp",
  29.                     "numberSize": "200dp"
  30.                 }
  31.             }, {
  32.                 "when": "${@viewportProfile == @hubLandscapeLarge}",
  33.                 "dimensions": {
  34.                     "bodySize": "36dp",
  35.                     "headingSize": "40dp",
  36.                     "hintSize": "34dp",
  37.                     "titleSize": "50dp"
  38.                 }
  39.             }, {
  40.                 "when": "${@viewportProfile == @tvLandscapeXLarge}",
  41.                 "dimensions": {
  42.                     "bodySize": "23dp",
  43.                     "headingSize": "27dp",
  44.                     "hintSize": "23dp",
  45.                     "titleSize": "38dp"
  46.                 }
  47.             }, {
  48.                 "when": "${@viewportProfile == @hubRoundSmall}",
  49.                 "dimensions": {
  50.                     "bodySize": "18dp",
  51.                     "headingSize": "22dp",
  52.                     "hintSize": "18dp",
  53.                     "titleSize": "25dp"
  54.                 }
  55.             }],
  56.             "layouts": {
  57.                 "LanguagePage": {
  58.                     "description": "Language page showing a pager that has numbers",
  59.                     "parameters": [{
  60.                         "name": "language",
  61.                         "type": "string"
  62.                     }, {
  63.                         "name": "ietf",
  64.                         "type": "string"
  65.                     }, {
  66.                         "name": "numbers",
  67.                         "type": "any"
  68.                     }],
  69.                     "items": [{
  70.                         "type": "Container",
  71.                         "items": [{
  72.                             "type": "Frame",
  73.                             "backgroundColor": "#FFFFFF66",
  74.                             "height": "15vh",
  75.                             "item": {
  76.                                 "type": "Container",
  77.                                 "justifyContent": "spaceBetween",
  78.                                 "alignItems": "center",
  79.                                 "direction": "row",
  80.                                 "height": "100%",
  81.                                 "paddingLeft": "5vw",
  82.                                 "paddingRight": "5vw",
  83.                                 "items": [{
  84.                                     "type": "TouchWrapper",
  85.                                     "item": {
  86.                                         "type": "Text",
  87.                                         "text": "←",
  88.                                         "fontSize": "@titleSize"
  89.                                     },
  90.                                     "onPress": {
  91.                                         "type": "SendEvent",
  92.                                         "arguments": ["choosePage", 0]
  93.                                     }
  94.                                 }, {
  95.                                     "type": "Text",
  96.                                     "color": "@text",
  97.                                     "fontSize": "@titleSize",
  98.                                     "textAlign": "${@viewportProfile != @hubRoundSmall ? 'auto' : 'center'}",
  99.                                     "text": "${language}",
  100.                                     "grow": 1
  101.                                 }]
  102.                             }
  103.                         }, {
  104.                             "type": "Container",
  105.                             "grow": 1,
  106.                             "item": {
  107.                                 "type": "Pager",
  108.                                 "id": "numberPager",
  109.                                 "grow": 1,
  110.                                 "width": "100vw",
  111.                                 "data": "${numbers}",
  112.                                 "item": {
  113.                                     "type": "Container",
  114.                                     "alignItems": "center",
  115.                                     "paddingTop": "10vh",
  116.                                     "items": [{
  117.                                         "type": "Text",
  118.                                         "fontSize": "@numberSize",
  119.                                         "text": "${data.numberOrdinal}",
  120.                                         "speech": "${data.numberSpeech}",
  121.                                         "id": "number${data.numberOrdinal}"
  122.                                     }, {
  123.                                         "type": "Text",
  124.                                         "fontSize": "@titleSize",
  125.                                         "text": "${data.word}"
  126.                                     }]
  127.                                 }
  128.                             }
  129.                         }]
  130.                     }]
  131.                 }
  132.             },
  133.             "mainTemplate": {
  134.                 "parameters": ["payload"],
  135.                 "items": [{
  136.                     "type": "Container",
  137.                     "items": [{
  138.                         "type": "Container",
  139.                         "position": "absolute",
  140.                         "top": 0,
  141.                         "left": 0,
  142.                         "width": "100vw",
  143.                         "height": "100vh",
  144.                         "items": [{
  145.                             "type": "Image",
  146.                             "overlayColor": "#FFFFFFCC",
  147.                             "scale": "best-fill",
  148.                             "height": "100vh",
  149.                             "width": "100vw",
  150.                             "source": "https://decompil3d.github.io/alexa-count-to-ten/bg.jpg"
  151.                         }]
  152.                     }, {
  153.                         "type": "Container",
  154.                         "height": "100vh",
  155.                         "items": [{
  156.                             "type": "Frame",
  157.                             "when": "${@viewportProfile != @hubRoundSmall}",
  158.                             "backgroundColor": "@accent",
  159.                             "height": "2vh",
  160.                             "width": "100vw"
  161.                         }, {
  162.                             "type": "LanguagePage",
  163.                             "numbers": "${payload.selectedNumbers.properties.numbers}",
  164.                             "ietf": "${payload.selectedNumbers.properties.ietf}",
  165.                             "language": "${payload.selectedNumbers.properties.name}",
  166.                             "width": "100vw",
  167.                             "grow": 1
  168.                         }]
  169.                     }]
  170.                 }]
  171.             }
  172.         },
  173.         "datasources": {
  174.             "selectedNumbers": {
  175.                 "transformers": [{
  176.                     "inputPath": "numbers[*].numberSsml",
  177.                     "outputName": "numberSpeech",
  178.                     "transformer": "ssmlToSpeech"
  179.                 }],
  180.                 "type": "object",
  181.                 "properties": {
  182.                     "numbers": [{
  183.                         "numberSsml": "<speak><lang xml:lang=\"ja-JP\"><say-as interpret-as=\"cardinal\">1</say-as></lang></speak>",
  184.                         "numberOrdinal": 1,
  185.                         "word": "一 (ichi)"
  186.                     }, {
  187.                         "numberSsml": "<speak><lang xml:lang=\"ja-JP\"><say-as interpret-as=\"cardinal\">2</say-as></lang></speak>",
  188.                         "numberOrdinal": 2,
  189.                         "word": "二 (ni)"
  190.                     }, {
  191.                         "numberSsml": "<speak><lang xml:lang=\"ja-JP\"><say-as interpret-as=\"cardinal\">3</say-as></lang></speak>",
  192.                         "numberOrdinal": 3,
  193.                         "word": "三 (san)"
  194.                     }, {
  195.                         "numberSsml": "<speak><lang xml:lang=\"ja-JP\"><say-as interpret-as=\"cardinal\">4</say-as></lang></speak>",
  196.                         "numberOrdinal": 4,
  197.                         "word": "四 (yon)"
  198.                     }, {
  199.                         "numberSsml": "<speak><lang xml:lang=\"ja-JP\"><say-as interpret-as=\"cardinal\">5</say-as></lang></speak>",
  200.                         "numberOrdinal": 5,
  201.                         "word": "五 (go)"
  202.                     }, {
  203.                         "numberSsml": "<speak><lang xml:lang=\"ja-JP\"><say-as interpret-as=\"cardinal\">6</say-as></lang></speak>",
  204.                         "numberOrdinal": 6,
  205.                         "word": "六 (roku)"
  206.                     }, {
  207.                         "numberSsml": "<speak><lang xml:lang=\"ja-JP\"><say-as interpret-as=\"cardinal\">7</say-as></lang></speak>",
  208.                         "numberOrdinal": 7,
  209.                         "word": "七 (nana)"
  210.                     }, {
  211.                         "numberSsml": "<speak><lang xml:lang=\"ja-JP\"><say-as interpret-as=\"cardinal\">8</say-as></lang></speak>",
  212.                         "numberOrdinal": 8,
  213.                         "word": "八 (hachi)"
  214.                     }, {
  215.                         "numberSsml": "<speak><lang xml:lang=\"ja-JP\"><say-as interpret-as=\"cardinal\">9</say-as></lang></speak>",
  216.                         "numberOrdinal": 9,
  217.                         "word": "九 (ku)"
  218.                     }, {
  219.                         "numberSsml": "<speak><lang xml:lang=\"ja-JP\"><say-as interpret-as=\"cardinal\">10</say-as></lang></speak>",
  220.                         "numberOrdinal": 10,
  221.                         "word": "十 (jū)"
  222.                     }],
  223.                     "name": "Japanese",
  224.                     "ietf": "ja-JP"
  225.                 }
  226.             }
  227.         }
  228.     }, {
  229.         "type": "Alexa.Presentation.APL.ExecuteCommands",
  230.         "token": "multiModalToken",
  231.         "commands": [{
  232.             "type": "Sequential",
  233.             "commands": [{
  234.                 "type": "SetPage",
  235.                 "componentId": "numberPager",
  236.                 "value": 0
  237.             }, {
  238.                 "type": "SpeakItem",
  239.                 "componentId": "number1"
  240.             }, {
  241.                 "type": "SetPage",
  242.                 "componentId": "numberPager",
  243.                 "value": 1
  244.             }, {
  245.                 "type": "SpeakItem",
  246.                 "componentId": "number2"
  247.             }, {
  248.                 "type": "SetPage",
  249.                 "componentId": "numberPager",
  250.                 "value": 2
  251.             }, {
  252.                 "type": "SpeakItem",
  253.                 "componentId": "number3"
  254.             }, {
  255.                 "type": "SetPage",
  256.                 "componentId": "numberPager",
  257.                 "value": 3
  258.             }, {
  259.                 "type": "SpeakItem",
  260.                 "componentId": "number4"
  261.             }, {
  262.                 "type": "SetPage",
  263.                 "componentId": "numberPager",
  264.                 "value": 4
  265.             }, {
  266.                 "type": "SpeakItem",
  267.                 "componentId": "number5"
  268.             }, {
  269.                 "type": "SetPage",
  270.                 "componentId": "numberPager",
  271.                 "value": 5
  272.             }, {
  273.                 "type": "SpeakItem",
  274.                 "componentId": "number6"
  275.             }, {
  276.                 "type": "SetPage",
  277.                 "componentId": "numberPager",
  278.                 "value": 6
  279.             }, {
  280.                 "type": "SpeakItem",
  281.                 "componentId": "number7"
  282.             }, {
  283.                 "type": "SetPage",
  284.                 "componentId": "numberPager",
  285.                 "value": 7
  286.             }, {
  287.                 "type": "SpeakItem",
  288.                 "componentId": "number8"
  289.             }, {
  290.                 "type": "SetPage",
  291.                 "componentId": "numberPager",
  292.                 "value": 8
  293.             }, {
  294.                 "type": "SpeakItem",
  295.                 "componentId": "number9"
  296.             }, {
  297.                 "type": "SetPage",
  298.                 "componentId": "numberPager",
  299.                 "value": 9
  300.             }, {
  301.                 "type": "SpeakItem",
  302.                 "componentId": "number10"
  303.             }, {
  304.                 "type": "Idle",
  305.                 "delay": 1500
  306.             }]
  307.         }]
  308.     }]
  309. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement