SDK de Engage: Otras verticales: Instrucciones de integración técnica de terceros

Google está compilando una plataforma integrada en el dispositivo que organiza las apps de los usuarios por verticales y que permite ofrecer una nueva experiencia envolvente para el descubrimiento y el consumo de contenido personalizado en las apps. Esta experiencia de pantalla completa brinda a los socios desarrolladores la oportunidad de mostrar su mejor contenido enriquecido en un canal dedicado fuera de su app.

Este documento contiene instrucciones para que los socios desarrolladores integren nuevas como reservas, eventos, alojamiento, lugares de interés, personas y otros contenido. que podrían no pertenecer a ninguna de estas categorías mediante el SDK de Engage para rellenar esta nueva área de superficie.

Información detallada sobre la integración

Terminología

Esta integración incluye los siguientes tres tipos de clústeres: Recommendation, Featured y Continuation.

  • En los clústeres de Recommendation, se muestran sugerencias personalizadas de una persona. socio desarrollador. Es una vista de la IU que contiene un grupo de recomendaciones. del mismo socio desarrollador.

    • ArtículoEntity: ArtículoEntity que representa una entidad de texto recomendación para contenido que es relevante para más de una categoría de contenido. ArticleEntity permite que los desarrolladores proporcionen una variedad de el contenido de imágenes y texto con más metadatos para articular la información con los usuarios, en comparación con GenericFeaturedEntity. P. ej.: contenido de marketing, Fragmento de noticias

      Figura 1: IU que muestra un solo ArticleEntity en Recomendaciones clúster.
    • EventEntity: EventEntity representa un evento que se lleva a cabo en el en el futuro. La hora de inicio del evento es un dato fundamental debe transmitirse a los usuarios.

      Figura 2: IU que muestra una sola EventEntity en Clúster de recomendaciones.
    • LogingEntity: LodgingEntity representa un alojamiento, como como hotel, departamento o casa de vacaciones a corto y largo plazo alquiler.

      Figura 3: IU que muestra una sola LodgingEntity en el clúster de Recomendaciones.
    • StoreEntity: StoreEntity representa una tienda, un restaurante, una cafetería. Destaca contenido en el que un restaurante o una tienda pieza crítica de información que se debe transmitir al usuarios.

      Figura 4: IU que muestra una sola StoreEntity en Clúster de recomendaciones.
    • PointOfInterestEntity: PointOfInterestEntity representa un como una gasolinera, lugar de eventos, parque temático museo, atracción turística, sendero, etc. Destaca el contenido en las que la ubicación es un dato fundamental que se debe de transmitir a los usuarios. No debe usarse para alojamiento, tiendas un comedor.

      Figura 5: IU que muestra un solo PointOfInterestEntity en el clúster de Recomendaciones.
    • PersonEntity: PersonEntity representa a una persona. Las recomendaciones podría ser destacar a una persona en categorías como salud y fitness, deportes, citas, etc.

      Figura 5: IU que muestra una sola PersonEntity en Clúster de recomendaciones.
  • El clúster de Continuation muestra el contenido que interactuaron recientemente los usuarios desde varios socios desarrolladores en una sola agrupación de IU. Cada socio desarrollador podrán transmitir un máximo de 10 entidades en la interfaz de Continuation clúster.

    Tu contenido de continuación puede tener la siguiente estructura:

    • ArtículoEntity: ArtículoEntity que representa una entidad de texto recomendación para contenido que es relevante para más de una categoría de contenido. Esta entidad se puede utilizar para representar noticias sin terminar artículos u otro contenido que el usuario quiera seguir consumiendo desde donde lo dejaron. P. ej.: Contenido de marketing, fragmento de noticias

      Figura 6: IU que muestra un solo ArticleEntity un clúster de Continuation.
    • RestaurantReservationEntity: RestaurantReservationEntity representa una reserva en un restaurante o cafetería y ayuda a los usuarios a realizar un seguimiento reservas en restaurantes en curso.

      Figura 7: IU que muestra un solo RestaurantReservationEntity dentro de un clúster de Continuation
    • EventReservationEntity: EventReservationEntity representa un una reserva para un evento y ayuda a los usuarios a hacer un seguimiento de los eventos reservas de eventos. Los eventos pueden incluir, entre otros, los lo siguiente:

      • Eventos deportivos, como la reserva de un partido de fútbol
      • Eventos de videojuegos, como reservas de deportes electrónicos
      • Eventos de entretenimiento, como reserva de películas en un cine concierto, teatro, firma de libros
      • Reservas de viajes o lugares de interés como visitas guiadas, museos entradas
      • Reservas sociales / seminarios / conferencias
      • Reservas para las sesiones de educación o capacitación
      Figura 8: IU que muestra un solo EventReservationEntity dentro de un clúster de Continuation
    • LogingReservationEntity: LodgingEntityReservation representa un una reserva de alojamiento y ayuda a los usuarios a realizar un seguimiento reservas continuas de hoteles o alquileres de vacaciones.

      Figura 9: IU que muestra un solo LogingReservationEntity dentro de un clúster de Continuation
    • TransportationReservationEntity: TransportationReservationEntity representa una reserva de transporte en cualquier medio y ayuda a los usuarios hacer un seguimiento de las reservas de vuelos, ferris, trenes o autobuses próximos o en curso. transporte privado a pedido o crucero.

      Figura 10: IU que muestra un solo TransportationReservationEntity dentro de un clúster de Continuation
    • VehicleRentalReservationEntity: VehicleRentalReservationEntity representa una reserva de alquiler de vehículos y ayuda a los usuarios a realizar un seguimiento o reservas en curso de alquiler de vehículos.

      Figura 11: IU que muestra un solo VehicleRentalReservationEntity dentro de un clúster de Continuation
  • El clúster de Featured es una vista de la IU que muestra el hero elegido. GenericFeaturedEntity de muchos socios desarrolladores en una agrupación de IU. Hay un solo clúster de Featured, que aparecerá cerca de la parte superior de la IU, con una ubicación de prioridad por sobre todos los clústeres de Recommendation Cada el socio desarrollador puede transmitir una sola entidad de un escribe Featured, con muchas entidades (posiblemente de diferentes tipos) de varios desarrolladores de apps en el clúster de Featured.

    • GenericFeaturedEntity: GenericFeaturedEntity es diferente de El elemento de recomendación en ese elemento destacado debe usarse para una sola principal contenido de los desarrolladores y debería representar el único importante que sea interesante y relevante para los usuarios.

      Figura 12: IU que muestra un solo héroe Tarjeta GenericFeaturedEntity dentro de un clúster de Featured
      .

Trabajo previo

Nivel de API mínimo: 19

Agrega la biblioteca com.google.android.engage:engage-core a tu app:

dependencies {
    // Make sure you also include that repository in your project's build.gradle file.
    implementation 'com.google.android.engage:engage-core:1.5.2'
}

Resumen

El diseño se basa en la implementación de un servicio vinculado.

Los datos que un cliente puede publicar están sujetos a los siguientes límites para diferentes tipos de clústeres:

Tipo de clúster Límites del clúster Límites mínimos de entidades en un clúster Límites máximos de entidades en un clúster
Clústeres de Recommendation 5 como máximo 5 como mínimo 25 como máximo (ArticleEntity, EventEntity, LodgingEntity, StoreEntity PointOfInterestEntity o PersonEntity)
Clúster de Continuation 1 como máximo Una como mínimo 10 como máximo (ArticleEntity, EventReservationEntity: LodgingReservationEntity, TransportationReservationEntity o VehicleRentalReservationEntity).
Clúster de Featured 1 como máximo Una como mínimo 10 como máximo (GenericFeaturedEntity)

Paso 1: Proporciona los datos de la entidad

El SDK definió distintas entidades para representar cada tipo de elemento. Admitimos las siguientes entidades para la otra categoría:

  1. GenericFeaturedEntity
  2. ArticleEntity
  3. EventEntity
  4. LodgingEntity
  5. StoreEntity
  6. PointOfInterestEntity
  7. PersonEntity
  8. RestaurantReservationEntity
  9. EventReservationEntity
  10. LodgingReservationEntity
  11. TransportationReservationEntity
  12. VehicleRentalReservationEntity

En los gráficos siguientes, se describen los atributos y requisitos disponibles para cada tipo.

GenericFeaturedEntity

Atributo Requisito Descripción Formato
URI de acción Obligatorio

Vínculo directo a la entidad en la app del proveedor.

Nota: Puedes usar vínculos directos para la atribución. Consulta estas preguntas frecuentes

URI
Imágenes de pósteres Obligatorio

Solo mostraremos 1 imagen cuando se proporcionen varias. La relación de aspecto recomendada es 16:9.

Nota: Si se proporciona una insignia, asegúrate de tener un espacio seguro 24 dp en la parte superior e inferior de la imagen

Consulta la sección Especificaciones de imagen para obtener más información.
Título Opcional Es el título de la entidad.

Texto libre

Tamaño de texto recomendado: 50 caracteres

Descripción Opcional

Un solo párrafo de texto para describir la entidad

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado: 180 caracteres

Lista de subtítulos Opcional

