Google 助理分享

Stay organized with collections Save and categorize content based on your preferences.

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(),請看 Android 開發人員文件的「為 Google 助理最佳化背景內容」指南。