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.
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:
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() }
@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.