Hasta tres subtítulos, cada uno con una sola línea de texto.

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado para cada subtítulo: máx. 50 caracteres

Insignias Opcional

Cada insignia puede ser texto libre (15 caracteres como máximo) o imagen pequeña.

Tratamiento especial de la UX por encima de la imagen o el video, por ejemplo, como insignia superponer la imagen

  • "Actualización en tiempo real"
  • Duración de la lectura del artículo
Insignia: Texto Opcional

Título de la insignia

Nota: Es obligatorio incluir texto o una imagen para la insignia.

Texto libre

Tamaño de texto recomendado: 15 caracteres como máximo

Insignia: Imagen Opcional

Imagen pequeña

Tratamiento especial de la UX, por ejemplo, como una insignia superpuesta en la imagen o el video miniatura.

Nota: Es obligatorio incluir texto o una imagen para la insignia.

Consulta la sección Especificaciones de imagen para obtener más información.
Categorías de contenido Opcional Describe la categoría del contenido de la entidad.

Lista de enums

Consulta la sección Categoría de contenido. para obtener orientación.

ArticleEntity

Atributo Requisito Descripción Formato
URI de acción Obligatorio

Vínculo directo a la entidad en la app del proveedor.

Nota: Puedes usar vínculos directos para la atribución. Consulta estas preguntas frecuentes

URI
Título Obligatorio Es el título de la entidad.

Texto libre

Tamaño de texto recomendado: 50 caracteres como máximo

Imágenes de pósteres Opcional

Solo mostraremos 1 imagen cuando se proporcionen varias. La relación de aspecto recomendada es 16:9.

Nota: Se recomienda subir imágenes. Si una insignia es asegúrate de tener un espacio seguro de 24 dps en la parte superior e inferior de imagen

Consulta la sección Especificaciones de imagen para obtener más información.
Fuente: título Opcional El nombre del autor, la organización o el denunciante

Texto libre

Tamaño de texto recomendado: Menos de 25 caracteres

Fuente: Imagen Opcional Una imagen de la fuente, como el autor, la organización o el reportero Consulta la sección Especificaciones de imagen para obtener más información.
Descripción Opcional

Un solo párrafo de texto para describir la entidad

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado: 180 caracteres

Lista de subtítulos Opcional

Hasta tres subtítulos, cada uno con una sola línea de texto.

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado para cada subtítulo: máx. 50 caracteres

Insignias Opcional

Cada insignia puede ser texto libre (15 caracteres como máximo) o imagen pequeña.

Tratamiento especial de la UX por encima de la imagen o el video, por ejemplo, como insignia superponer la imagen

  • "Actualización en tiempo real"
  • Duración de la lectura del artículo
Insignia: Texto Opcional

Título de la insignia

Nota: Es obligatorio incluir texto o una imagen para la insignia.

Texto libre

Tamaño de texto recomendado: 15 caracteres como máximo

Insignia: Imagen Opcional

Imagen pequeña

Tratamiento especial de la UX, por ejemplo, como una insignia superpuesta en la imagen o el video miniatura.

Nota: Es obligatorio incluir texto o una imagen para la insignia.

Consulta la sección Especificaciones de imagen para obtener más información.
Hora de publicación del contenido Opcional Esta es la marca de tiempo de época, en milisegundos, en la que el contenido se se publican o actualizan en la app. Marca de tiempo de época en milisegundos
Tiempo de la participación más reciente Condicionalmente obligatorio

La marca de tiempo de época, en milisegundos, en la que el usuario interactuó esta entidad la última vez.

Nota: Este campo es obligatorio si la entidad forma parte de el clúster de Continuation.

Marca de tiempo de época en milisegundos
Porcentaje de progreso Condicionalmente obligatorio

Es el porcentaje de todo el contenido consumido por el usuario hasta la fecha.

Nota: Este campo es obligatorio si la entidad forma parte de el clúster de Continuation.

Un valor int entre 0 y 100 inclusive.
Categorías de contenido Opcional Describe la categoría del contenido de la entidad.

Lista de enums

Consulta la sección Categoría de contenido. para obtener orientación.

EventEntity

Atributo Requisito Descripción Formato
URI de acción Obligatorio

Vínculo directo a la entidad en la app del proveedor.

Nota: Puedes usar vínculos directos para la atribución. Consulta estas preguntas frecuentes

URI
Título Obligatorio Es el título de la entidad.

String

Tamaño de texto recomendado: 50 caracteres como máximo

Inicio Obligatorio

Es la marca de tiempo de época en la que se espera que comience el evento.

Nota: Se representará en milisegundos.

Marca de tiempo de época en milisegundos
Modo de evento Obligatorio

Un campo para indicar si el evento será virtual, presencial ambos.

Enumeración: VIRTUAL, IN_PERSON o HYBRID
Imágenes de pósteres Obligatorio

Solo mostraremos 1 imagen cuando se proporcionen varias. La relación de aspecto recomendada es 16:9.

Nota: Se recomienda subir imágenes. Si una insignia es asegúrate de tener un espacio seguro de 24 dps en la parte superior e inferior de imagen

Consulta la sección Especificaciones de imagen para obtener más información.
Ubicación: país Condicionalmente obligatorio

Indica el país donde se realiza el evento.

Nota: Este paso es obligatorio para los eventos IN_PERSON o HÍBRIDO

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Ciudad Condicionalmente obligatorio

Es la ciudad donde se lleva a cabo el evento.

Nota: Este paso es obligatorio para los eventos IN_PERSON o HÍBRIDO

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: dirección visible Condicionalmente obligatorio

Es la dirección o el nombre del lugar donde se realizará el evento que debe mostrar al usuario.

Nota: Este paso es obligatorio para los eventos IN_PERSON o HÍBRIDO

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: dirección Opcional Dirección (si corresponde) de la ubicación en la que se realizará el evento que se está alojando.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Estado Opcional Es el estado o la provincia (si corresponde) en la que se realiza el evento. alojado.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Código postal Opcional El código postal (si corresponde) de la ubicación en la que se realiza el evento alojado.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: vecindario Opcional El vecindario (si corresponde) en el que se realiza el evento

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Finalización Opcional

Es la marca de tiempo de época en la que se espera que finalice el evento.

Nota: Se representará en milisegundos.

Marca de tiempo de época en milisegundos
Descripción Opcional

Un solo párrafo de texto para describir la entidad

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado: 180 caracteres

Lista de subtítulos Opcional

Hasta tres subtítulos, cada uno con una sola línea de texto.

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado para cada subtítulo: máx. 50 caracteres

Insignias Opcional

Cada insignia puede ser texto libre (15 caracteres como máximo) o imagen pequeña.

Insignia: Texto Opcional

Título de la insignia

Nota: Es obligatorio incluir texto o una imagen para la insignia.

Texto libre

Tamaño de texto recomendado: 15 caracteres como máximo

Insignia: Imagen Opcional

Imagen pequeña

Tratamiento especial de la UX, por ejemplo, como una insignia superpuesta en la imagen o el video miniatura.

Nota: Es obligatorio incluir texto o una imagen para la insignia.

Consulta la sección Especificaciones de imagen para obtener más información.
Precio - Precio actual Condicionalmente obligatorio

Es el precio actual de la entrada o el pase para el evento.

Se debe brindar si se proporciona el precio tachado.

Texto libre
Precio (precio de ejercicio) Opcional Es el precio original de la entrada o el pase para el evento. Texto libre
Solicitud de oferta de precio Opcional Es el texto destacado del precio que muestra una promoción, un evento o un descuento para miembros, si está disponible.

Texto libre

Tamaño de texto recomendado: Menos de 45 caracteres (texto demasiado largo) puede mostrar puntos suspensivos)

Categorías de contenido Opcional Describe la categoría del contenido de la entidad.

Lista de enums aptas

  • TYPE_POLICYS_AND_TV_SHOWS (ejemplo: cine)
  • TYPE_DIGITAL_GAMES (ejemplo: deportes electrónicos)
  • TYPE_MUSIC (Ejemplo: concierto)
  • TYPE_TRAVEL_AND_LOCAL (Ejemplo: gira, festival)
  • TYPE_HEALTH_AND_FITENESS (ejemplo: Clase de yoga)
  • TYPE_EDUCATION (ejemplo: clase)
  • TYPE_SPORTS (ejemplo: partido de fútbol)
  • TYPE_DATING (ejemplo: encuentro)

Consulta la sección Categoría de contenido. para obtener orientación.

LodgingEntity

Atributo Requisito Descripción Formato
URI de acción Obligatorio

Vínculo directo a la entidad en la app del proveedor.

Nota: Puedes usar vínculos directos para la atribución. Consulta estas preguntas frecuentes

URI
Título Obligatorio Es el título de la entidad.

String

Tamaño de texto recomendado: 50 caracteres como máximo

Imágenes de pósteres Obligatorio

Solo mostraremos 1 imagen cuando se proporcionen varias. Opción recomendada la relación de aspecto es de 16:9.

Nota: Si se proporciona una insignia, asegúrate de tener un espacio seguro 24 dp en la parte superior e inferior de la imagen

