サポート終了に関するベスト プラクティス

このガイドでは、2023 年 6 月 13 日に非推奨となっている会話型アクションのユーザー メッセージと移行パスについて説明します。以下の領域をカバーしています。

  • 非推奨フェーズ: 現在のアクションとサポート終了後のアクションの仕組み。
  • 推奨されるメッセージ: アクションに追加する通知の候補。
  • 考えられる移行方法: サービス終了後もユーザーを維持できるようにするためのオプション。

事前対応のブログ投稿(省略可)

アクション、代理店、ビジネスは千差万別です。このガイドで推奨されているメッセージでアクションを更新したうえで、次のような一般的なユーザーの懸念に回答するブログ投稿を作成することを検討してください。

  • 移行の影響
  • エクスペリエンスが変更されるのはいつですか?
  • 同様の機能を引き続き利用するにはどうすればよいですか?

非推奨のお知らせに移行パスのオプションを含めることをおすすめします。投稿はメール、ニュースレター、ソーシャル メディアで共有できます。

非推奨フェーズ

次の表に、会話型アクションの現在の動作、廃止日以降の変更点、ユーザーに通知するための推奨される更新を示します。

サポート終了日(2023 年 6 月 13 日) サポート終了後
アクションの動作 既存の Action エクスペリエンス アクションの呼び出しが無効
おすすめのデベロッパー アップデート アクションに廃止に関する通知を追加(推奨事項 なし
Google の UX の更新 呼び出し時に、Google はテキスト読み上げ(TTS)通知を、廃止日以降は使用できなくなる可能性があります。 呼び出し時に Google は、このアクションが利用できなくなったことをユーザーに知らせる TTS を提供します。

サポートの終了前にアクションを無効にしなかった場合、そのアクションを呼び出したユーザーには Google 提供の TTS 通知が届きます。この通知の正確な文言は現在定義中ですが、最後の文言にはユーザー向けの移行情報は含まれません。

おすすめのメッセージ

廃止が迫っていることをユーザーに通知する最良の方法は、アクションが呼び出されるたびに通知することです。また、同様の機能への移行パスをお客様に伝えることもできます。

  • メッセージの目的: 今後の変更をユーザーに通知し、利用可能な移行オプションを知らせます。

  • メッセージの期間: サポート終了の 30 日前(2022 年 5 月 13 日~ 2022 年 6 月 13 日)前までにユーザーへの通知を開始します。

廃止されるクエリを処理する

サポート終了に関する質問に具体的に回答するには、次の推奨スクリプトを使用した新しいグローバル カスタム インテントを作成します。

  • dateAction Name をオフにします。詳しくは、 short link | migration path messageをご覧ください。」

Interactive Canvas

通知バナーが表示されているスマートディスプレイ。

アクションで Interactive Canvas を使用している場合は、キャンバスの読み込みページに次のサンプル文言を使用して通知バナーを追加します。

  • Action Namedate に OFF になります。詳しくは、shortlink url をご覧ください。」
  • Action Namemigration path message dateに電源が OFF になります。」

コミュニケーション(省略可)

既存のアクションを更新して、今後の変更をユーザーに通知することもできます。既存のアクション メッセージに非推奨通知の接尾辞を付けることを検討してください。

  • existing message。それに伴い、Action Namedateに (オフになる | シャットダウンする)予定だということをお伝えします。」
  • existing message。それから、Action Namemigration path dateに(オフになる | シャットダウンする)予定であることをお知らせしています。」

アクションが実装する可能性がある特別な機能に通知を追加することもできます。

  • ディープリンクの呼び出し: 情報提供用の基本カードを表示します(サンプル)。

  • Last prompt メッセージ: last prompt メッセージ(サンプル)は、次のいずれかのプロンプト タイプに追加できます。

    • 組み込みインテント(BII)です。Play ゲーム、ストーリーテリング、教育の各 BII で有効です。
    • ルーティンの提案。
    • ウェルカム メッセージ。
  • 終了プロンプト: 特別な last prompt メッセージ(サンプル)を終了プロンプト(actions.intent.CANCEL)に追加できます。

  • プッシュ通知: Action Builder または Dialogflow を使用して作成したプッシュ通知に、次の推奨文言を追加します。

    • Action Namedateにシャットダウンされます。詳しくは shortlink url をご覧ください。」
    • 「リマインダー。Action Namemigration path message date に OFF になります。

考えられる移行パス

会話型アクションから同様の移行パスがない場合もありますが、ユーザーのニーズと利用可能なデベロッパー リソースに基づいて、次のオプションを検討してください。

メディア コンテンツ

メディア アクションを使用すると、ユーザーは Google アシスタントでコンテンツを見つけ、アプリ内で直接コンテンツの再生を開始できます。次のサンプル メッセージを使用して、ユーザーがメディア アクションに移行できるようにサポートできます。

  • 「OK Google, Media Brand Name を再生して」と話しかければ、いつでもアクセスできます。
  • 「OK Google, Media Brand Name で『曲』を聴いて」と話しかければ、いつでも見つけられます」

メディア アクションは会話型アクションと異なります。

  • メディア アクションでは、ユーザーは 3P と直接「やり取り」するのではなく、アシスタントを介して 3P とやり取りします。
  • メディア アクションは会話型ではなく、「シングルショット」のクエリのみをサポートします。

Android アプリ

アシスタント App Actions は、ユーザーがアシスタントを使用して Android アプリを音声で起動し、操作できるようにする Android の機能です。次のようなサンプル メッセージを使用して、アプリのアクションについてユーザーに伝えることができます。

  • 「「OK Google, App Name を開いて」と話しかければ、いつでもすぐに見つかります。
  • 「OK Google, App NameBII と話しかけると、Android アプリを開くことができます。」
  • 「「OK Google, App Name を開いて」と話しかけると、Android アプリをインストールできます。

App Actions は、会話型アクションとは次のような違いがあります。

  • App Action BII でサポートされる言語と地域は限られています。
  • アプリ アクションを起動するには Android アプリが必要です。
  • スマートディスプレイは App Actions をサポートしていません。
  • App Actions は会話型ではなく、「シングルショット」のクエリのみをサポートします。

ハードウェア

Google スマートホームを使用すると、デベロッパーはアシスタントを使ってデバイスを音声で操作できます。スマートホーム アクションについて、以下のメッセージ例を使ってユーザーに伝えることができます。

  • device name を使用していつでもお問い合わせいただけます。store からお問い合わせいただけます」
  • 「Google Home アプリの device name から話しかけてください」

スマートホームは、会話型アクションと次の点が異なります。

  • スマートホームは対応デバイスにのみ追加できます。
  • スマートホームは会話型ではなく、「シングルショット」のクエリのみをサポートします。

チャット エージェント

chatbot を介したユーザーとの対話には、次のプロダクトが用意されています。

  • Dialogflow CX は、大規模で複雑なエージェント向けの高度なエージェント タイプを提供します。Dialogflow CX Phone Gateway、Dialogflow Messenger、Facebook の Messenger、LINE などとの統合が可能です。統合の完全なリストをご覧ください。
  • Dialogflow EX は、より小規模でシンプルなエージェントに適した標準タイプのエージェントを提供します。Slack、Telegram、LINE、Facebook の Messenger、Meta の Workplace などとの統合が可能です。統合の完全なリストをご覧ください。

次のメッセージ例を使用して、チャット エージェントについてユーザーに伝えることができます。

  • 「今後のサポートについては、support number にお電話ください。」
  • 「今後のサポートについては、Google のウェブサイト(short link url)をご覧ください。」
  • 「今後のフィードバックにつきましては、Company Name Slack チャンネルでチャットでお問い合わせください。」

チャット エージェント サービスには、会話型アクションと次のような相違点があります。

  • エージェントはスマートディスプレイではサポートされていません。
  • エージェントがアシスタントと統合することはできません。

カスタマーケア

chatbot、音声 bot、テレフォニーのヘルプデスクを使用して、顧客のニーズをより迅速に解決します。これらはすべて、Agent AssistCCAI Insights などの Contact Center AI サービスに組み込まれています。カスタマーケア オプションについて、次のメッセージ例を使ってユーザーに伝えることができます。

  • 今後のサポートについては、support number にお電話ください。」
  • 「今後のサポートについては、Google のウェブサイト(short link url)をご覧ください。」
  • 今後のフィードバックにつきましては、「会社名」の Slack チャンネルでチャットでお問い合わせください。」

カスタマーケア オプションは、会話型アクションとは次のような違いがあります。

  • スマートディスプレイでは利用できません。
  • アシスタントとの統合はできません。

ウェブサイト

広告主様は、ウェブサイトで提供される機能にユーザーを誘導できます。次のサンプル メッセージを使用して、ウェブ オプションについてユーザーに説明できます。

  • 「今後のサポートについては、Google のウェブサイト(short link url)をご覧ください。」

ウェブサイトには、会話型アクションと次の点が異なります。

  • スマートディスプレイはウェブサイトに対応していません。
  • ウェブサイトはアシスタントと直接統合できません

コードサンプル

これらのコードサンプルを使用して、会話型アクションの廃止に関連するレスポンスを作成します。

ベーシック カードの例

YAML

candidates:
  - first_simple:
    variants:
    - speech: >-
      We are turning off  on . For more details check out 
    text: >-
      We are turning off  on . For more details check out 
    content:
      card:
        title: Turning Off 
        subtitle: 
        text: >-
          `We are turning off  on . For more details check out .`
        button:
          name: Learn more
          open:
            url: 
    

JSON

{
  "candidates": [
    {
      "first_simple": {
        "variants": [
          {
            "speech": "We are turning off  on . For details, check out .",
            "text": "We are turning off  on . For details, check out ."
          }
        ]
      },
      "content": {
        "card": {
          "title": "Turning Off ",
          "subtitle": "",
          "text": "`We are turning off  on . For details, check out .`",
          "button": {
            "name": "Learn more",
            "open": {
              "url": ""
            }
          }
        }
      }
    }
  ]
}
      

Node.js

app.handle('Card', conv => {
  conv.add('We are turning off  on . For details, check out .');
  conv.add(new Card({
    "title": "Turning Off ",
    "subtitle": "",
    "text": "Card Content",
    "button": new Link({
      name: 'Learn more',
      open: {
          url: '',
        },
    })
  }));
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "session_id",
      "params": {}
    },
    "prompt": {
      "override": false,
      "content": {
        "card": {
          "title": "Turning Off ",
          "subtitle": "",
          "text": "We are turning off  on . For, details check out .",
          "button": {
            "name": "Learn more",
            "open": {
              "url": ""
            }
          }
        }
      },
      "firstSimple": {
        "speech": "We are turning off  on . For details, check out .",
        "text": "We are turning off  on . For details, check out ."
      }
    }
  }
}
      

