アシスタントのリンク

アクションの特定のインテントに直接リンクする URL を生成できます。ユーザーがウェブブラウザまたはモバイル ブラウザでアシスタント リンク(旧称「アクション リンク」)をクリックすると、デバイス上のアシスタントに移動し、アクションを直接操作します。

アシスタント リンクはディレクトリ ウェブリンクとは異なります。ディレクトリ ウェブリンクは、アシスタント ディレクトリにあるアクションのページにユーザーを誘導します。

アシスタント リンクは、次のような場合に役立ちます。

  • ハウツー ウェブサイトから音声ガイド付きの手順にユーザーをリンクする。
  • ヘルプページからカスタマー サポートにユーザーを誘導する。
  • ユーザーをアップデート インテントにリンクして、今後のアップデートにオプトインできるようにする。

アシスタント リンクは、Actions Console のプロジェクト内から生成できます。アシスタント リンクは、すべてのデプロイ チャンネル(アルファ版、ベータ版、本番環境)で使用できます。たとえば、アクションのアルファ版リリースでアシスタント リンクが有効になっている場合、アルファ版テスターはそのリンクを利用できます。

アクションの URL を生成する手順は次のとおりです。

  1. Actions Console で、[Deploy] > [Assistant links] に移動し、
  2. [Intent(インテント)] で、リンクを生成するインテントを選択します。
  3. [intent_name のリンクを有効にしますか?] オプションを有効にします。
  4. (省略可)[キャンペーン パラメータ] セクションで、リンクで追加で取得する情報を URL パラメータとして入力します。
  5. (省略可)[リンクのタイトル] を入力します。このタイトルで、アクションの内容を説明します。たとえば、ユーザーがコンサートのチケットを購入するためにトランザクション フローを実行するアクションの場合、リンクのタイトルを「コンサートのチケットを購入」にできます。

情報を入力したら、アシスタント リンク用に生成された URL または生成されたコード スニペットを表示し、コピーできます。このアクションにユーザーを誘導する場所は、どこでもアシスタント リンクを使用してください。

シミュレータまたはデバイスで、任意のインテント(メインまたはカスタム、パラメータの有無にかかわらず)のアシスタント リンクをテストできます。

デバイスでアシスタント リンクをテストする手順は次のとおりです。

  1. Actions Console でアシスタント リンクを生成します。
  2. アシスタントのリンクを、メールやチャット メッセージなどの形式で、自分自身への URL として送信します。
  3. アシスタント搭載デバイスで、Actions プロジェクトの作成に使用したアカウントでアシスタントにログインします。
  4. 同じデバイスで、自分宛てに送信されたアシスタント リンクをクリックします。

アシスタント リンクが想定どおりに機能することを確認したら、アクションを再デプロイしてユーザーがリンクを利用できるようにする必要があります。

アシスタント リンクには、必要に応じて URL にインテントとパラメータを含めることができます。キャンペーン パラメータを追加するには、[キャンペーン パラメータ] 欄を使用します。

アシスタント リンクに追加パラメータが含まれていない場合、Google アシスタントはアクションの MAIN インテント(actions.intent.MAIN)に次の動作でリンクします。

  • アシスタント リンクで MAIN インテントを明示的に有効にしなかった場合、アシスタントはパラメータなしでメイン インテントを照合します。これは「app_name と話したい」の動作と同様です。
  • MAIN インテントを明示的に有効にした場合、アシスタントはパラメータをアクションに渡します。

以下に、MAIN インテントを使用して、パラメータを追加しないアシスタント リンク URL の例を示します。

https://assistant.google.com/services/invoke/uid/000000d139bbc4d4

アシスタント リンクの URL の一般的な構文は次のとおりです。

https://assistant.google.com/services/invoke[/$action_id][?intent=$intent&param.$param=$value][&$utm_param=$utm_value]

設定可能な URL パラメータの説明を次の表に示します。

