スマートホームスキルを複数の言語で開発する
スマートホームスキルAPIを使って、複数の言語のユーザーリクエストに対応できるスマートホームスキルを作成できます。
- サポートされる言語を確認する
- 開発者ポータルでスキルの複数言語バージョンを作成する
- OAuthプロバイダーのホワイトリストに登録するURLを追加する
- 言語ごとに公開情報を提供する
- Lambda関数を複数の地域にデプロイする
- イベントを正しいURLに送信する
- 開発者コンソールでスキルにARN番号を指定する
- 複数言語でスキルの有効化、アカウントリンク、テストを行う
- スキルのテストの手順、プライバシーとコンプライアンス、公開範囲を指定する
- スキルの申請
サポートしている言語の場合、スマートホームスキルAPIはユーザーリクエストを自動で解釈し、リクエストを処理できるLambda関数のコードに適切なディレクティブを送信します。スキルはデバイス制御クラウドと通信して、指定されたリクエストを実行するか、エラーメッセージを返します。サポートしている言語はデバイスのカテゴリーによって異なります。サポートされる言語を確認するの表で、各インターフェースのトピックを参照し、対象とする言語でデバイスがサポートされるかどうかを確認します。
既存のスマートホームスキルにサポートされる言語を追加したり、複数言語をサポートするスマートホームスキルを作成したりするには、所定の手順を踏む必要があります。これらの手順の詳細については、以降のセクションで説明します。
このドキュメントは既存のスマートホームスキルドキュメントを補完するものであり、複数言語に対応するスキルに特化したものであることにご注意ください。スマートホームスキルの作成方法についてはあらかじめ理解しておく必要があります。
スマートホームスキルAPIまたはスマートホームスキルの作成方法の詳細については、以下をご覧ください。
サポートされる言語を確認する
サポートされる言語はインターフェースによって異なります。以下の表は、一般的なデバイスカテゴリーと、そのカテゴリーのデバイスでユーザーが制御やクエリーに使用できる言語をまとめたものです。ただし、使用する予定の各インターフェースのトピックを確認のうえ、言語がサポートされているかどうか判断をする必要があります。たとえば、PowerControllerはすべての言語でサポートされており、多くのデバイスカテゴリーで使用できます。
機能インターフェースの一覧と、サポートされるロケールについては、機能インターフェースの一覧を参照してください。
デバイスのカテゴリー | サポートされる言語 |
---|---|
照明およびスイッチ | 英語(すべてのロケール)、フランス語(フランス)、ドイツ語、イタリア語、日本語、スペイン語(スペイン) |
ドアおよびロック | 英語(米国)、英語(英国)、英語(カナダ)、英語(オーストラリア)、ドイツ語、イタリア語、日本語、スペイン語(スペイン) |
サーモスタット、エアコン、扇風機 | 英語(すべてのロケール)、フランス語(フランス)、ドイツ語、イタリア語、日本語、スペイン語(スペイン) |
カメラ | 英語(すべてのロケール)、フランス語(フランス)、ドイツ語、イタリア語、日本語、スペイン語(スペイン)各ロケールでサポートされるデバイスについては、カメラ用のスマートホームスキルを作成するを参照してください。 |
エンターテイメントデバイス | 英語(すべてのロケール)、フランス語(フランス)、イタリア語、日本語、スペイン語(スペイン) |
調理器具 | 英語(米国) |
センサー(接触またはモーションセンサー) | 英語(米国) |
セキュリティシステム | 英語(米国) |
現在サポートされている言語以外の言語のインターフェースを使用するスマートホームスキルを作成し、認定の申請を考えている場合、Alexa Skills - Developer Voice and Voteページからリクエストしてください。
開発者ポータルでスキルの複数言語バージョンを作成する
既存のスキルに言語を追加する
- 開発者コンソールにサインインし、スキル一覧を開いて言語を追加するスキルを選択します。
- サイドバー上部の言語ドロップダウンで新しい言語を追加し、言語を切り替えます。ドロップダウンをクリックして言語設定をクリックし、+ 新しい言語を追加をクリックします。
- 新しい言語を選択して保存をクリックします。
- ビルドと公開のページで、それぞれの言語の設定を行います。
または
1つ以上の言語をサポートする新しいスキルを追加する場合
- コンソールにサインインし、スキルの作成を選択します。
- スキル名を入力します。後から、スキルストア用に言語別の名前を設定できます。
- スキルのデフォルトの言語を選択します。
- スマートホームプリビルドモデルを選択してから、スキルを作成を選択します。
- 左上隅の言語ドロップダウンをクリックし、言語設定を選択します。
- + 新しい言語を追加を選択し、スキルでサポートする言語を選択します。保存をクリックします。
OAuthプロバイダーのホワイトリストに登録するURLを追加する
ビルドページで、アカウントリンクに指定する情報はスキルのすべての言語バージョンに共通です。ただし、複数言語に対応しているスキルの場合、Lambdaの地域ごとに別のリダイレクト先のURLがあるので、そのURLを開発者コンソールのアカウントリンクページで指定します。リダイレクト先のURLは、それぞれOAuthプロバイダーのホワイトリストに登録する必要があります。スキルをデバイス制御クラウドに正常にアカウントリンクしてテストするには、この手順を行う必要があります。アカウントリンクの設定の詳細については次のトピックを参照してください。 Authorization code grantを設定する
言語ごとに公開情報を提供する
- 公開ページで、それぞれの言語の設定を行います。認定に合格するには、これらのフィールドの値をスキルと同じ言語で指定する必要があります。
- 説明
- 詳細な説明
- キーワード
- 小さなスキルアイコンと大きなスキルアイコン
Lambda関数を複数の地域にデプロイする
Alexaはユーザーリクエストが日本語か英語かを解釈し、正しいディレクティブをスキルに送信します。Alexaからこれらのディレクティブを受け取り、スキルがサポートしているクラウドに接続されたデバイスと通信するためのコードを記述してください。作成したコードは、AWS Lambda関数としてホストされます。複数言語サポートを有効にするには、AWS Lambda関数コードをAWSの複数の地域にデプロイする必要があります。複数の地域にデプロイするとスキルがリクエストに応答しやすくなるため、必須となっています。
以下の表は、使用する必要のあるエンドポイントの地域と関連するAWSの地域をまとめたものです。
エンドポイントのリージョン | スキルの言語 | Lambda関数のリージョン |
---|---|---|
北米 | 英語(CA)、英語(US)、フランス語(CA)、ポルトガル語(BR)、スペイン語(MX)、スペイン語(US) | 米国東部(バージニア北部) |
ヨーロッパ | 英語(UK)、フランス語(FR)、ドイツ語、イタリア語、スペイン語(ES) | 欧州(アイルランド) |
インド | 英語(IN)、ヒンディー語(IN) | 欧州(アイルランド) |
極東 | 英語(AU)、日本語 | 米国西部(オレゴン) |
各地域のARNをメモしておいてください。スキルの設定時に各地域のARNを追加します。
スキル作成手順の詳細についてはスマートホームスキルの作成手順のLambda関数を追加するセクションを、アダプターが受け取る可能性のあるディレクティブの詳細についてはスマートホームスキルAPIのメッセージリファレンスを、それぞれ参照してください。
イベントを正しいURLに送信する
非同期イベントや変更レポートイベントを送信する場合、正しいAlexaイベントゲートウェイに送信する必要があります。イベントゲートウェイはLambda関数がホストされている場所によって異なります。地域別のURLは以下のとおりです。
- 北米:
https://api.amazonalexa.com/v3/events
- ヨーロッパ:
https://api.eu.amazonalexa.com/v3/events
- 極東:
https://api.fe.amazonalexa.com/v3/events
開発者コンソールでスキルにARN番号を指定する
地理的な地域ごとのARN番号を、開発者コンソールのビルドページに追加します。手順は以下のとおりです。
- 開発者コンソールで、スキルを選択してビルドタブをクリックします。
- 該当する地理的な地域(ヨーロッパとインドなど)を選択します。
- テキストボックスにARNかLambdaのエンドポイントを入力します。スキルの言語、エンドポイントの地域とLambda関数がホストされる地域との関連については、Lambda関数を複数の地域にデプロイするセクションの表を参照してください。
- スキルが1つの言語または地域のみをサポートする場合、デフォルトのARNと選択した地域のARNには同じARNを指定します。
- スキルが複数の言語または地域をサポートする場合、地域ごとのARNを指定する必要があります。どれか1つの地域のARNをデフォルトとして指定します。
複数言語でスキルの有効化、アカウントリンク、テストを行う
それぞれの言語について、アカウントリンクとテストを行うようにしてください。Alexaアプリのスキルを開いて右上隅のスキルを選択すると、スキルを検索することができます。使用するデバイスは、スキルが動作するようデザインされ、Alexa搭載デバイスで探すことができ、クラウドに接続されていることが必要です。
以下の表は、テスト目的で使用できるサンプル発話の一部です。言語処理はAlexaが行いますが、スキルのテストはサポートするすべての言語に対し、ユーザーが実施する必要があります。
インテント | 英語のサンプル | ドイツ語のサンプル | 日本語のサンプル |
---|---|---|---|
デバイスを探す | discover my smart home devices | finde meine Smart-Home-Geräte | デバイスを検出して |
デバイスをオンにする | turn on the device name | schalte Gerätename ein | デバイス名をオンにして |
デバイスを特定の値に設定する | set the room name to ## | stelle Raumname auf ## Grad | デバイス名を##度にセットして |
その他のサンプル発話については、スマートホームスキル公開のガイドで各インターフェースのトピックを参照してください。
スキルのテストの手順、プライバシーとコンプライアンス、公開範囲を指定する
スキル公開の最後の手順では、認定チームにテスト手順を提供し、プライバシー関連の質問に答え、スキルをどこで公開するかを選択します。
プライバシーとコンプライアンス:
- 質問に回答します。詳細については各項目に「?」で表示されているヒントをご覧ください。
公開範囲:
- Amazonがスキルを公開しているすべての国か、特定の国や地域かを選択します。公開範囲は言語ごとに設定します。その国や地域で一般的に話されている言語をサポートしていない場合でも公開できます。
このオプションはスキルのすべての言語バージョンに適用されることに注意してください。
スマートホームスキルはクラウドに接続されたデバイスを利用するため、スキルで使用するデバイスが利用可能かどうか、特定の国や地域で正常に機能するかどうかを考慮する必要があります。
スキルの言語ごとにテストに使用する認証情報とテスト手順を指定します。
これらの項目をすべて入力したら、保存して続行をクリックして次のページに進みます。
スキルの申請
スキルの各言語に必要な情報をすべて入力したら、申請ボタンが有効になり、スキルの認定を申請できます。
認定チームがテストを円滑に進められるよう、チームから詳細を求められたらすみやかに回答してください。