最後のプロンプトの例

YAML

candidates:
  - first_simple:
      variants:
        - speech: 
          text: 
    last_simple:
      variants:
        - speech: Also, just reminding you that  will be turning off on 
          text: Also, just reminding you that  will be turning off on 

JSON

{
  "candidates": [
    {
      "first_simple": {
        "variants": [
          {
            "speech": "",
            "text": ""
          }
        ]
      },
      "last_simple": {
        "variants": [
          {
            "speech": "Also, just reminding you that  will be turning off on ",
            "text": "Also, just reminding you that  will be turning off on "
          }
        ]
      }
    }
  ]
}

Node.js

app.handle('Simple', conv => {
  conv.add(new Simple({
    speech: '',
    text: ''
  }));
  conv.add(new Simple({
    speech: 'Also, just reminding you that  will be turning off on ',
    text: 'Also, just reminding you that  will be turning off on '
  }));
});

JSON

{
  "responseJson": {
    "session": {
      "id": "session_id",
      "params": {}
    },
    "prompt": {
      "override": false,
      "firstSimple": {
        "speech": "",
        "text": ""
      },
      "lastSimple": {
        "speech": "Also, just reminding you that  will be turning off on ",
        "text": "Also, just reminding you that  will be turning off on "
      }
    }
  }
}

