Przeczytaj

Czytaj. Jest to dostępna na urządzeniach z Androidem funkcja Asystenta Google, która umożliwia użytkownikom czytanie długich treści internetowych, takich jak artykuły z wiadomościami i posty na blogu. Użytkownicy mogą powiedzieć na przykład „OK Google, przeczytaj to”, aby aplikacja mogła na głos czytać treści internetowe, wyróżniać czytane słowa i przewijać stronę automatycznie. Aby dowiedzieć się więcej o tej funkcji, możesz też przeczytać posta o aktualizacjach usługi Read It.

Gdy aplikacja pojawi się na ekranie, aplikacja z pomocą Asystenta Google odczytuje na głos treści internetowe wyświetlane na ekranie.
Rysunek 1. Słuchanie przez aplikację treści internetowych na głos.

Aplikacje na Androida z treściami internetowymi mogą obsługiwać czytanie, przesyłając informacje do Asystenta za pomocą metody onProvideAssistContent().

Pomaga to zachować strukturę danych udostępnianych Asystentowi. Użytkownicy otrzymujący udostępnione treści w aplikacji mogą dzięki temu mieć precyzyjny link lub otrzymywać treści bezpośrednio zamiast w formie tekstu lub zrzutu ekranu.

Zaimplementuj onProvideAssistContent() w przypadku wszystkich treści internetowych i tych, które można udostępniać w aplikacji entity.

Przesyłanie treści Asystentowi

Aby aplikacja mogła odczytać treść, musi ona dostarczyć Asystentowi informacje o treściach takie jak identyfikator URI internetowy oraz podstawowe informacje o kontekście. Asystent może pobrać treść i odczytać na głos użytkownikowi.

W przypadku aplikacji na Androida, które już implementują treści internetowe za pomocą komponentów WebView lub kart niestandardowych Chrome, jako punktu wyjścia użyj tych samych internetowych identyfikatorów URI dla funkcji Odczytaj.

W przypadku połączenia funkcji „Odczytaj” z wbudowanymi intencjami wystarczy zaimplementować onProvideAssistContent() tylko w przypadku ostatniej aktywności w ramach przepływu zadań użytkownika po jej wywołaniu.

Jeśli np. aplikacja wyświetla artykuły informacyjne, zaimplementuj funkcję onProvideAssistContent() na ostatnim ekranie z artykułem. Nie musisz jej implementować na żadnym ekranie, który jest w toku ani na ekranie podglądu.

Podaj internetowy identyfikator URI treści w polu uri w AssistContent. Podaj informacje kontekstowe w postaci obiektu JSON-LD przy użyciu słownika schema.org w polu structuredData.

Ten fragment kodu pokazuje przykład udostępniania treści Asystentowi:

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

Implementując onProvideAssistContent(), podaj jak najwięcej danych o każdym elemencie entity. Te pola są wymagane:

  • @type
  • .name
  • .url (wymagany tylko wtedy, gdy treść jest adresowana za pomocą adresu URL)

Więcej informacji o korzystaniu z onProvideAssistContent() znajdziesz w przewodniku Optymalizowanie treści kontekstowych w Asystencie w dokumentacji dla programistów aplikacji na Androida.