Condivisione con l'assistente

Gli utenti di smartphone Android possono chiedere all'Assistente Google di condividere i contenuti dell'app con a un altro utente usando un comando vocale come "Hey Google, invia questo a Jane". 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.

Spesso questo metodo di condivisione è sufficiente, ma gli utenti che ricevono contenuti condivisi dalla tua app potrebbero non accedere di nuovo all'app per visualizzarli. 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é sotto forma di 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 un GET_ITEM_LIST flusso, implementa il metodo nella schermata finale che mostra l'elenco di articoli. Non è necessario implementarlo per le schermate in corso o 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 registrazione dei contenuti contestuali:

Kotlin
override fun onProvideAssistContent(outContent: AssistContent) {
    super.onProvideAssistContent(outContent)

    // JSON-LD object based on Schema.org structured data
    outContent.structuredData = JSONObject()
            .put("@type", "ItemList")
            .put("name", "My Work items")
            .put("url", "https://my-notes-and-lists.com/lists/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", "ItemList")
          .put("name", "My Work items")
          .put("url", "https://my-notes-and-lists.com/lists/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 la guida Ottimizzazione dei contenuti contestuali per l'assistente.