Los usuarios de teléfonos Android pueden pedirle al Asistente de Google que comparta contenido de la app con otro usuario a través de un comando por voz, como "Hey Google, envíale esto a Jane". Según las primeras opciones del sistema del usuario, Asistente puede incorporar texto de la pantalla o una captura de pantalla del dispositivo en el contenido compartido.
Este método de uso compartido suele ser suficiente, pero es posible que los usuarios que reciben contenido compartido de la app no vuelvan a ingresar a ella para ver el contenido. Puedes brindarle al Asistente información estructurada sobre el contenido actual en primer plano si implementas el método onProvideAssistContent()
.
Este proceso ayuda a mantener la estructura de datos a la vez que se comparte con otro usuario. Los usuarios que reciben contenido compartido de la app pueden recibir vínculos directos o el contenido directamente, en lugar de hacerlo como texto o como captura de pantalla.
Implementa onProvideAssistContent()
para cualquier entity
que se pueda compartir en la app.
Proporciona contenido al Asistente
Solo debes implementar onProvideAssistContent()
para la actividad final en la app en el flujo de tareas del usuario después de invocar la Acción en la app. Por ejemplo, en una
GET_ITEM_LIST
, implementa el método en la pantalla final
mostrar la lista de elementos; no necesitas implementarlo para ninguna tarea en curso
pantallas de vista previa.
Proporciona información contextual como un objeto JSON-LD con vocabulario de schema.org en el campo structuredData
de AssistContent
. En el siguiente fragmento de código, se muestra un ejemplo de registro de contenido contextual:
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(); }
Proporciona la mayor cantidad de datos posible sobre cada entity
. Los siguientes campos son obligatorios:
@type
.name
.url
(es obligatorio solo si el contenido es direccionable a una URL)
Para obtener más información sobre el uso de onProvideAssistContent()
, consulta la guía Cómo optimizar el contenido contextual de Asistente.