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

一般來說,這種分享方式就已經足夠,但是收到您應用程式分享內容的使用者可能無法重新進入應用程式並檢視內容。您可以實作 onProvideAssistContent()
方法,為 Google 助理提供目前前景內容的結構資訊。
這樣做可以協助系統在分享資料給其他使用者時維持該資料的結構。如此一來,當使用者收到分享的應用程式內容時,即可使用深層連結或直接收到內容,而不是用文字或螢幕截圖的方式接收資料。
建議您為應用程式內所有可以分享的 entity
實作 onProvideAssistContent()
。
提供內容給 Google 助理
您只需要在叫用應用程式動作後的使用者任務流程中,為最後的應用程式活動實作 onProvideAssistContent()
。舉例來說,在 CREATE_MONEY_TRANSFER
流程中,您需要在最後顯示收據的畫面實作方法,其他任何處理中和預覽畫面都不需要實作。
在 AssistContent
的 structuredData
欄位中,使用 schema.org 詞彙以 JSON-LD 物件提供背景資訊。以下程式碼片段範例可以記錄背景內容:
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() }
@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 助理最佳化背景內容」指南。