Leggimi questo

Leggi è una funzionalità dell'Assistente Google disponibile sui dispositivi Android che offre agli utenti un altro modo per leggere i contenuti web di lunga durata, come articoli e post del blog. Gli utenti possono dire ad esempio "Hey Google, leggilo" per chiedere a un'app di leggere ad alta voce i contenuti basati sul web, evidenziare le parole lette e far scorrere automaticamente la pagina. Per scoprire di più su questa funzionalità, puoi anche leggere il post sull'aggiornamento del prodotto Read It.

Quando richiesto, un'app legge ad alta voce i contenuti web sullo schermo con l'aiuto dell'Assistente Google.
Figura 1. Ascoltare un'app che legge i contenuti web ad alta voce.

Le app per Android con contenuti basati sul web possono supportare la funzionalità Read It fornendo informazioni all'assistente tramite il metodo onProvideAssistContent().

Questo processo consente di mantenere la struttura dei dati condivisi con l'assistente. Gli utenti che ricevono contenuti di app condivisi possono quindi utilizzare link diretti o ricevere i contenuti direttamente, anziché sotto forma di testo o screenshot.

Implementa onProvideAssistContent() per tutti i contenuti basati sul web e qualsiasi entity condivisibile nella tua app.

Fornisci contenuti all'assistente

Affinché Leggilo possa accedere ai tuoi contenuti, la tua app deve fornire all'assistente informazioni sui contenuti, ad esempio l'URI web e il contesto di base. L'assistente può quindi recuperare i tuoi contenuti da leggere ad alta voce all'utente.

Per le app Android che implementano già contenuti basati sul web tramite WebView o schede personalizzate di Chrome, utilizza gli stessi URI web della funzionalità Leggi come punto di partenza.

Se combini la funzionalità Read It con intent integrati, devi solo implementare onProvideAssistContent() per l'attività finale dell'app nel flusso di attività dell'utente dopo aver richiamato l'Azione app.

Ad esempio, se l'app mostra articoli di notizie, implementa onProvideAssistContent() nella schermata finale che mostra l'articolo; non è necessario implementarlo per le schermate in corso o di anteprima.

Fornisci un URI web per i tuoi contenuti nel campo uri di AssistContent. Fornisci informazioni contestuali come oggetto JSON-LD utilizzando il vocabolario di schema.org nel campo structuredData.

Il seguente snippet di codice mostra un esempio di fornitura di contenuti all'assistente:

Kotlin

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

    // Set the web URI for content to be read from a
    // WebView, Chrome Custom Tab, or other source
    val urlString = url.toString()
    outContent.setWebUri(Uri.parse(urlString))

    // Create JSON-LD object based on schema.org structured data
    val structuredData = JSONObject()
        .put("@type", "Article")
        .put("name", "ExampleName of blog post")
        .put("url", outContent.getWebUri())
        .toString()
    outContent.setStructuredData(structuredData)
}

Java

@Override
public void onProvideAssistContent(AssistContent outContent) {

  // Set the web URI for content to be read from a
  // WebView, Chrome Custom Tab, or other source
  String urlString = url.toString();
  outContent.setWebUri(Uri.parse(urlString));

  try {
      // Create JSON-LD object based on schema.org structured data
      String structuredData = new JSONObject()
          .put("@type", "Article")
          .put("name", "ExampleName of blog post")
          .put("url", outContent.getWebUri())
          .toString();
      outContent.setStructuredData(structuredData);
  } catch (JSONException ex) {
      // Handle exception
      Log.e(TAG, ex.getMessage());
  }

  super.onProvideAssistContent(outContent);
}

Quando implementi onProvideAssistContent(), fornisci quanti più dati possibile su ogni entity. I seguenti campi sono obbligatori:

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

Per scoprire di più sull'utilizzo di onProvideAssistContent(), consulta la guida Ottimizzazione dei contenuti contestuali per l'assistente nella documentazione per gli sviluppatori Android.