Udostępnianie Asystenta

Użytkownicy telefonów z Androidem mogą prosić Asystenta Google o udostępnienie treści aplikacji innemu użytkownikowi, używając polecenia głosowego takiego jak „OK Google, wyślij to do Janiny”. W zależności od opcji systemowych pierwszego użytkownika Asystent może dodać do udostępnianej treści tekst z ekranu lub zrzut ekranu urządzenia.

Gdy Asystent o to poprosi, Asystent wstawi wybrane zdjęcie do wiadomości.
Rysunek 1. Asystent udostępnia zdjęcie kontaktu.

Ta metoda udostępniania często wystarcza, ale użytkownicy, którzy otrzymają treści udostępnione z Twojej aplikacji, mogą nie wrócić do aplikacji, by je wyświetlić. Możesz przekazać Asystentowi uporządkowane informacje o bieżących treściach na pierwszym planie, stosując metodę onProvideAssistContent().

Pomaga to zachować strukturę danych udostępnianych innemu użytkownikowi. Użytkownicy otrzymujący udostępnioną treść aplikacji mogą dzięki temu mieć precyzyjny link lub otrzymywać treści bezpośrednio, a nie w formie tekstu lub zrzutu ekranu.

Zaimplementuj onProvideAssistContent() w przypadku wszystkich elementów entity, które można udostępnić w swojej aplikacji.

Przesyłanie treści Asystentowi

Wystarczy, że zaimplementować onProvideAssistContent() w ostatniej aktywności w aplikacji w ramach przepływu zadań użytkownika po jej wywołaniu. Na przykład w ramach procesu CREATE_MONEY_TRANSFER zaimplementuj tę metodę na końcowym ekranie z potwierdzeniem zakupu – nie musisz jej implementować na żadnym ekranie, który jest w toku ani na ekranie podglądu.

Podaj informacje kontekstowe w postaci obiektu JSON-LD przy użyciu słownika schema.org w polu structuredData elementu AssistContent. Ten fragment kodu zawiera przykład rejestrowania treści kontekstowych:

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

Podaj jak najwięcej danych o każdym elemencie entity. Wymagane są te pola:

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

Więcej informacji o korzystaniu z usługi onProvideAssistContent() znajdziesz w przewodniku Optymalizowanie treści kontekstowych w przypadku Asystenta Google.