スマートホームスキルを複数の言語で開発する

スマートホームスキルを複数の言語で開発する

さまざまな言語でユーザーの発話に応答するAlexaスキルを作成できます。対応する各言語について、Alexaはユーザーの発話を解釈し、対応するディレクティブを適切なアマゾン ウェブ サービス(AWS)Lambda関数のエンドポイントのスキルに送信します。

スマートホームスキルの詳細については、スマートホームスキルを理解するスマートホームスキルの作成手順を参照してください。

サポートされる言語を確認する

サポートされる言語はインターフェースによって異なります。新しい言語を組み込む前に、スキルに実装する各インターフェースが新しい言語でサポートされていることを確認してください。詳細については、Alexaインターフェースとサポートしている言語の一覧を参照してください。

インターフェースのサポートに応じて、スマートホームスキルは、以下のうち、1つの言語だけをサポートすることも複数の言語をサポートすることもできます。

  • アラビア語(SA)
  • 英語(AU)
  • 英語(CA)
  • 英語(IN)
  • 英語(UK)
  • 英語(US)
  • フランス語(CA)
  • フランス語(FR)
  • ドイツ語(DE)
  • ヒンディー語(IN)
  • イタリア語(IT)
  • 日本語(JP)
  • ポルトガル語(BR)
  • スペイン語(ES)
  • スペイン語(MX)
  • スペイン語(US)

スキルの複数言語バージョンを作成する

スマートホームスキルを作成して新しい言語を追加することや、複数の言語をサポートする新しいスキルを作成することができます。

Alexa開発者コンソールで既存のスキルに言語を追加するには

  1. Alexa開発者コンソールにログインします。
  2. スキルタブのスキル名で、言語を追加するスキルを見つけます。
  3. そのスキルの行で、アクションのドロップダウンメニューから編集を選択します。
  4. サイドバー上部の言語ドロップダウンで新しい言語を追加し、言語を切り替えます。ドロップダウンをクリックして言語設定をクリックし、+ 新しい言語を追加をクリックします。
  5. 新しい言語を選択して保存をクリックします。
  6. ビルド公開のページで、それぞれの言語の設定を行います。

Alexa開発者コンソールで1つ以上の言語をサポートする新しいスキルを作成するには

  1. Alexa開発者コンソールにログインします。
  2. スキルタブで、スキルの作成をクリックします。
  3. 新しいスキルを作成ページで、次の情報を入力します。
    1. スキル名を入力します。後から、Alexaスキルストア用に言語別の名前を設定できます。
    2. プライマリロケールで、スキルのデフォルト言語を選択します。
    3. スキルに追加するモデルを選択で、スマートホームを選択します。
    4. スキルのバックエンドリソースをホスティングする方法を選択で、ユーザー定義のプロビジョニングを選択します。
    5. ページ右上にあるスキルを作成をクリックします。
  4. 左上隅の言語ドロップダウンをクリックし、言語設定を選択します。
  5. + 新しい言語を追加をクリックし、スキルでサポートする言語を選択します。
  6. 保存をクリックします。

OAuthプロバイダーで追加のURLを許可する

開発者コンソールで指定するアカウントリンク設定は、スキルのすべての言語バージョンに共通です。ただし、複数言語スキルではAWS Lambdaのリージョンごとに別のリダイレクト先のURLがあります。スキルをデバイスクラウドにアカウントリンクしてテストするには、リダイレクト先のURLをそれぞれOAuth 2.0プロバイダーで許可する必要があります。スキルに1つ以上の言語を追加したら、開発者コンソールでリダイレクト先のURLをコピーします。詳細については、Alexaのリダイレクト先のURLを参照してください。

Alexa開発者コンソールでリダイレクト先のURLを確認するには

  1. 開発者コンソールのスキルに戻ります。
  2. スマートホームページの3.アカウントのリンクで、アカウントリンクを設定をクリックします。
    または、左側のメニューで、アカウントリンクをクリックします。
  3. Alexaのリダイレクト先のURLまで下にスクロールし、URLをコピーします。
  4. コピーしたURLをOAuthプロバイダー設定に追加します。

Lambda関数を複数のリージョンにデプロイする

Alexaはユーザーリクエストが日本語か英語かを解釈し、正しいディレクティブをスキルに送信します。Alexaからこれらのディレクティブを受け取り、スキルがサポートしているクラウドに接続されたデバイスと通信するためのコードを記述してください。作成したコードは、AWS Lambda関数としてホストされます。複数言語サポートを有効にするには、AWS Lambda関数コードをAWSの複数のリージョンにデプロイする必要があります。たとえば、アラビア語のスキルを米国東部リージョンと欧州リージョンの両方にデプロイする必要があります。Lambda関数の作成と設定の詳細な手順については、Lambda関数を追加するを参照してください。

以下の表は、各言語で使用する必要のあるAlexaエンドポイントのリージョンと関連するAWS Lambdaのリージョンをまとめたものです。言語または国が表に表示されていない場合は、母国語がサポートされていない国を参照してください。

スキルの言語とロケール AWS Lambdaのリージョン Alexaエンドポイントのリージョン
アラビア語(SA)、英語(CA)、英語(US)、フランス語(CA)、ポルトガル語(BR)、スペイン語(MX)、スペイン語(US) 米国東部(バージニア北部) 北米
アラビア語(SA)、英語(IN)、英語(UK)、フランス語(FR)、ドイツ語(DE)、ヒンディー語(IN)、イタリア語(IT)、スペイン語(ES) 欧州(アイルランド) ヨーロッパ、インド
英語(AU)、日本語 米国西部(オレゴン) 極東、オーストラリア

