Voiceflow夏休みAdvent Calendarの遅ればせながら28日目です・・・最終日はこれから!
今日は前回少しご紹介した、Userinfo Block + Permission Blockを使ってユーザプロファイルAPIにアクセスして、ユーザ情報を取ってくる仕組みについて説明します。ユーザプロファイルAPIはAlexaのユーザ情報にアクセスするためAPIです。これを活用することで以下の情報を取得できます。
- 名前
- メールアドレス
- 電話番号
名前を使ってアレクサに発話させることで親近感が持てたり、メールアドレスや電話など、ユーザへリーチするための別の手段を使うことでEchoデバイス以外の接点を持ったり、といろいろなアイデアが考えられます。
Voiceflowではユーザプロファイルへのアクセスが非常にかんたんにできます。ではやってみましょう。
スキルの全体図
全体図はこんな感じです。サンプルなので、ユーザプロファイルから取得した情報をそのまま喋らせるだけです。少ないですね。
順に見ていきます。まず変数を作ります。名前・メールアドレス・電話番号の3つ、それぞれを入れておくための変数を用意します。
最初のSpeakで起動時のメッセージを発話します。
ユーザの許可が必要な情報にアクセスするUser Info Block
今日の本題のUser Info Blockです。
User Info Blockは、「権限が必要な情報を取得して変数に入れる」ことをします。取得ができない場合、すなわち、「許可されていない」場合にfailに流れます。それを使って、failの場合はカードを使って権限の許可を促す、というのが使い方になります。実際にやってみましょう。
"+ Add Permission Request"をクリックします。
ドロップダウンからアクセスしたい情報を選びます。今回は「ユーザ名」を選んでみます。
次に取得した情報を変数に入れるので、変数を指定します。
はい、こんな感じです。
これを繰り返していって、最終的に最初のような感じになればOKです。
で、取得できない場合のフローです。
Speak Blockで権限の許可を促します。
Permission Blockで権限の許可を求めるカードを送信します。今回必要な情報、「名前」「電話番号」「メールアドレス」をONにします。
で、成功した場合のフローはこんな感じで発話させてみました。
テスト
ではテストしてみましょう。初回は権限が許可されていないので、こんな感じでカードへ誘導されます。
で、カードはこんな感じになります。
で、許可したあとの再実行はこういう感じです。伏せてますのでよくわからないかもですが、きちんと取れています。
ユーザプロファイルを利用する場合の注意
非常にかんたんに利用可能なユーザプロファイルですが、実際にスキルで利用する場合には注意が必要です。
- ユーザプロファイルは、まさに個人情報へのアクセスになりますので、取り扱いには十分ご注意ください。
- また、それらの情報をスキル内に保存する場合もよく考えてください。できる限り、フロー変数を使って、必要なときに取得するようにして、あくまでも一時的な利用に留めるほうが安全です。
- 申請時にプライバシーポリシーの準備が必須となります。
このあたり、十分に注意の上で、ご活用ください。