Consulta la sección Especificaciones de imagen para obtener más información.
Ubicación: país Obligatorio Es el país en el que se realizará el alojamiento.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Ciudad Obligatorio Indica la ciudad en la que se realizará el alojamiento.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: dirección visible Obligatorio Es la dirección del alojamiento que se mostrará al usuario.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: dirección Opcional Es la dirección del alojamiento (si corresponde).

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Estado Opcional Estado o provincia (si corresponde) en el que se encuentra el alojamiento ubicado.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Código postal Opcional Indica el código postal del alojamiento (si corresponde).

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: vecindario Opcional Es el vecindario del alojamiento (si corresponde).

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Insignias Opcional

Cada insignia puede ser texto libre (15 caracteres como máximo) o imagen pequeña.

Insignia: Texto Opcional

Título de la insignia

Nota: Es obligatorio incluir texto o una imagen para la insignia.

Texto libre

Tamaño de texto recomendado: 15 caracteres como máximo

Insignia: Imagen Opcional

Imagen pequeña

Tratamiento especial de la UX, por ejemplo, como una insignia superpuesta en la imagen o el video miniatura.

Nota: Es obligatorio incluir texto o una imagen para la insignia.

Consulta la sección Especificaciones de imagen para obtener más información.
Descripción Opcional

Un solo párrafo de texto para describir la entidad

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado: 180 caracteres

Lista de subtítulos Opcional

Hasta tres subtítulos, cada uno con una sola línea de texto.

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado para cada subtítulo: máx. 50 caracteres

AvailabilityTimeWindow: Hora de inicio Opcional Es la marca de tiempo de época, en milisegundos, en la que se espera que el alojamiento abiertos/disponibles. Marca de tiempo de época en milisegundos
AvailabilityTimeWindow: Hora de finalización Opcional Es la marca de tiempo de época, en milisegundos, hasta la que se espera el alojamiento. esté abierto/disponible. Marca de tiempo de época en milisegundos
Calificación: Valor máximo Opcional

Es el valor máximo de la escala de calificación.

Se debe brindar si también se proporciona el valor actual de la calificación.

Número >= 0.0
Calificación: Valor actual Opcional

Es el valor actual de la escala de calificación.

Se debe proporcionar si también se proporciona el valor máximo de la calificación.

Número >= 0.0
Calificación: Cantidad Opcional

Es el recuento de calificaciones del alojamiento.

Nota: Proporciona este campo si tu app controla cómo se muestra el recuento a los usuarios. Usa una cadena concisa. Por ejemplo, si el recuento es 1,000,000, considera usar una abreviatura como 1 millón para que el recuento no se trunque en los tamaños de visualización más pequeños.

String
Calificación: Valor de la cuenta Opcional

Es el recuento de calificaciones del alojamiento.

Nota: Proporciona este campo si no estás manejando la lógica de abreviaturas de visualización por tu cuenta. Si Count y Count Value están presentes, se mostrará Count a los usuarios.

Largo
Precio - Precio actual Condicionalmente obligatorio

Es el precio actual del alojamiento.

Se debe brindar si se proporciona el precio tachado.

Texto libre
Precio (precio de ejercicio) Opcional El precio original del alojamiento, que aparecerá tachado en las de la IU de Google. Texto libre
Solicitud de oferta de precio Opcional Es el texto destacado del precio que muestra una promoción, un evento o un descuento para miembros, si está disponible.

Texto libre

Tamaño de texto recomendado: Menos de 45 caracteres (texto demasiado largo) puede mostrar puntos suspensivos)

StoreEntity

El objeto StoreEntity representa una tienda individual que los socios desarrolladores quieren publicar, como un restaurante o una tienda de comestibles.

Atributo Requisito Descripción Formato
Imágenes de pósteres Obligatorio Se debe proporcionar al menos una imagen. Consulta la sección Especificaciones de imagen para obtener más información.
URI de acción Obligatorio

Vínculo directo a la entidad en la app del proveedor.

Nota: Puedes usar vínculos directos para la atribución. Consulta estas preguntas frecuentes

URI
Título Opcional Es el nombre de la tienda.

Texto libre

Tamaño de texto recomendado: Menos de 45 caracteres (el texto demasiado largo puede mostrar puntos suspensivos)

Ubicación Opcional Es la ubicación de la tienda.

Texto libre

Tamaño de texto recomendado: Menos de 45 caracteres (el texto demasiado largo puede mostrar puntos suspensivos)

Texto destacado Opcional Es el texto destacado para mostrar una promoción, un evento o una actualización de la tienda, si está disponible.

Texto libre

Tamaño de texto recomendado: Menos de 45 caracteres (el texto demasiado largo puede mostrar puntos suspensivos)

Condiciones del texto destacado Opcional Son las condiciones para el texto destacado.

Texto libre

Tamaño de texto recomendado: Menos de 45 caracteres (el texto demasiado largo puede mostrar puntos suspensivos)

Descripción Opcional Es una descripción de la tienda.

Texto libre

Tamaño de texto recomendado: Menos de 90 caracteres (el texto demasiado largo puede mostrar puntos suspensivos)

Calificación: Valor máximo Opcional

Es el valor máximo de la escala de calificación.

Se debe brindar si también se proporciona el valor actual de la calificación.

Número >= 0.0
Calificación: Valor actual Opcional

Es el valor actual de la escala de calificación.

Se debe proporcionar si también se proporciona el valor máximo de la calificación.

Número >= 0.0
Calificación: Cantidad Opcional

Es el recuento de calificaciones del alojamiento.

Nota: Proporciona este campo si tu app desea y controlar cómo se muestra a los usuarios. Proporciona una cadena concisa que se le puede mostrar al usuario. Por ejemplo, si el recuento es 1,000,000, considera usar abreviaturas como 1M, para que no sea truncada en tamaños de visualización más pequeños.

String
Calificación: Valor de la cuenta Opcional

Es el recuento de calificaciones del alojamiento.

Nota: Proporciona este campo si no quieres administrar la lógica de abreviaturas de visualización por tu cuenta. Si Count y Count Value están presentes, usaremos el Recuento para mostrar a los usuarios

Largo

PointOfInterestEntity

Atributo Requisito Descripción Formato
URI de acción Obligatorio

Vínculo directo a la entidad en la app del proveedor.

Nota: Puedes usar vínculos directos para la atribución. Consulta estas preguntas frecuentes

URI
Título Obligatorio Es el título de la entidad.

String

Tamaño de texto recomendado: 50 caracteres como máximo

Imágenes de pósteres Obligatorio

Solo mostraremos 1 imagen cuando se proporcionen varias. La relación de aspecto recomendada es 16:9.

Nota: Se recomienda subir imágenes. Si una insignia es asegúrate de tener un espacio seguro de 24 dps en la parte superior e inferior de imagen

Consulta la sección Especificaciones de imagen para obtener más información.
Ubicación: país Obligatorio Es el país donde se produce el lugar de interés.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Ciudad Obligatorio Es la ciudad donde se produce el lugar de interés.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: dirección visible Obligatorio La dirección del lugar de interés que se mostrará al usuario.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: dirección Opcional Es la dirección (si corresponde) del lugar de interés.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Estado Opcional Estado o provincia (si corresponde) en los que se encuentra el lugar de interés ubicado.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Código postal Opcional El código postal (si corresponde) del lugar de interés.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: vecindario Opcional El barrio (si corresponde) del lugar de interés.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

AvailabilityTimeWindow: Hora de inicio Opcional La marca de tiempo de época en milisegundos cuando el lugar de interés es esté abierto/disponible. Marca de tiempo de época en milisegundos
AvailabilityTimeWindow: Hora de finalización Opcional La marca de tiempo de época, en milisegundos, hasta la cual se transfiere el lugar de interés esté abierto/disponible. Marca de tiempo de época en milisegundos
Insignias Opcional

Cada insignia puede ser texto libre (15 caracteres como máximo) o imagen pequeña.

Insignia: Texto Opcional

Título de la insignia

Nota: Es obligatorio incluir texto o una imagen para la insignia.

Texto libre

Tamaño de texto recomendado: 15 caracteres como máximo

Insignia: Imagen Opcional

Imagen pequeña

Tratamiento especial de la UX, por ejemplo, como una insignia superpuesta en la imagen o el video miniatura.

Nota: Es obligatorio incluir texto o una imagen para la insignia.

Consulta la sección Especificaciones de imagen para obtener más información.
Descripción Opcional

Un solo párrafo de texto para describir la entidad

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado: 180 caracteres

Lista de subtítulos Opcional

Hasta tres subtítulos, cada uno con una sola línea de texto.

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado para cada subtítulo: máx. 50 caracteres

Calificación: Valor máximo Opcional

Es el valor máximo de la escala de calificación.

Se debe brindar si también se proporciona el valor actual de la calificación.

Número >= 0.0
Calificación: Valor actual Opcional

Es el valor actual de la escala de calificación.

Se debe proporcionar si también se proporciona el valor máximo de la calificación.

Número >= 0.0
Calificación: Cantidad Opcional

Es el recuento de calificaciones del lugar de interés.