最後のプロンプト(終了/キャンセル)の例

YAML

candidates:
  - first_simple:
      variants:
        - speech: 
          text: 
    last_simple:
      variants:
        - speech: Also, just reminding you that  will be turning off on . Bye.
          text: Also, just reminding you that  will be turning off on . Bye.

JSON

{
  "candidates": [
    {
      "first_simple": {
        "variants": [
          {
            "speech": "",
            "text": ""
          }
        ]
      },
      "last_simple": {
        "variants": [
          {
            "speech": "Also, just reminding you that  will be turning off on . Bye.",
            "text": "Also, just reminding you that  will be turning off on . Bye."
          }
        ]
      }
    }
  ]
}

Node.js

app.handle('Simple', conv => {
  conv.add(new Simple({
    speech: '',
    text: ''
  }));
  conv.add(new Simple({
    speech: 'Also, just reminding you that  will be turning off on . Bye.',
    text: 'Also, just reminding you that  will be turning off on . Bye.'
  }));
});

JSON

{
  "responseJson": {
    "session": {
      "id": "session_id",
      "params": {}
    },
    "prompt": {
      "override": false,
      "firstSimple": {
        "speech": "",
        "text": ""
      },
      "lastSimple": {
        "speech": "Also, just reminding you that  will be turning off on . Bye.",
        "text": "Also, just reminding you that  will be turning off on . Bye."
      }
    }
  }
}