Les utilisateurs de téléphones Android peuvent demander à l'Assistant Google de partager le contenu d'une application avec un autre utilisateur à l'aide d'une commande vocale, par exemple "Hey Google, envoie ça à Jeanne". Basés sur les options système du premier utilisateur, l'Assistant peut ensuite intégrer du texte l'écran ou une capture d'écran d'un appareil dans le contenu partagé.
Bien souvent, cette méthode de partage suffit, mais les utilisateurs qui reçoivent du contenu partagé depuis votre application n'ouvriront peut-être pas votre application à nouveau pour afficher le contenu envoyé. Vous pouvez fournir à l'Assistant des informations structurées sur le contenu actuel de premier plan en implémentant la méthode onProvideAssistContent()
.
Ce processus permet de maintenir la structure des données lors de leur partage avec un autre utilisateur. Les utilisateurs qui reçoivent du contenu d'application partagé peuvent ensuite recevoir un lien profond ou recevoir le contenu directement, plutôt que sous forme de texte ou de capture d'écran.
Implémentez onProvideAssistContent()
pour tout élément partageable
entity
dans votre application.
Fournir des contenus à l'Assistant
Il vous suffit d'implémenter onProvideAssistContent()
pour l'activité finale de l'application.
dans le flux de tâches de l'utilisateur après avoir appelé l'action dans l'application. Par exemple, dans un flux GET_ITEM_LIST
, implémentez la méthode dans l'écran final affichant la liste des éléments. Vous n'avez pas besoin de l'implémenter pour les écrans de progression ou d'aperçu.
Fournissez des informations contextuelles sous forme d'objet JSON-LD à l'aide du vocabulaire schema.org dans le champ structuredData
de AssistContent
. L'extrait de code suivant montre un exemple de journalisation de contenu contextuel :
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(); }
Fournissez autant de données que possible sur chaque entity
. La
Les champs suivants sont obligatoires:
@type
.name
.url
(obligatoire uniquement si le contenu est adressable par URL)
Pour en savoir plus sur l'utilisation de onProvideAssistContent()
, consultez la
guide Optimiser le contenu contextuel pour l'Assistant.