Nota: Proporciona este campo si tu app controla cómo se muestra el recuento a los usuarios. Usa una cadena concisa. Por ejemplo, si el recuento es 1,000,000, considera usar una abreviatura como 1 millón para que el recuento no se trunque en los tamaños de visualización más pequeños.

String
Calificación: Valor de la cuenta Opcional

Es el recuento de calificaciones del lugar de interés.

Nota: Proporciona este campo si no estás manejando por tu cuenta la lógica de abreviaturas. Si Count y Count Value están presentes, el recuento se muestra a los usuarios

Largo
Precio - Precio actual Condicionalmente obligatorio

El precio actual de los boletos o pases para el punto de interés.

Se debe brindar si se proporciona el precio tachado.

Texto libre
Precio (precio de ejercicio) Opcional Es el precio original de las entradas o la entrada para el lugar de interés. Texto libre
Solicitud de oferta de precio Opcional Es el texto destacado del precio que muestra una promoción, un evento o un descuento para miembros, si está disponible.

Texto libre

Tamaño de texto recomendado: Menos de 45 caracteres (el texto demasiado largo puede mostrar puntos suspensivos)

Categorías de contenido Opcional Describe la categoría del contenido de la entidad.

Lista de enums aptas

  • TIPO_TRAVEL_AND_LOCAL
  • TYPE_POLICYS_AND_TV_SHOWS (Ejemplo: cine)
  • TYPE_MEDICAL (Ejemplo: hospital)
  • TYPE_EDUCATION (Ejemplo: escuela)
  • TYPE_SPORTS (Ejemplo: estadio)

Consulta la sección Categoría de contenido. para obtener orientación.

PersonEntity

Atributo Requisito Descripción Formato
URI de acción Obligatorio

Vínculo directo a la entidad en la app del proveedor.

Nota: Puedes usar vínculos directos para la atribución. Consulta estas preguntas frecuentes

URI
Perfil: Nombre Obligatorio Nombre de perfil, ID o identificador (p. ej., "Juan Pérez", "@EquipoPixel", etcétera)

String

Tamaño de texto recomendado: 50 caracteres como máximo

Perfil - Avatar Obligatorio

Foto de perfil o avatar del usuario.

Nota: Debe ser una imagen cuadrada con una relación de aspecto de 1:1.

Consulta la sección Especificaciones de imagen para obtener más información.
Perfil: Texto adicional Opcional Texto libre, como el identificador del perfil

Texto libre

Tamaño de texto recomendado: 15 caracteres como máximo

Perfil: imagen adicional Opcional Imagen pequeña como una insignia de verificación. Consulta la sección Especificaciones de imagen para obtener más información.
Imagen del encabezado Opcional

Solo mostraremos 1 imagen cuando se proporcionen varias. La relación de aspecto recomendada es 16:9.

Nota: Se recomienda subir imágenes. Si una insignia es asegúrate de tener un espacio seguro de 24 dps en la parte superior e inferior de imagen

Consulta la sección Especificaciones de imagen para obtener más información.
Popularidad: recuento Opcional

Representa la imagen del encabezado. Debe ser diferente de la imagen de perfil. Puede usarse si hay una imagen adicional que ayude a destacar la persona, como su trabajo.

Nota: Debe ser una imagen con una relación de aspecto de 16:9. Si se proporciona una insignia, asegúrate de tener un espacio seguro de 24 dps en la parte superior e inferior de la imagen.

String

Tamaño de texto recomendado: 20 caracteres como máximo para la cantidad y la etiqueta combinado

Popularidad: valor de recuento Opcional

La cantidad de seguidores o el valor de popularidad.

Nota: Proporciona el valor de recuento si tu app no desea hacerlo. para manejar la lógica sobre cómo se debe optimizar un gran número para diferentes tamaños de visualización. Si se proporcionan Count y Count Value, Se usará el recuento.

Largo
Popularidad: sello discográfico Opcional Indica cuál es la etiqueta de popularidad. Por ejemplo, indicaciones de "Me gusta".

String

Tamaño de texto recomendado: 20 caracteres como máximo para la cantidad y la etiqueta combinado

Popularidad: elemento visual Opcional

Indica para qué sirve la interacción. Por ejemplo, una imagen que muestra Ícono de “me gusta”, emojis.

Se puede proporcionar más de 1 imagen, aunque es posible que no se muestren todas diferentes.

Nota: Debe ser una imagen cuadrada con una relación de aspecto de 1:1.

Consulta la sección Especificaciones de imagen para obtener más información.
Calificación: Valor máximo Obligatorio

Es el valor máximo de la escala de calificación.

Se debe brindar si también se proporciona el valor actual de la calificación.

Número >= 0.0
Calificación: Valor actual Obligatorio

Es el valor actual de la escala de calificación.

Se debe proporcionar si también se proporciona el valor máximo de la calificación.

Número >= 0.0
Calificación: Cantidad Opcional

Es el recuento de calificaciones de la entidad.

Nota: Proporciona este campo si tu app desea y controlar cómo se muestra a los usuarios. Proporciona una cadena concisa que se le puede mostrar al usuario. Por ejemplo, si el recuento es 1,000,000, considera usar abreviaturas como 1M, para que no sea truncada en tamaños de visualización más pequeños.

String
Calificación: Valor de la cuenta Opcional

Es el recuento de calificaciones de la entidad.

Nota: Proporciona este campo si no quieres administrar la lógica de abreviaturas de visualización por tu cuenta. Si Count y Count Value están presentes, usaremos el Recuento para mostrar a los usuarios

Largo
Ubicación: país Opcional Es el país donde se encuentra la persona o donde presta servicios.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Ciudad Opcional Es la ciudad donde se encuentra la persona o donde presta servicios.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: dirección visible Opcional Se mostrará la dirección donde se encuentra la persona o donde presta servicio del usuario.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: dirección Opcional La dirección (si corresponde) donde se encuentra la persona de Google Cloud.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Estado Opcional Es el estado (si corresponde) donde se encuentra la persona o presta sus servicios.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Código postal Opcional Indica el código postal (si corresponde) del lugar donde se encuentra la persona o presta sus servicios.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: vecindario Opcional Es el vecindario (si corresponde) donde se encuentra la persona o presta sus servicios.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Insignias Opcional

Cada insignia puede ser texto libre (15 caracteres como máximo) o imagen pequeña.

Insignia: Texto Opcional

Título de la insignia

Nota: Es obligatorio incluir texto o una imagen para la insignia.

Texto libre

Tamaño de texto recomendado: 15 caracteres como máximo

Insignia: Imagen Opcional

Imagen pequeña

Tratamiento especial de la UX, por ejemplo, como una insignia superpuesta en la imagen o el video miniatura.

Nota: Es obligatorio incluir texto o una imagen para la insignia.

Consulta la sección Especificaciones de imagen para obtener más información.
Descripción Opcional

Un solo párrafo de texto para describir la entidad

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado: 180 caracteres

Lista de subtítulos Opcional

Hasta tres subtítulos, cada uno con una sola línea de texto.

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado para cada subtítulo: máx. 50 caracteres

Categorías de contenido Opcional Describe la categoría del contenido de la entidad.

Lista de enums aptas

  • TYPE_HEALTH_AND_FITENESS (Ejemplo: entrenador de yoga/entrenamiento)
  • TYPE_HOME_AND_AUTO (Ejemplo: plomero)
  • TYPE_SPORTS (Ejemplo: reproductor)
  • FECHAS_TIPO

Consulta la sección Categoría de contenido. para obtener orientación.

RestaurantReservationEntity

Atributo Requisito Descripción Formato
URI de acción Obligatorio

Vínculo directo a la entidad en la app del proveedor.

Nota: Puedes usar vínculos directos para la atribución. Consulta estas preguntas frecuentes

URI
Título Obligatorio Es el título de la entidad.

String

Tamaño de texto recomendado: 50 caracteres como máximo

Hora de inicio de la reserva Obligatorio La marca de tiempo de época, en milisegundos, en la que se espera que la reserva comenzar. Marca de tiempo de época en milisegundos
Ubicación: país Obligatorio El país donde se ubica el restaurante.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Ciudad Obligatorio Indica la ciudad en la que se realiza el restaurante.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: dirección visible Obligatorio Es la dirección del prestaurant que se mostrará al usuario.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: dirección Opcional Es la dirección del restaurante (si corresponde).

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Estado Opcional Estado o provincia (si corresponde) en los que se encuentra el restaurante ubicado.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Código postal Opcional El código postal del restaurante (si corresponde).

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: vecindario Opcional El vecindario (si corresponde) del restaurante.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Imágenes de pósteres Opcional Solo mostraremos 1 imagen cuando se proporcionen varias. Opción recomendada la relación de aspecto es de 16:9. Consulta la sección Especificaciones de imagen para obtener más información.
Descripción Opcional

Un solo párrafo de texto para describir la entidad

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado: 180 caracteres

Lista de subtítulos Opcional

Hasta tres subtítulos, cada uno con una sola línea de texto.

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado para cada subtítulo: máx. 50 caracteres

Tamaño de la tabla Opcional La cantidad de personas en el grupo de reserva Número entero > (0)

EventReservationEntity

