Condivisione con l'assistente

Gli utenti che utilizzano smartphone Android possono chiedere all'Assistente Google di condividere i contenuti dell'app con un altro utente utilizzando un comando vocale come "Hey Google, invia questo a Giovanna". In base alle opzioni di sistema del primo utente, l'assistente può incorporare il testo dello schermo o uno screenshot del dispositivo nei contenuti condivisi.

L'assistente inserisce una foto selezionata in un messaggio quando
            richiesto.
Figura 1. L'assistente condivide una foto con un contatto.

Questo metodo di condivisione è spesso sufficiente, ma gli utenti che ricevono contenuti condivisi dalla tua app potrebbe non rientrare nell'app per visualizzare i contenuti. Puoi fornire Assistente con informazioni strutturate sugli attuali contenuti in primo piano tramite implementando il metodo onProvideAssistContent().

Questo processo consente di mantenere la struttura dei dati quando vengono condivisi con un altro utente. Gli utenti che ricevono contenuti dell'app condivisi possono essere collegati tramite link diretti o ricevere i contenuti direttamente, anziché come testo o screenshot.

Implementa onProvideAssistContent() per qualsiasi tipo di condivisione entity nella tua app.

Fornisci contenuti all'assistente

Devi implementare onProvideAssistContent() solo per l'attività finale dell'app nel flusso di attività dell'utente dopo aver richiamato l'Azione app. Ad esempio, in una Flusso GET_ITEM_LIST, implementa il metodo nella schermata finale che mostra l'elenco degli articoli; non occorre implementarlo per i modelli schermate di anteprima.

Fornisci informazioni contestuali come oggetto JSON-LD usando il vocabolario di schema.org nella Campo structuredData di AssistContent. Il seguente snippet di codice mostra un esempio di logging dei contenuti contestuali:

Kotlin
di Gemini Advanced.
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();
}
      

Fornisci il maggior numero possibile di dati su ogni entity. La i seguenti campi sono obbligatori:

  • @type
  • .name
  • .url (obbligatorio solo se i contenuti sono indirizzi URL)

Per scoprire di più sull'utilizzo di onProvideAssistContent(), consulta le Guida all'ottimizzazione dei contenuti contestuali per l'assistente.