Upgrade to Pro — share decks privately, control downloads, hide ads and more …

VUI設計後の実装からリリースまでのポイント

 VUI設計後の実装からリリースまでのポイント

Yoichiro Tanaka

April 16, 2018
Tweet

More Decks by Yoichiro Tanaka

Other Decks in Technology

Transcript

  1. Yoichiro Tanaka Software Engineer / IT Architect Google Developers Expert

    (Web) twitter.com/yoichiro google.com/+YoichiroTanaka
  2. 脚本 • Google SpreadSheet 脚本からのVUI設計 VUI設計 • Google SpreadSheet •

    UML: ステートチャート図 • UML: アクティビティ図
  3. const DialogflowApp = require("actions-on-google").DialogflowApp; const ACTION_INPUT_WELCOME = "input.welcome"; exports.fulfillment =

    (req, res) => { const app = new DialogflowApp({request: req, response: res}); const inputWelcome = app => { app.ask("こんにちは。◦◦です。・・・"); }; const actionMap = new Map(); actionMap.set(ACTION_INPUT_WELCOME, inputWelcome); app.handleRequest(actionMap); }; フルフィルメントのテンプレートコード
  4. Output Contextsの決定に使用するコード // Output Contextを設定する const CONTEXT_PLAY_AGAIN = "play_again"; app.setContext(CONTEXT_PLAY_AGAIN,

    1); // 1 はLifespan // Input Contextを削除する const CONTEXT_GAME = "game"; app.setContext(GAME, 0); // 0 によって削除される
  5. const inputNumber = app => { const number = app.getArgument("number");

    const answer = app.data.answer; if (number === answer) { app.setContext("game", 0); app.setContext("play_again", 1); app.ask("正解です!もう一度遊びますか? "); } else { app.setContext("game", 1); app.ask("◦イート◦バイトです。"); } }; 実際のコードの例
  6. アプリの情報登録 • アプリ名、発音 • アプリの説明文 • 画像、アイコン • 呼び出しフレーズ •

    開発者情報 • プライバシーポリシー、利用規約 • カテゴリ • その他もろもろ 基本的には、右図のページに必要となる情報を登 録していくことになる。
  7. 呼び出しフレーズ レビュアーは登録された全ての呼び出しフレーズを 試して、実際にアプリが起動するかをちゃんと確認 している。 → しかも、全てのデバイスで!起動しなければ、 Rejectされる。 特に Implicit Invocation

    は全てのデバイスで確認 することが大事。 上記の2つ目のImplicit InvocationはAndroidアシ スタントではOkだったのでレビュー提出するも、実 はGoogle HomeではNGであり、結果Rejectになっ てしまった。