Atributo Requisito Descripción Formato
URI de acción Obligatorio

Vínculo directo a la entidad en la app del proveedor.

Nota: Puedes usar vínculos directos para la atribución. Consulta estas preguntas frecuentes

URI
Título Obligatorio Es el título de la entidad.

String

Tamaño de texto recomendado: 50 caracteres como máximo

Inicio Obligatorio

Es la marca de tiempo de época en la que se espera que comience el evento.

Nota: Se representará en milisegundos.

Marca de tiempo de época en milisegundos
Modo de evento Obligatorio

Un campo para indicar si el evento será virtual, presencial ambos.

Enumeración: VIRTUAL, IN_PERSON o HYBRID
Ubicación: país Condicionalmente obligatorio

Indica el país donde se realiza el evento.

Nota: Este paso es obligatorio para los eventos IN_PERSON o HÍBRIDO

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Ciudad Condicionalmente obligatorio

Es la ciudad donde se lleva a cabo el evento.

Nota: Este paso es obligatorio para los eventos IN_PERSON o HÍBRIDO

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: dirección visible Condicionalmente obligatorio

Es la dirección o el nombre del lugar donde se realizará el evento que debe mostrar al usuario.

Nota: Este paso es obligatorio para los eventos IN_PERSON o HÍBRIDO

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: dirección Opcional Dirección (si corresponde) de la ubicación en la que se realizará el evento que se está alojando.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Estado Opcional Es el estado o la provincia (si corresponde) en la que se realiza el evento. alojado.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Código postal Opcional El código postal (si corresponde) de la ubicación en la que se realiza el evento alojado.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: vecindario Opcional El vecindario (si corresponde) en el que se realiza el evento

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Imágenes de pósteres Opcional

Solo mostraremos 1 imagen cuando se proporcionen varias. La relación de aspecto recomendada es 16:9.

Nota: Se recomienda subir imágenes. Si una insignia es asegúrate de tener un espacio seguro de 24 dps en la parte superior e inferior de imagen

Consulta la sección Especificaciones de imagen para obtener más información.
Finalización Opcional

Es la marca de tiempo de época en la que se espera que finalice el evento.

Nota: Se representará en milisegundos.

Marca de tiempo de época en milisegundos
Proveedor de servicios: Nombre Opcional

El nombre del proveedor de servicios.

Nota: Se requiere texto o imagen para el servicio. proveedor.

Texto libre. Por ejemplo, el nombre del organizador o la visita guiada del evento
Proveedor de servicios: imagen Opcional

El logotipo o la imagen del proveedor de servicios.

Nota: Se requiere texto o imagen para el servicio. proveedor.

Consulta la sección Especificaciones de imagen para obtener más información.
Descripción Opcional

Un solo párrafo de texto para describir la entidad

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado: 180 caracteres

Lista de subtítulos Opcional

Hasta tres subtítulos, cada uno con una sola línea de texto.

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado para cada subtítulo: máx. 50 caracteres

Insignias Opcional

Cada insignia puede ser texto libre (15 caracteres como máximo) o imagen pequeña.

Insignia: Texto Opcional

Título de la insignia

Nota: Es obligatorio incluir texto o una imagen para la insignia.

Texto libre

Tamaño de texto recomendado: 15 caracteres como máximo

Insignia: Imagen Opcional

Imagen pequeña

Tratamiento especial de la UX, por ejemplo, como una insignia superpuesta en la imagen o el video miniatura.

Nota: Es obligatorio incluir texto o una imagen para la insignia.

Consulta la sección Especificaciones de imagen para obtener más información.
ID de reserva Opcional El ID de reserva para la reserva del evento. Texto libre
Precio - Precio actual Condicionalmente obligatorio

Es el precio actual de la entrada o el pase para el evento.

Se debe brindar si se proporciona el precio tachado.

Texto libre
Precio (precio de ejercicio) Opcional Es el precio original de la entrada o el pase para el evento. Texto libre
Solicitud de oferta de precio Opcional Es el texto destacado del precio que muestra una promoción, un evento o un descuento para miembros, si está disponible.

Texto libre

Tamaño de texto recomendado: Menos de 45 caracteres (texto demasiado largo) puede mostrar puntos suspensivos)

Calificación: Valor máximo Opcional

Es el valor máximo de la escala de calificación.

Se debe brindar si también se proporciona el valor actual de la calificación.

Número >= 0.0
Calificación: Valor actual Opcional

Es el valor actual de la escala de calificación.

Se debe proporcionar si también se proporciona el valor máximo de la calificación.

Número >= 0.0
Calificación: Cantidad Opcional

Es la cantidad de calificaciones del evento.

Nota: Proporciona este campo si tu app desea y controlar cómo se muestra a los usuarios. Proporciona una cadena concisa que se le puede mostrar al usuario. Por ejemplo, si el recuento es 1,000,000, considera usar abreviaturas como 1M, para que no sea truncada en tamaños de visualización más pequeños.

String
Calificación: Valor de la cuenta Opcional

Es la cantidad de calificaciones del evento.

Nota: Proporciona este campo si no quieres administrar la lógica de abreviaturas de visualización por tu cuenta. Si Count y Count Value están presentes, usaremos el Recuento para mostrar a los usuarios

Largo
Categorías de contenido Opcional Describe la categoría del contenido de la entidad.

Lista de enums aptas

  • TYPE_POLICYS_AND_TV_SHOWS (ejemplo: cine)
  • TYPE_DIGITAL_GAMES (ejemplo: deportes electrónicos)
  • TYPE_MUSIC (Ejemplo: concierto)
  • TYPE_TRAVEL_AND_LOCAL (Ejemplo: gira, festival)
  • TYPE_HEALTH_AND_FITENESS (ejemplo: Clase de yoga)
  • TYPE_EDUCATION (ejemplo: clase)
  • TYPE_SPORTS (ejemplo: partido de fútbol)
  • TYPE_DATING (ejemplo: encuentro)

Consulta la sección Categoría de contenido. para obtener orientación.

LodgingReservationEntity

Atributo Requisito Descripción Formato
URI de acción Obligatorio

Vínculo directo a la entidad en la app del proveedor.

Nota: Puedes usar vínculos directos para la atribución. Consulta estas preguntas frecuentes

URI
Título Obligatorio Es el título de la entidad.

Texto libre. Por ejemplo, "Tu estadía del 12 de diciembre"

Tamaño de texto recomendado: 50 caracteres como máximo

Hora de entrada Obligatorio La marca de tiempo de época en milisegundos que representa el tiempo de registro para la reserva. Marca de tiempo de época en milisegundos
Hora de salida Obligatorio La marca de tiempo de época en milisegundos que representa la hora de salida para la reserva. Marca de tiempo de época en milisegundos
Ubicación: país Obligatorio Es el país en el que se encuentra el alojamiento.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Ciudad Obligatorio Es la ciudad en la que se encuentra el alojamiento.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: dirección visible Obligatorio Es la dirección del alojamiento que se mostrará al usuario.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: dirección Opcional Es la dirección del alojamiento (si corresponde).

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Estado Opcional Estado o provincia (si corresponde) en el que se encuentra el alojamiento ubicado.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: Código postal Opcional Indica el código postal del alojamiento (si corresponde).

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación: vecindario Opcional Es el vecindario del alojamiento (si corresponde).

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Imágenes de pósteres Opcional

Solo mostraremos 1 imagen cuando se proporcionen varias. Opción recomendada la relación de aspecto es de 16:9.

Nota: Si se proporciona una insignia, asegúrate de tener 24 caracteres de espacio de seguridad. dps en la parte inferior y superior de la imagen

Consulta la sección Especificaciones de imagen para obtener más información.
Descripción Opcional

Un solo párrafo de texto para describir la entidad

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado: 180 caracteres

Lista de subtítulos Opcional

Hasta tres subtítulos, cada uno con una sola línea de texto.

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado para cada subtítulo: máx. 50 caracteres

ID de reserva Opcional Es el ID de la reserva de alojamiento. Texto libre
Calificación: Valor máximo Opcional

Es el valor máximo de la escala de calificación.

Se debe brindar si también se proporciona el valor actual de la calificación.

Número >= 0.0
Calificación: Valor actual Opcional

Es el valor actual de la escala de calificación.

Se debe proporcionar si también se proporciona el valor máximo de la calificación.

Número >= 0.0
Calificación: Cantidad Opcional

Es el recuento de calificaciones del alojamiento.

Nota: Proporciona este campo si tu app desea y controlar cómo se muestra a los usuarios. Proporciona una cadena concisa que se le puede mostrar al usuario. Por ejemplo, si el recuento es 1,000,000, considera usar abreviaturas como 1M, para que no sea truncada en tamaños de visualización más pequeños.

String
Calificación: Valor de la cuenta Opcional

Es el recuento de calificaciones del alojamiento.

Nota: Proporciona este campo si no quieres administrar la lógica de abreviaturas de visualización por tu cuenta. Si Count y Count Value están presentes, usaremos el Recuento para mostrar a los usuarios

Largo
Precio - Precio actual Condicionalmente obligatorio

Es el precio actual del alojamiento.