母国語がサポートされていない国

スマートホームスキルは、その国や地域で一般的に話されている言語をAlexaがサポートしていない場合でも公開できます。母国語がサポートされていない国でスキルを提供するには、デフォルトのスキル言語を選択し、スキルを提供しようとしている国に応じてAWS LambdaのリージョンとAlexaエンドポイントのリージョンを選択します。

次の表は、使用できる言語、AWS Lambdaのリージョン、Alexaエンドポイントのリージョンを国別に示しています。

サポートされているスキル言語 AWS Lambdaのリージョン Alexaエンドポイントのリージョン

アルゼンチン、チリ、コロンビア、コスタリカ、ペルー

英語(US)

米国東部(バージニア北部)

北米

ベルギー、ルクセンブルク、スイス

フランス語(FR)、ドイツ語(DE)、イタリア語(IT)

欧州(アイルランド)

ヨーロッパ、インド

デンマーク、フィンランド、ノルウェー、ポーランド、ポルトガル、スウェーデン、トルコ

英語(US)

米国東部(バージニア北部)

北米

インドネシア、マレーシア、フィリピン、シンガポール、韓国

英語(US)

米国東部(バージニア北部)

北米

オランダ

英語(UK)

欧州(アイルランド)

ヨーロッパ、インド

その他の国

英語(US)

米国東部(バージニア北部)

北米

イベントを正しいURLに送信する

非同期の応答やイベントを送信する場合、正しいAlexaイベントゲートウェイに送信する必要があります。イベントゲートウェイはLambda関数がホストされている場所によって異なります。Alexaイベントゲートウェイにメッセージを送信するときは、スキルのリージョンと一致するエンドポイントに送信します。以下のリストは、Alexaのリージョンと、それぞれに関連付けられているエンドポイントを示しています。

  • 北米:https://api.amazonalexa.com/v3/events
  • ヨーロッパ、インド:https://api.eu.amazonalexa.com/v3/events
  • 極東、オーストラリア:https://api.fe.amazonalexa.com/v3/events

開発者コンソールでスキルにARN番号を指定する

スキルコードを含むLambda関数にアクセスする場合、AlexaはAmazonリソースネーム(ARN)を使用します。ARNは、Lambda関数のエンドポイントの場所を定義します。地理的なリージョンごとにAlexaとLambda関数の間のリンクを確立するには、開発者コンソールのスキル設定でARNを指定します。

Alexa開発者コンソールでリージョンのエンドポイントを設定するには

  1. 開発者コンソールのスキルに戻ります。
  2. スマートホームページの2.スマートホームのサービスエンドポイントで、該当する地理的なリージョン(ヨーロッパ、インドなど)を選択します。
  3. テキストボックスにLambdaのエンドポイントのARNを入力します。スキル言語とAWS Lambdaのリージョンの関連付けについては、Lambda関数を複数のリージョンにデプロイするを参照してください。
    • スキルが1つの言語または地域のみをサポートする場合、デフォルトのARNと選択した地域のARNには同じARNを指定します。
    • スキルが複数の言語または地域をサポートする場合、地域ごとのARNを指定する必要があります。どれか1つの地域のARNをデフォルトとして指定します。
  4. 保存をクリックします。

サポートする各言語について、アカウントをリンクしてスキルをテストします。Alexaアプリでスキルを見つけるには、その他スキル・ゲーム、右上隅の有効なスキルの順にタップします。テストするには、クラウドに接続され、Alexa搭載デバイスで見つけられるデバイスが必要です。

言語処理はAlexaが行いますが、スキルのテストはサポートするすべての言語に対し、開発者が行います。スキルと対象言語でサポートするスマートホームインターフェースに関連する発話で、スキルが動作することを確認してください。

言語ごとに公開情報を提供する

公開ページで、それぞれの言語の設定を行います。認定に合格するには、スキルを提供している言語ごとにこれらのフィールドの値を指定する必要があります。

  • 説明
  • 詳細な説明
  • キーワード
  • 小さなスキルアイコンと大きなスキルアイコン

言語およびスキルの公開範囲ごとにスキルの詳細を定義する

特定の言語でAlexaと対話するユーザーは、その言語をサポートしているスマートホームスキルを使用できます。たとえば、あるユーザーがAlexaデバイスをドイツ語に設定したとします。そのユーザーは自分の国や地域でAlexaスキルストアに公開されたドイツ語をサポートするスキルを有効化し、使用することができます。

言語ごとにスキルの詳細を定義する

スキルがサポートする言語ごとに、開発者コンソールの公開ページで設定を行い、スキルの公開先を選択します。テスト手順には、スキルの各言語バージョンのテスト用認証情報を含めてください。

認定に合格するには、スキルを提供している言語ごとに以下のフィールドの値を指定する必要があります。

  • 説明
  • 詳細な説明
  • サンプルフレーズ
  • 小さなスキルアイコンと大きなスキルアイコン
  • キーワード
  • プライバシーに関する質問
  • テスト手順

スキルの公開範囲を定義する

スキルの公開範囲は、スキルがサポートするすべての言語に適用されます。Amazonがスキルを公開しているすべての国か、特定の国や地域かを選択できます。公開範囲は言語に依存しません。その国や地域で一般的に話されている言語をサポートしていない場合でも公開できます。

スマートホームスキルはクラウドに接続されたデバイスを利用するため、スキルで使用するデバイスが利用可能かどうか、特定の国や地域で正常に機能するかどうかを考慮してください。