Assistant-Freigabe

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.

Assistant fügt bei entsprechender Aufforderung ein ausgewähltes Foto in eine Nachricht ein.
Abbildung 1: Assistant teilt ein Foto mit einem Kontakt.

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:

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();
}
      

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.