Se debe brindar si se proporciona el precio tachado.

Texto libre
Precio (precio de ejercicio) Opcional El precio original del alojamiento, que aparecerá tachado en las de la IU de Google. Texto libre
Solicitud de oferta de precio Opcional Es el texto destacado del precio que muestra una promoción, un evento o un descuento para miembros, si está disponible.

Texto libre

Tamaño de texto recomendado: Menos de 45 caracteres (texto demasiado largo) puede mostrar puntos suspensivos)

TransportationReservationEntity

Atributo Requisito Descripción Formato
URI de acción Obligatorio

Vínculo directo a la entidad en la app del proveedor.

Nota: Puedes usar vínculos directos para la atribución. Consulta estas preguntas frecuentes

URI
Título Obligatorio Es el título de la entidad.

Texto libre. Por ejemplo, “SFO a SAN”

Tamaño de texto recomendado: 50 caracteres como máximo

Tipo de transporte Obligatorio Indica el medio o tipo de transporte de la reserva. Enum: Vuelo, TRAIN, BUS o FERRY
Hora de partida Obligatorio La marca de tiempo de época en milisegundos que representa la hora de salida. Marca de tiempo de época en milisegundos
Hora de llegada Obligatorio Es la marca de tiempo de época en milisegundos que representa la hora de llegada. Marca de tiempo de época en milisegundos
Ubicación de salida: País Opcional Es el país de salida.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación de salida: Ciudad Opcional Es la ciudad de origen.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación de salida: dirección visible Opcional La ubicación de salida que se mostrará al usuario.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación de salida: dirección Opcional Es la dirección (si corresponde) de la ubicación de salida.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación de salida: Estado Opcional Es el estado o la provincia (si corresponde) de la ubicación de salida.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación de salida: Código postal Opcional El código postal (si corresponde) de la ubicación de salida.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación de salida: vecindario Opcional El vecindario de la ubicación de salida (si corresponde).

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación de llegada: país Opcional Indica el país de llegada.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación de llegada: ciudad Opcional La ciudad de llegada.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación de llegada: dirección visible Opcional La ubicación de llegada que se mostrará al usuario.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación de llegada: dirección Opcional Es la dirección (si corresponde) de la ubicación de llegada.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación de llegada: Estado Opcional Es el estado o la provincia (si corresponde) de la ubicación de llegada.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación de llegada: código postal Opcional Es el código postal (si corresponde) de la ubicación de llegada.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Ubicación de llegada: vecindario Opcional El vecindario (si corresponde) de la ubicación de llegada.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Proveedor de servicios: Nombre Opcional

El nombre del proveedor de servicios.

Nota: Se requiere texto o imagen para el servicio. proveedor.

Texto libre. Por ejemplo, Nombre de la aerolínea
Proveedor de servicios: imagen Opcional

El logotipo o la imagen del proveedor de servicios.

Nota: Se requiere texto o imagen para el servicio. proveedor.

Consulta la sección Especificaciones de imagen para obtener más información.
Imágenes de pósteres Opcional

Solo mostraremos 1 imagen cuando se proporcionen varias. Opción recomendada la relación de aspecto es de 16:9.

Consulta la sección Especificaciones de imagen para obtener más información.
Descripción Opcional

Un solo párrafo de texto para describir la entidad

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado: 180 caracteres

Lista de subtítulos Opcional

Hasta tres subtítulos, cada uno con una sola línea de texto.

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado para cada subtítulo: máx. 50 caracteres

ID de reserva Opcional Es el ID de reserva para la reserva de transporte. Texto libre
Precio - Precio actual Condicionalmente obligatorio

Es el precio actual de la reserva.

Se debe brindar si se proporciona el precio tachado.

Texto libre
Precio (precio de ejercicio) Opcional El precio original de la reserva, que aparecerá tachado en el de la IU de Google. Texto libre
Solicitud de oferta de precio Opcional Es el texto destacado del precio que muestra una promoción, un evento o un descuento para miembros, si está disponible.

Texto libre

Tamaño de texto recomendado: Menos de 45 caracteres (texto demasiado largo) puede mostrar puntos suspensivos)

Número de transporte Obligatorio Es el número de vuelo, de autobús, de tren o de transbordador o crucero. Texto libre
Hora de embarque Obligatorio La marca de tiempo de época que representa la hora de embarque para la reserva (si corresponde) Marca de tiempo de época en milisegundos

VehicleRentalReservationEntity

Atributo Requisito Descripción Formato
URI de acción Obligatorio

Vínculo directo a la entidad en la app del proveedor.

Nota: Puedes usar vínculos directos para la atribución. Consulta estas preguntas frecuentes

URI
Título Obligatorio Es el título de la entidad.

Texto libre. Por ejemplo, "Buenos Aires"

Tamaño de texto recomendado: 50 caracteres como máximo

Hora de retiro Obligatorio La marca de tiempo de época que representa el horario de retiro para la reserva. Marca de tiempo de época en milisegundos
Hora de regreso Opcional La marca de tiempo de época que representa la hora de salida de la reserva. Marca de tiempo de época en milisegundos
Dirección de retiro: país Opcional El país del lugar de recogida.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Dirección de retiro: ciudad Opcional Es la ciudad de la ubicación de retiro.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Dirección de retiro: dirección visible Opcional Es la ubicación de retiro que se mostrará al usuario.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Dirección de retiro: dirección Opcional Es la dirección (si corresponde) del lugar de recogida.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Dirección de retiro: Estado Opcional Es el estado o la provincia (si corresponde) del lugar de retiro.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Dirección de retiro: código postal Opcional Es el código postal (si corresponde) del lugar de retiro.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Dirección de retiro: vecindario Opcional El barrio (si corresponde) del lugar de recogida.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Dirección de devolución: País Opcional Es el país de la ubicación de devolución.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Dirección de devolución: Ciudad Opcional Es la ciudad de la ubicación de devolución.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Dirección de devolución: dirección visible Opcional La ubicación de devolución que se mostrará al usuario.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Dirección de devolución: dirección Opcional Es la dirección de la ubicación de devolución (si corresponde).

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Dirección de devolución: Estado Opcional Es el estado o la provincia (si corresponde) de la ubicación de devolución.

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Dirección de devolución: Código postal Opcional El código postal de la ubicación de devolución (si corresponde).

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Dirección de devolución: vecindario Opcional Es el vecindario de la ubicación de devolución (si corresponde).

Texto libre

Tamaño de texto recomendado: 20 caracteres como máximo

Proveedor de servicios: Nombre Opcional

El nombre del proveedor de servicios.

Nota: Se requiere texto o imagen para el servicio. proveedor.

Texto libre. Por ejemplo, "Alquiler de automóviles en Avis"
Proveedor de servicios: imagen Opcional

El logotipo o la imagen del proveedor de servicios.

Nota: Se requiere texto o imagen para el servicio. proveedor.

Consulta la sección Especificaciones de imagen para obtener más información.
Imágenes de pósteres Opcional

Solo mostraremos 1 imagen cuando se proporcionen varias. Opción recomendada la relación de aspecto es de 16:9.

Consulta la sección Especificaciones de imagen para obtener más información.
Descripción Opcional

Un solo párrafo de texto para describir la entidad

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado: 180 caracteres

Lista de subtítulos Opcional

Hasta tres subtítulos, cada uno con una sola línea de texto.

Nota: La descripción o la lista de subtítulos que se muestran al usuario, no ambas.

Texto libre

Tamaño de texto recomendado para cada subtítulo: máx. 50 caracteres

ID de confirmación Opcional El ID de confirmación de la reserva de alquiler del vehículo. Texto libre
Precio - Precio actual Condicionalmente obligatorio

Es el precio actual de la reserva.

Se debe brindar si se proporciona el precio tachado.

Texto libre
Precio (precio de ejercicio) Opcional El precio original de la reserva, que aparecerá tachado en el de la IU de Google. Texto libre
Solicitud de oferta de precio Opcional Es el texto destacado del precio que muestra una promoción, un evento o un descuento para miembros, si está disponible.

Texto libre

Tamaño de texto recomendado: Menos de 45 caracteres (texto demasiado largo) puede mostrar puntos suspensivos)

Especificaciones de imagen

En esta tabla, se indican las especificaciones obligatorias para los recursos de imagen:

Relación de aspecto Píxeles mínimos Píxeles recomendados

Formato cuadrado (1 x 1)

Preferido

300 x 300 1,200 x 1,200
Formato horizontal (1.91 x 1) 600 x 314 1,200 x 628
Formato vertical (4 x 5) 480 x 600 960 x 1,200

Las imágenes deben estar alojadas en CDN públicas para que Google pueda acceder a ellas.

Formatos de archivo

PNG, JPG, GIF estático, WebP

Tamaño máximo de los archivos

5120 KB

Recomendaciones adicionales

  • Área segura para la imagen: Coloca el contenido importante en el 80% central de la imagen.
  • Usa un fondo transparente para que la imagen se muestre correctamente cuando se configure el tema oscuro o claro.

Categoría de contenido

