Google 助理分享

Android 手機使用者可以藉由語音指令,要求 Google 助理分享應用程式內容給其他使用者,例如「Ok Google,把這個傳送給 Jane」。根據第一位使用者的系統選項,Google 助理可以在分享內容當中加入螢幕上的文字或裝置螢幕截圖。

如有要求,Google 助理會在訊息內插入所選相片。
圖 1. Google 助理和聯絡人分享相片。

一般來說,這種分享方式就已經足夠,但是收到您應用程式分享內容的使用者可能不會重新進入應用程式查看內容。您可以實作 onProvideAssistContent() 方法,為 Google 助理提供目前前景內容的結構資訊。

此程序會與其他使用者共用資料,協助維持資料結構。如此一來,當使用者收到分享的應用程式內容時,就能使用深層連結或直接收到內容,而不是以文字或螢幕截圖的形式接收資料。

建議您為應用程式中任何可分享的 entity 實作 onProvideAssistContent()

提供內容給 Google 助理

您只需要在叫用應用程式動作後的使用者工作流程中,為最後的應用程式活動實作 onProvideAssistContent()。舉例來說,只需在 CREATE_MONEY_TRANSFER 流程中最後顯示收據的畫面實作這個方法,其他任何處理中或預覽的畫面都不需要。

AssistContentstructuredData 欄位中,使用 schema.org 詞彙JSON-LD 物件的形式提供背景資訊。以下程式碼片段範例可以記錄背景內容:

Kotlin
override fun onProvideAssistContent(outContent: AssistContent) {
    super.onProvideAssistContent(outContent)

    // JSON-LD object based on Schema.org structured data
    outContent.structuredData = JSONObject()
            .put("@type", "MenuItem")
            .put("name", "Blueberry Crisp Iced Signature Latte")
            .put("url", "https://mysite.com/menuitems/12345a")
            .toString()
}
      
Java
@Override
public void onProvideAssistContent(AssistContent outContent) {
  super.onProvideAssistContent(outContent);

  // JSON-LD object based on Schema.org structured data
  outContent.structuredData = new JSONObject()
          .put("@type", "MenuItem")
          .put("name", "Blueberry Crisp Iced Signature Latte")
          .put("url", "https://mysite.com/menuitems/12345a")
          .toString();
}
      

盡可能為每個 entity 提供最多相關資料。以下為必填欄位:

  • @type
  • .name
  • .url (只有在內容是可藉由網址存取時才是必填資訊)

如要進一步瞭解如何使用 onProvideAssistContent(),請參閱「為 Google 助理最佳化背景內容」指南。