Google Home デベロッパー センターにようこそ。スマートホーム アクションの開発方法を学ぶことができます。注: アクションの作成は、引き続き Actions Console で行います。

インテント

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

スマートホーム インテントは、何を説明するかを説明するシンプルなメッセージ オブジェクトです。 smart home Action to perform such as turn on a light or cast audio to a speaker.

すべての smart home インテントは action.devices 名前空間に含まれており、フルフィルメントを提供する必要があります。いつでも Google Assistant sends an intent to fulfillment, a user's third-party OAuth 2 access token is passed in the Authorization header.

サポートされている smart home インテントは次のとおりです。

SYNC

action.devices.SYNC インテントは、ユーザーが接続して使用できる smart home デバイスのリストをリクエストするために使用します。

ユーザーが Google Home app (GHA) , they also get authenticated to your cloud infrastructure. Then, Assistant receives an OAuth2 token. At this point, Assistant sends a action.devices.SYNC intent to your fulfillment to retrieve the initial list of user devices and capabilities from your cloud infrastructure. でデバイスをセットアップした場合

この図は、Google インフラストラクチャとパートナー インフラストラクチャ間のデータのやり取りを示しています。Google インフラストラクチャから、アシスタント クライアント アプリで使用できるパートナーのリストがパートナー インフラストラクチャに渡されて、OAuth 認証が行われます。パートナー側の OAuth 認証は、パートナー セットアップ WebView、OAuth WebView、オプションの設定と期間、パートナー クラウド サービスです。認証が完了すると、パートナー インフラストラクチャからアシスタント クライアント アプリに OAuth 認証情報が返されます。パートナー クラウド サービスから、使用可能なデバイスと機能がアシスタント サービスに送信され、その情報がホームグラフに保存されます。
図 1: Google とパートナー インフラストラクチャの連携

ユーザーのアカウントのリンクを解除して再リンクしないようにするには、Assistant にリクエスト同期を送信します。これにより、action.devices.SYNC インテントがフルフィルメントに送信され、デバイスと機能のリストが同期されます。詳細については、Request Sync の実装をご覧ください。

SYNC インテントのフロー図
図 2: 同期インテント

ローカル フルフィルメントの設定中に、ローカルホーム プラットフォームが smart home アクションのクラウド フルフィルメントからの SYNC レスポンスを確認します。ローカル フルフィルメントをサポートするように SYNC レスポンスを変更する方法については、クラウド フルフィルメントで SYNC レスポンスを更新するをご覧ください。

クエリ

action.devices.QUERY インテントは、smart home デバイスの現在の状態をクエリするために使用します。

ユーザーがデバイスのステータスを照会すると、「OK Google, キッチンのどのライトが点灯してる?」などの質問に回答します。Assistant は、action.devices.QUERY インテントをフルフィルメントに送信します。

QUERY インテントのフロー図
図 3: クエリ インテント

優れたユーザー エクスペリエンスを実現するには、Report State を実装してユーザーのデバイスの現在の状態を事前に Google Home Graph . For example, this lets Assistant know if your user turned on a smart light with a physical light switch. に直接報告する必要があります。

Report State を使用したデバイスの状態の報告
図 4: デバイスの状態を報告する

EXECUTE

action.devices.EXECUTE インテントは、smart home デバイスで実行するコマンドを提供するために使用されます。

ユーザーが Assistant でデバイスにコマンドを送信すると、フルフィルメントは、アクションとアクションを実行するデバイスを示す action.devices.EXECUTE インテントをフルフィルメントに送信します。ユーザーは、「OK Google, リビングの照明をつけて」などのコマンドでデバイスでアクションを実行できます。

EXECUTE インテントのフロー図
図 5: 実行インテント

接続解除

action.devices.DISCONNECT インテントは、ユーザーが Assistant からアプリ アカウントのリンクを解除したときに通知されるようにトリガーされます。action.devices.DISCONNECT インテントを受け取った後は、このユーザーのデバイスの状態を報告しないでください。