La categoría de contenido permite que las aplicaciones publiquen contenido que pertenezca a varias categorías. Esto asigna el contenido con algunas de las categorías predefinidas, a saber:

  • TYPE_EDUCATION
  • TYPE_SPORTS
  • TYPE_MOVIES_AND_TV_SHOWS
  • TYPE_BOOKS
  • TYPE_AUDIOBOOKS
  • TYPE_MUSIC
  • TYPE_DIGITAL_GAMES
  • TYPE_TRAVEL_AND_LOCAL
  • TYPE_HOME_AND_AUTO
  • TYPE_BUSINESS
  • TYPE_NEWS
  • TYPE_FOOD_AND_DRINK
  • TYPE_SHOPPING
  • TYPE_HEALTH_AND_FITENESS
  • TYPE_MEDICAL
  • TYPE_PARENTING
  • TYPE_DATING

Las imágenes deben estar alojadas en CDN públicas para que Google pueda acceder a ellas.

Lineamientos para usar las categorías de contenido

  1. Algunas entidades, como ArticleEntity y GenericFeaturedEntity, son las siguientes: apto para usar cualquiera de las categorías de contenido. Para otras entidades, como Solo EventEntity, EventReservationEntity y PointOfInterestEntity un subconjunto de estas categorías son aptos. Cómo consultar la lista de categorías apto para un tipo de entidad antes de propagar la lista.
  2. Usar el tipo de entidad específico para algunas categorías de contenido en lugar de una combinación de las entidades genéricas y ContentCategory:

  3. El campo ContentCategory es opcional y se debe dejar en blanco si el el contenido no pertenece a ninguna de las categorías mencionadas anteriormente.

  4. Si se proporcionan varias categorías de contenido, proporciónalas en el orden correspondiente. de relevancia para el contenido con la categoría de contenido más relevante primeros en la lista.

Paso 2: Proporciona los datos de los clústeres

Se recomienda que el trabajo de publicación de contenido se ejecute en segundo plano (por ejemplo, con WorkManager) y se programe con frecuencia o en eventos (por ejemplo, cada vez que el usuario abre la app o cuando acaba de agregar algo a su carrito).

AppEngagePublishClient es responsable de publicar los clústeres.

Hay cinco APIs para publicar clústeres en el cliente:

  • isServiceAvailable
  • publishRecommendationClusters
  • publishFeaturedCluster
  • publishContinuationCluster
  • publishUserAccountManagementRequest
  • updatePublishStatus
  • deleteRecommendationsClusters
  • deleteFeaturedCluster
  • deleteContinuationCluster
  • deleteUserManagementCluster
  • deleteClusters

isServiceAvailable

Esta API se usa para verificar si el servicio está disponible para la integración y si el contenido se puede presentar en el dispositivo.

Kotlin