URL パラメータ 説明
$action_id アクションの数値 ID。
$intent 組み込みインテントまたはユーザー インテントの完全な名前。
$param アクション パッケージで指定されたインテント パラメータの完全な名前。
$value アクション パッケージで $param に対して宣言された型の URL エンコード値。
$utm_param 1 つ以上の UTM パラメータ型を含むリスト。有効な値は、utm_sourceutm_mediumutm_campaignutm_termutm_content です。
$utm_value UTM パラメータの文字列値。

アシスタント リンクに組み込みインテントが含まれている場合(インテントが actions.intent. で始まる場合)、Google アシスタントは URL 内の組み込みインテント パラメータを抽出し、アクションに渡します。アシスタントが組み込みインテント パラメータとして認識しないパラメータは削除されます。

会話型アクションの場合、アシスタントはこれらのパラメータを AppRequest メッセージの一部としてフルフィルメントに送信します。

次の例は、単一のインテント パラメータを持つ組み込みインテントを含むアシスタント リンク URL を指定する方法を示しています。

https://assistant.google.com/services/invoke/uid/0000008ddd7eabec?intent=actions.intent.PLAY_GAME&param.name=%22ExampleGame%22

ユーザー インテントの場合、Google アシスタントは、アクションがインテントの一部として定義したパラメータのみを抽出し、それ以外のパラメータは破棄します。

次の例は、ユーザー インテントを含むアシスタント リンク URL を指定する方法を示しています。

https://assistant.google.com/services/invoke/uid/0000001f575305a0?intent=NEWS_UPDATE_DEEP_LINK&param.topic=sports

上記の URL の例では、アシスタントは AppRequest に次のような JSON オブジェクトを追加します。

argument {
  name: 'topic',
  raw_text: 'sports',
  text_value: 'sports',
}

UTM パラメータは、ユーザーがアシスタント リンクをクリックした際に Google アシスタントがアクションに送信する文字列です。これらの文字列に含まれる情報は、後で分析に使用できます。

Google アシスタントがアクションに送る UTM パラメータには以下のものがあります。

  • utm_source
  • utm_medium
  • utm_campaign
  • utm_term
  • utm_content

次の例は、UTM パラメータを含むアシスタント リンク URL を指定する方法を示しています。

https://assistant.google.com/services/invoke/uid/000000d139bbc4d4?utm_source=Google&utm_medium=email&utm_campaign=holiday+sale

上記の URL の例では、アシスタントは AppRequest メッセージに次の引数を追加します。

argument {
  name: 'utm_source',
  raw_text: 'Google',
  text_value: 'Google',
}
argument {
  name: 'utm_medium',
  raw_text: 'email',
  text_value: 'email',
}
argument {
  name: 'utm_campaign',
  raw_text: 'holiday sale',
  text_value: 'holiday sale',
}

リッチなアシスタント リンクは、Assist.js を使用してウェブサイトでアクションを見つけやすくするための手段です。ユーザーはアクションを試すことも、アカウント リンクを使用して Google アカウントをサービスにリンクすることもできます。

ユーザーがウェブサイトにアクセスすると、「Google アシスタントで試す」ボタンが表示され、リッチ アシスタントのリンクフローがトリガーされます。

アクションのアカウント リンクを有効にすると、ユーザーはアシスタント搭載デバイスのいずれかからアクションにアクセスできます。また、ニュース メディアのサービスにある自分のアカウントを Google アカウントにリンクして、高度にパーソナライズされたエクスペリエンスを実現できます。

アカウントのリンクと併用する場合、リッチ アシスタント リンクは承認 URL を使用します。この URL は、Actions Console のプロジェクトに設定されています。詳しくは、アカウントのリンクに関するドキュメントをご覧ください。

前提条件

リッチ アシスタント リンクを使用するには、次のものが必要です。

ローカルでの開発

