Assistant-Freigabe

Nutzer von Android-Smartphones können Google Assistant bitten, App-Inhalte für mit einem Sprachbefehl wie „Hey Google, sende das an Erika“. Basierend auf in den Systemoptionen des ersten Nutzers aktiviert, kann Assistant dann Text aus Bildschirm oder einen Geräte-Screenshot in den geteilten Inhalten.

Assistant fügt ein ausgewähltes Foto in eine Nachricht ein, wenn
            werden.
Abbildung 1: Assistant teilt ein Foto mit einem Kontakt.

Diese Methode des Teilens ist oft ausreichend, aber Nutzer, die Inhalte teilen, aus Ihrer App möglicherweise nicht noch einmal aufrufen, um Inhalte anzusehen. Sie können Assistant mit strukturierten Informationen zu den aktuellen Inhalten im Vordergrund von um die Methode onProvideAssistContent() zu implementieren.

Dieser Prozess hilft dabei, die Struktur der Daten aufrechtzuerhalten, wenn sie an eine andere Person weitergegeben werden Nutzer. Nutzer, die geteilte App-Inhalte erhalten, können per Deeplink verknüpft werden oder Inhalte direkt statt als Text oder Screenshot.

Implementiere onProvideAssistContent() für alle freigegebenen entity in deiner App.

Inhalte für Assistant bereitstellen

Für die endgültige App-Aktivität müssen Sie nur onProvideAssistContent() implementieren im Aufgabenablauf der Nutzenden nach dem Aufrufen der App Action. Implementieren Sie die Methode beispielsweise in einem GET_ITEM_LIST-Vorgang auf dem letzten Bildschirm, auf dem die Artikelliste angezeigt wird. Sie müssen sie nicht für in Bearbeitung befindliche oder Vorschaubildschirme implementieren.

Kontextinformationen als JSON-LD-Objekt angeben unter Verwendung des schema.org-Vokabulars in den Feld structuredData von AssistContent. 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();
}
      

Geben Sie so viele Daten wie möglich zu jedem entity an. Die folgende Felder sind Pflichtfelder:

  • @type
  • .name
  • .url (nur erforderlich, wenn die Inhalte URL-adressierbar sind)

Weitere Informationen zur Verwendung von onProvideAssistContent() finden Sie in der Leitfaden zum Optimieren von kontextbezogenen Inhalten für Assistant