Nutzer von Android-Smartphones können Google Assistant per Sprachbefehl wie „Hey Google, sende das an Jane“ bitten, App-Inhalte mit anderen Nutzern zu teilen. Basierend auf den Systemoptionen des ersten Nutzers kann Assistant dann Text vom Bildschirm oder einen Screenshot des Geräts in die geteilten Inhalte einbinden.
Diese Freigabemethode ist oft ausreichend. Es kann jedoch sein, dass Nutzer, die von Ihrer App freigegebene Inhalte erhalten, die App nicht noch einmal aufrufen, um sich Inhalte anzusehen. Mit der Methode onProvideAssistContent()
können Sie für Assistant strukturierte Informationen zu den aktuellen Inhalten im Vordergrund bereitstellen.
Dieser Prozess trägt dazu bei, die Datenstruktur beizubehalten, wenn sie für andere Nutzer freigegeben wird. Nutzer, die geteilte App-Inhalte erhalten, können dann per Deeplink verknüpft werden oder Inhalte direkt statt als Text oder Screenshot erhalten.
Implementiere onProvideAssistContent()
für alle teilbaren entity
in deiner App.
Assistant Inhalte zur Verfügung stellen
Du musst onProvideAssistContent()
nur für die endgültige App-Aktivität im Aufgabenablauf des Nutzers implementieren, nachdem die App-Aktion aufgerufen wurde. Implementieren Sie beispielsweise in einem CREATE_MONEY_TRANSFER
-Ablauf die Methode im letzten Bildschirm, in dem der Beleg angezeigt wird. Sie müssen sie nicht für laufende oder Vorschaubildschirme implementieren.
Stelle Kontextinformationen als JSON-LD-Objekt mithilfe von Schema.org-Vokabular im Feld structuredData
von AssistContent
bereit. Das folgende Code-Snippet zeigt ein Beispiel für das Logging von kontextbezogenen Inhalten:
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(); }
Gib zu jedem entity
so viele Daten wie möglich an. Die folgenden Felder sind Pflichtfelder:
@type
.name
.url
(nur erforderlich, wenn der Inhalt URL-adressierbar ist)
Weitere Informationen zur Verwendung von onProvideAssistContent()
finden Sie unter Kontextinhalte für Assistant optimieren.