リッチなアシスタント リンクをウェブサイトに含める手順は次のとおりです。

  1. ページに次の JavaScript ライブラリを追加します。<PROJECT_ID> は Actions プロジェクト ID に置き換えます。

    <script async
    src="https://actions.google.com/api/assist.js?projectId={PROJECT_ID}&dev=true">
    </script>
    
  2. 次の HTML タグをページのどこかに追加します。これにより、インラインの [Google アシスタントで試す] ボタンが読み込まれます。

    <google-assistant-link-group>
      <!-- One or more <google-assistant-link> tags -->
      <google-assistant-link href="{ASSISTANT_LINK_1}">
      </google-assistant-link>
      <google-assistant-link href="{ASSISTANT_LINK_2}">
      </google-assistant-link>
    </google-assistant-link-group>
    

プロアクティブなトリガー

ユーザーが初めてページにアクセスしたときにアシスタントのリッチなリンクフローが自動的に開始されるようにするには、<google-assistant-proactive-link> タグを使用します。このタグを適用すると、ユーザーがインライン ボタンを選択しなくても、初回アクセス時にリンクが有効になります。

  1. アシスタント リンクグループタグに id を追加します。

    <google-assistant-link-group id="my-group">
      <!-- One or more <google-assistant-link> tags -->
      <google-assistant-link href="{ASSISTANT_LINK_1}">
      </google-assistant-link>
      <google-assistant-link href="{ASSISTANT_LINK_2}">
      </google-assistant-link>
    </google-assistant-link-group>
    
  2. ウェブページに <google-assistant-proactive-action-link> タグを配置して、groupId 属性を id に設定します。

    <google-assistant-link-group id="my-group">
      <!-- One or more <google-assistant-link> tags -->
      <google-assistant-link href="{ASSISTANT_LINK_1}">
      </google-assistant-link>
      <google-assistant-link href="{ASSISTANT_LINK_2}">
      </google-assistant-link>
    </google-assistant-link-group>
    
    <google-assistant-proactive-link
    groupId="my-group">
    </google-assistant-proactive-link>
    

デプロイ

リッチ アシスタント リンクは、ご自身が所有し、Google で確認されたドメインでのみ利用できます。ローカルで開発する場合、Actions プロジェクトにアクセスできること、Google アカウントにログインし、スクリプトタグに dev=true クエリ パラメータを設定することで、この要件を回避できます。

  <script async
    src="https://actions.google.com/api/assist.js?projectId={PROJECT_ID}&dev=true">
  </script>

リッチなアシスタント リンクを使用してアクションをデプロイするには:

  1. Actions Console の [Deploy] > [Brand Verification] > [Connect Site] でパブリック ドメインを登録します。
  2. スクリプトから dev=true クエリ パラメータを削除します。

    <script async
    src="https://actions.google.com/api/assist.js?projectId={PROJECT_ID}">
    </script>
    

制限事項とベスト プラクティス

アシスタント リンクの URL をディレクトリや他の Google サービスの外部で配布して参照できるようにするため、以下の制限とベスト プラクティスが適用されます。

  • すべてのアシスタント リンクを引き続きサポートします。配布したアシスタントのリンクが後で壊れると、Actions プロジェクトが異常であると判断され、削除される場合があります。
  • リンクを公開するということは、信頼できないソースからの呼び出しをサポートすることを意味します。リンクされたアクションについては、実際の操作を行う前に、ユーザーに明示的に確認する必要があります。たとえば、スマートホーム アプライアンスをオフにするアクションでは、ユーザーに「$applianceName をオフにしてもよろしいですか?」というメッセージを表示する必要があります。

    ここでの実際のアクションとは、ユーザーのサービス、データ、デバイス、ネットワーク、コンピュータ、API に影響する任意のアクションを指します。たとえば、メールの送信、取引の実行、スマートホーム アプライアンスのステータスの変更、定期購入の作成、コンテンツの更新などが該当します。