client.isServiceAvailable.addOnCompleteListener { task ->
    if (task.isSuccessful) {
        // Handle IPC call success
        if(task.result) {
          // Service is available on the device, proceed with content publish
          // calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
}

Java

client.isServiceAvailable().addOnCompleteListener(task - > {
    if (task.isSuccessful()) {
        // Handle success
        if(task.getResult()) {
          // Service is available on the device, proceed with content publish
          // calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
});

publishRecommendationClusters

Esta API se usa para publicar una lista de objetos RecommendationCluster.

Kotlin

client.publishRecommendationClusters(
      PublishRecommendationClustersRequest.Builder()
        .addRecommendationCluster(
          RecommendationCluster.Builder()
            .addEntity(entity1)
            .addEntity(entity2)
            .setTitle("Top Picks For You")
            .build()
        )
        .build()
    )

Java

client.publishRecommendationClusters(
            new PublishRecommendationClustersRequest.Builder()
                .addRecommendationCluster(
                    new RecommendationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .setTitle("Top Picks For You")
                        .build())
                .build());

Cuando el servicio recibe la solicitud, se realizan las siguientes acciones en una transacción:

  • Se quitan los datos existentes de RecommendationCluster del socio desarrollador.
  • Los datos de la solicitud se analizan y se almacenan en el clúster de Recommendation actualizado.

En caso de error, se rechaza la solicitud completa y se mantiene el estado existente.

publishFeaturedCluster

Esta API se usa para publicar una lista de objetos FeaturedCluster.

Kotlin

client.publishFeaturedCluster(
    PublishFeaturedClusterRequest.Builder()
      .setFeaturedCluster(
        FeaturedCluster.Builder()
          .addEntity(entity1)
          .addEntity(entity2)
          .build())
      .build())

Java

client.publishFeaturedCluster(
            new PublishFeaturedClustersRequest.Builder()
                .addFeaturedCluster(
                    new FeaturedCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .build())
                .build());

Cuando el servicio recibe la solicitud, se realizan las siguientes acciones en una transacción:

  • Se quitan los datos existentes de FeaturedCluster del socio desarrollador.
  • Los datos de la solicitud se analizan y se almacenan en el clúster de Featured actualizado.

En caso de error, se rechaza la solicitud completa y se mantiene el estado existente.

publishContinuationCluster

Esta API se usa para publicar un objeto ContinuationCluster.

Kotlin

client.publishContinuationCluster(
    PublishContinuationClusterRequest.Builder()
      .setContinuationCluster(
        ContinuationCluster.Builder()
          .addEntity(entity1)
          .addEntity(entity2)
          .build())
      .build())

Java

client.publishContinuationCluster(
            new PublishContinuationClusterRequest.Builder()
                .setContinuationCluster(
                    new ContinuationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .build())
                .build());

Cuando el servicio recibe la solicitud, se realizan las siguientes acciones en una transacción:

  • Se quitan los datos existentes de ContinuationCluster del socio desarrollador.
  • Los datos de la solicitud se analizan y se almacenan en el clúster de Continuation actualizado.

En caso de error, se rechaza la solicitud completa y se mantiene el estado existente.

publishUserAccountManagementRequest

Esta API se usa para publicar una tarjeta de acceso. La acción de acceso dirige a los usuarios a la página de acceso de la app para que esta pueda publicar contenido (o proporcionar contenido más personalizado).

Los siguientes metadatos forman parte de la tarjeta de acceso:

Atributo Requisito Descripción
URI de acción Obligatorio Vínculo directo a la acción (p. ej., navega a la página de acceso de la app)
Imagen Opcional: En caso de que no se proporcione el título, debes brindar uno.

Imagen que se muestra en la tarjeta

Imágenes con una relación de aspecto de 16 × 9, con una resolución de 1264 × 712

Título Opcional: En caso de que no se proporcione la imagen, debes brindar una. Título en la tarjeta
Texto de acción Opcional Texto que se muestra en la CTA (p. ej., Acceder)
Subtítulo Opcional Subtítulo opcional en la tarjeta

Kotlin

var SIGN_IN_CARD_ENTITY =
      SignInCardEntity.Builder()
          .addPosterImage(
              Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build()

client.publishUserAccountManagementRequest(
            PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());

Java

SignInCardEntity SIGN_IN_CARD_ENTITY =
      new SignInCardEntity.Builder()
          .addPosterImage(
              new Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build();

client.publishUserAccountManagementRequest(
            new PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());

Cuando el servicio recibe la solicitud, se realizan las siguientes acciones en una transacción:

  • Se quitan los datos existentes de UserAccountManagementCluster del socio desarrollador.
  • Los datos de la solicitud se analizan y se almacenan en el clúster de UserAccountManagementCluster actualizado.

En caso de error, se rechaza la solicitud completa y se mantiene el estado existente.

updatePublishStatus

Si, por algún motivo empresarial interno, no se publica ninguno de los clústeres, recomendamos enfáticamente actualizar el estado de publicación updatePublishStatus. A continuación, explicamos por qué es importante:

  • Proporcionar el estado en todas las situaciones, incluso cuando el contenido está publicado (STATUS == PUBLISHED), es fundamental para propagar los paneles que usan este estado explícito para transmitir el estado y otras métricas de tu integración.
  • Si no se publica contenido pero el estado de integración no está roto (STATUS == NOT_PUBLISHED), Google puede evitar activar alertas en los paneles de estado de la app. Confirma que el contenido no se publicó debido a una situación prevista desde el punto de vista del proveedor.
  • Ayuda a los desarrolladores a proporcionar estadísticas sobre cuándo se publican los datos no.
  • Google puede utilizar los códigos de estado para sugerir al usuario que realice ciertas acciones en la aplicación para que puedan ver el contenido de la aplicación o superarlo.

La lista de códigos de estado de publicación aptos es la siguiente:

// Content is published
AppEngagePublishStatusCode.PUBLISHED,

// Content is not published as user is not signed in
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN,

// Content is not published as user is not subscribed
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SUBSCRIPTION,

// Content is not published as user location is ineligible
AppEngagePublishStatusCode.NOT_PUBLISHED_INELIGIBLE_LOCATION,

// Content is not published as there is no eligible content
AppEngagePublishStatusCode.NOT_PUBLISHED_NO_ELIGIBLE_CONTENT,

// Content is not published as the feature is disabled by the client
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_FEATURE_DISABLED_BY_CLIENT,

// Content is not published as the feature due to a client error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_CLIENT_ERROR,

// Content is not published as the feature due to a service error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_SERVICE_ERROR,

// Content is not published due to some other reason
// Reach out to engage-developers@ before using this enum.
AppEngagePublishStatusCode.NOT_PUBLISHED_OTHER

Si el contenido no se publica debido a que un usuario no accedió, Google te recomendamos que publiques la tarjeta de acceso. Si, por algún motivo, los proveedores no pueden para publicar la tarjeta de acceso, te recomendamos llamar al API de updatePublishStatus con el código de estado ACCEDER_NO_PUBLICADO_REQUISITOS

Kotlin

client.updatePublishStatus(
   PublishStatusRequest.Builder()
     .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
     .build())

Java

client.updatePublishStatus(
    new PublishStatusRequest.Builder()
        .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
        .build());

deleteRecommendationClusters

Esta API se usa para borrar el contenido de los clústeres de Recommendation.

Kotlin

client.deleteRecommendationClusters()

Java

client.deleteRecommendationClusters();

Cuando el servicio recibe la solicitud, quita los datos existentes de los clústeres de Recommendation. En caso de error, se rechaza la solicitud completa y se mantiene el estado existente.

deleteFeaturedCluster

Esta API se usa para borrar el contenido del clúster de Featured.

Kotlin

client.deleteFeaturedCluster()

Java

client.deleteFeaturedCluster();

Cuando el servicio recibe la solicitud, quita los datos existentes del clúster de Featured. En caso de error, se rechaza la solicitud completa y se mantiene el estado existente.

deleteContinuationCluster

Esta API se usa para borrar el contenido del clúster de Continuation.

Kotlin

client.deleteContinuationCluster()

Java

client.deleteContinuationCluster();

Cuando el servicio recibe la solicitud, quita los datos existentes del clúster de Continuation. En caso de error, se rechaza la solicitud completa y se mantiene el estado existente.

deleteUserManagementCluster

Esta API se usa para borrar el contenido del clúster de UserAccountManagement.

Kotlin

client.deleteUserManagementCluster()

Java

client.deleteUserManagementCluster();

Cuando el servicio recibe la solicitud, quita los datos existentes del clúster de UserAccountManagement. En caso de error, se rechaza la solicitud completa y se mantiene el estado existente.

deleteClusters

Esta API se usa para borrar el contenido de un tipo de clúster determinado.

Kotlin

client.deleteClusters(
    DeleteClustersRequest.Builder()
      .addClusterType(ClusterType.TYPE_CONTINUATION)
      .addClusterType(ClusterType.TYPE_FEATURED)
      .addClusterType(ClusterType.TYPE_RECOMMENDATION)
      .build())

Java

client.deleteClusters(
            new DeleteClustersRequest.Builder()
                .addClusterType(ClusterType.TYPE_CONTINUATION)
                .addClusterType(ClusterType.TYPE_FEATURED)
                .addClusterType(ClusterType.TYPE_RECOMMENDATION)
                .build());

Cuando el servicio recibe la solicitud, quita los datos existentes de todos los clústeres que coincidan con los tipos de clúster especificados. Los clientes pueden optar por pasar uno o varios tipos de clústeres. En caso de error, se rechaza la solicitud completa y se mantiene el estado existente.

Manejo de errores

Te recomendamos que escuches el resultado de la tarea de las APIs de publicación, de manera que se pueda realizar una acción de seguimiento para recuperar y volver a enviar una tarea con éxito.

Kotlin

client.publishRecommendationClusters(
        PublishRecommendationClustersRequest.Builder()
          .addRecommendationCluster(..)
          .build())
      .addOnCompleteListener { task ->
        if (task.isSuccessful) {
          // do something
        } else {
          val exception = task.exception
          if (exception is AppEngageException) {
            @AppEngageErrorCode val errorCode = exception.errorCode
            if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
              // do something
            }
          }
        }
      }

Java

client.publishRecommendationClusters(
              new PublishRecommendationClustersRequest.Builder()
                  .addRecommendationCluster(...)
                  .build())
          .addOnCompleteListener(
              task -> {
                if (task.isSuccessful()) {
                  // do something
                } else {
                  Exception exception = task.getException();
                  if (exception instanceof AppEngageException) {
                    @AppEngageErrorCode
                    int errorCode = ((AppEngageException) exception).getErrorCode();
                    if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
                      // do something
                    }
                  }
                }
              });

El error se muestra como una AppEngageException con la causa incluida como un código de error.

Código de error Nota
SERVICE_NOT_FOUND El servicio no está disponible en el dispositivo determinado.
SERVICE_NOT_AVAILABLE El servicio está disponible en el dispositivo determinado, pero no en el momento de la llamada (por ejemplo, está inhabilitado explícitamente).
SERVICE_CALL_EXECUTION_FAILURE No se pudo ejecutar la tarea debido a problemas con los subprocesos. En este caso, se puede volver a intentar.
SERVICE_CALL_PERMISSION_DENIED El llamador no tiene permiso para realizar la llamada de servicio.
SERVICE_CALL_INVALID_ARGUMENT La solicitud contiene datos no válidos (por ejemplo, una cantidad de clústeres mayor que la permitida).
SERVICE_CALL_INTERNAL Hay un error en el servicio.
SERVICE_CALL_RESOURCE_EXHAUSTED La llamada de servicio se realiza con demasiada frecuencia.

Paso 3: Controla los intents de transmisión

Además de realizar llamadas a las APIs de publicación de contenido a través de un trabajo, también se requiere configurar un BroadcastReceiver para recibir la solicitud de publicación de contenido.

El objetivo de los intents de transmisión es principalmente reactivar apps y forzar la sincronización de datos. Los intents de transmisión no están diseñados para enviarse con mucha frecuencia. Solo se activan cuando el servicio de Engage determina que el contenido puede estar inactivo (por ejemplo, si es de hace una semana). De esa manera, será más probable que el usuario tenga una experiencia de contenido actualizada, incluso si la aplicación no se ejecutó durante un período prolongado.

El BroadcastReceiver debe configurarse de las siguientes dos maneras:

  • Registra de forma dinámica una instancia de la clase BroadcastReceiver con Context.registerReceiver(). Esto permite la comunicación desde aplicaciones que aún están activas en la memoria.

Kotlin

class AppEngageBroadcastReceiver : BroadcastReceiver(){
  // Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
  // is received
  // Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received
  // Trigger continuation cluster publish when PUBLISH_CONTINUATION broadcast is
  // received
}

fun registerBroadcastReceivers(context: Context){
  var  context = context
  context = context.applicationContext

// Register Recommendation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_RECOMMENDATION))

// Register Featured Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_FEATURED))

// Register Continuation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_CONTINUATION))
}

Java

class AppEngageBroadcastReceiver extends BroadcastReceiver {
// Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
// is received

// Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received

// Trigger continuation cluster publish when PUBLISH_CONTINUATION broadcast is
// received
}

public static void registerBroadcastReceivers(Context context) {

context = context.getApplicationContext();

// Register Recommendation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_RECOMMENDATION));

// Register Featured Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_FEATURED));

// Register Continuation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_CONTINUATION));

}
  • Declara de forma estática una implementación con la etiqueta <receiver> en tu archivo AndroidManifest.xml. Esto permite que la aplicación reciba intents de transmisión cuando no está en ejecución y que la aplicación publique el contenido.
<application>
   <receiver
      android:name=".AppEngageBroadcastReceiver"
      android:exported="true"
      android:enabled="true">
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_RECOMMENDATION" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_FEATURED" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_CONTINUATION" />
      </intent-filter>
   </receiver>
</application>

El servicio envía los siguientes intents:

  • com.google.android.engage.action.PUBLISH_RECOMMENDATION Se recomienda para iniciar una llamada a publishRecommendationClusters cuando recibas este intent.
  • com.google.android.engage.action.PUBLISH_FEATURED Se recomienda Inicia una llamada a publishFeaturedCluster cuando recibas este intent.
  • com.google.android.engage.action.PUBLISH_CONTINUATION Se recomienda Inicia una llamada a publishContinuationCluster cuando recibas este intent.

Flujo de trabajo de integración

Si deseas obtener una guía paso a paso para verificar la integración una vez que esta se complete, consulta Flujo de trabajo de integración para desarrolladores de Engage.

Preguntas frecuentes

Consulta Preguntas frecuentes sobre el SDK de Engage para ver preguntas frecuentes.

Contacto

Contactar engage-developers@google.com si hay preguntas durante el proceso de integración.

Próximos pasos

Después de completar esta integración, sigue estos pasos:

  • Enviar un correo electrónico a engage-developers@google.com y adjunta el APK integrado que está listo para que Google lo pruebe.
  • Google realiza una verificación y revisiones internas para asegurarse de que la integración funcione según lo previsto. Si se necesitan cambios, Google se comunica contigo con los detalles necesarios.
  • Cuando se completen las pruebas y no se necesiten cambios, Google se comunicará contigo para te notificará que puedes comenzar a publicar el APK integrado y actualizado en Play Store.
  • Después de que Google confirme que tu APK actualizado se publicó en Play Store, los clústeres de Recommendation, Featured y Continuation se pueden publicar y estar visibles para los usuarios.