Google développe actuellement une surface sur appareil qui organisera les applications des utilisateurs par secteurs et offrira une nouvelle expérience immersive permettant une consommation et une découverte personnalisées du contenu des applications. Cette expérience plein écran permet aux développeurs partenaires de présenter leurs meilleurs contenus enrichis sur un canal dédié en dehors de leur application.
Ce document explique aux développeurs partenaires comment intégrer de nouveaux contenus tels que des réservations, des événements, des hébergements, des lieux d'intérêt, des personnes et d'autres contenus susceptibles de n'appartenir à aucune de ces catégories à l'aide du SDK Engage pour renseigner cette nouvelle surface.
Détails de l'intégration
Terminologie
Cette intégration comprend les trois types de clusters suivants: Recommendation (Recommandations), Featured (Sélection) et Continuation (Suite).
Les clusters Recommendation affichent des suggestions personnalisées d'un développeur partenaire individuel. Il s'agit d'une vue d'interface utilisateur qui contient un groupe de recommandations du même développeur partenaire.
ArticleEntity: ArticleEntity qui représente une recommandation textuelle pour du contenu pertinent pour plusieurs catégories. Par rapport à GenericFeaturedEntity, l'élément ArticleEntity permet aux développeurs de fournir un contenu varié de texte et d'image avec plus de métadonnées pour présenter les informations aux utilisateurs. Par exemple: contenu marketing, extrait d'actualités
Figure 1:UI montrant un seul ArticleEntity dans le cluster "Recommendations" EventEntity: EventEntity représente un événement qui se déroule dans le futur. L'heure de début de l'événement est une information essentielle qui doit être transmise aux utilisateurs.
Figure 2:UI montrant un seul EventEntity dans le cluster "Recommendations" LodgingEntity: LodgingEntity représente un hébergement, tel qu'un hôtel, un appartement, une maison de vacances pour une location à court ou long terme.
Figure 3:UI montrant un seul LodgingEntity dans le cluster "Recommendations" StoreEntity: StoreEntity représente un magasin, un restaurant, un café, etc. Il met en avant le contenu où un restaurant ou un magasin est l'information essentielle qui doit être transmise aux utilisateurs.
Figure 4:UI montrant un seul StoreEntity dans le cluster "Recommendations" PointOfInterestEntity : "PointOfInterestEntity" représente un lieu d'intérêt tel qu'une station-service, un espace événementiel, un parc à thème, un musée, une attraction touristique, un sentier de randonnée, etc. Il met en avant le contenu où le lieu constitue une information essentielle qui doit être communiquée aux utilisateurs. Il ne doit pas être utilisé comme hébergement, magasin ou restaurant.
Figure 5:UI montrant un seul PointOfInterestEntity dans le cluster "Recommendations" PersonEntity: la propriété PersonEntity représente une personne. Les recommandations pourraient consister à mettre en avant une personne dans des catégories telles que la santé et la remise en forme, le sport, les rencontres, etc.
Figure 5:UI montrant un seul élément PersonEntity dans le cluster "Recommendations"
Le cluster Suite affiche le contenu récemment engagé par les utilisateurs de plusieurs développeurs partenaires dans un regroupement d'UI. Chaque développeur partenaire est autorisé à diffuser au maximum 10 entités dans le cluster "Continuation".
Votre contenu de continuation peut prendre la structure suivante:
ArticleEntity: ArticleEntity qui représente une recommandation textuelle pour du contenu pertinent pour plusieurs catégories. Cette entité peut être utilisée pour représenter des articles de presse inachevés ou d'autres contenus que l'utilisateur souhaiterait continuer à consommer là où il l'avait laissé. Ex. : contenu marketing, extrait d'actualités
Figure 6 : UI montrant un seul ArticleEntity dans un cluster "Continuation" RestaurantBookingEntity: RestaurantBookingEntity correspond à une réservation pour un restaurant ou un café et aide les utilisateurs à suivre les réservations de restaurant à venir ou en cours.
Figure 7 : Interface utilisateur montrant un seul RestaurantBookingEntity dans un cluster "Continuation" EventBookingEntity: EventBookingEntity représente une réservation pour un événement et aide les utilisateurs à suivre les réservations d'événements à venir ou en cours. Voici quelques exemples d'événements:
- Événements sportifs (réservation pour un match de foot, par exemple)
- Événements liés aux jeux comme les réservations d'e-sport
- Événement de divertissement : réservation de films, concert, théâtre, dédicace de livres
- Réservations de voyages ou de points d'intérêt (visites guidées, billets de musée, etc.)
- Réservations de réseaux sociaux / de séminaires / conférences
- Réservations de sessions d'éducation / de formation
Figure 8. Interface utilisateur montrant un seul EventBookingEntity dans un cluster "Continuation" LodgingBookingEntity: LodgingEntityreservation représente une réservation d'hébergement de voyage et aide les utilisateurs à suivre les réservations d'hôtels ou de locations de vacances à venir ou en cours.
Figure 9. UI montrant une seule entité LodgingBookingEntity dans un cluster "Continuation" TransportationBookingEntity: TransportationBookingEntity représente une réservation de transport, quel que soit le mode de transport. L'utilisateur peut ainsi suivre les réservations pour un vol, un ferry, un train, un bus, un trajet en taxi ou une croisière à venir ou en cours.
Figure 10 : UI montrant une seule entité TransportationRéservationEntity dans un cluster "Continuation" VehicleRentalBookingEntity: représente une réservation de location de véhicule et permet aux utilisateurs de suivre les réservations de véhicules à venir ou en cours.
Figure 11 : UI montrant un seul VehicleRentalBookingEntity dans un cluster "Continuation"
Le cluster Sélection est une vue d'UI qui présente l'entité phare (
GenericFeaturedEntity
) de nombreux développeurs partenaires dans un seul regroupement d'UI. Il n'existe qu'un seul cluster "Sélection", situé dans la partie supérieure de l'UI, avec un emplacement prioritaire au-dessus de tous les clusters "Recommandations". Chaque développeur partenaire est autorisé à diffuser une seule entité dont le type est compatible dans la sélection, avec de nombreuses entités (qui peuvent être de types différents) de plusieurs développeurs d'applications dans le cluster "Sélection".GenericFeaturedEntity: cet élément GenericFeaturedEntity se distingue de l'élément "Recommendation" dans le sens où il doit être utilisé pour un seul contenu populaire provenant des développeurs. Il doit également représenter le contenu le plus important, qui sera intéressant et pertinent pour les utilisateurs.
Figure 12:UI montrant une seule fiche GenericFeaturedEntity dans un cluster "Featured"
Travail préalable
Niveau d'API minimal : 19
Ajoutez la bibliothèque com.google.android.play:engage
à votre application :
dependencies {
// Make sure you also include that repository in your project's build.gradle file.
implementation 'com.google.android.engage:engage-core:1.4.1'
}
Résumé
La conception repose sur l'implémentation d'un service lié.
Les données qu'un client peut publier sont soumises aux limites suivantes pour chaque type de cluster :
Type de cluster | Nombre limite de clusters | Limites minimales d'entités dans un cluster | Limites maximales d'entités dans un cluster |
---|---|---|---|
Cluster(s) "Recommendation" | 5 maximum | Au moins 5 | 25 maximum (ArticleEntity , EventEntity , LodgingEntity , StoreEntity , PointOfInterestEntity ou PersonEntity ) |
Cluster "Continuation" | 1 maximum | Au moins 1 | 10 maximum (ArticleEntity , EventReservationEntity , LodgingReservationEntity , TransportationReservationEntity ou VehicleRentalReservationEntity ) |
Cluster "Featured" | 1 maximum | Au moins 1 | 10 maximum (GenericFeaturedEntity ) |
Étape 1 : Fournir les données d'entité
Le SDK a défini différentes entités pour représenter chaque type d'élément. Nous prenons en charge les entités suivantes pour la catégorie "Autres" :
GenericFeaturedEntity
ArticleEntity
EventEntity
LodgingEntity
StoreEntity
PointOfInterestEntity
PersonEntity
RestaurantReservationEntity
EventReservationEntity
LodgingReservationEntity
TransportationReservationEntity
VehicleRentalReservationEntity
Les tableaux ci-dessous décrivent les attributs disponibles pour chaque type et indiquent s'ils sont obligatoires.
GenericFeaturedEntity
Attribut | Obligatoire ? | Description | Format |
---|---|---|---|
URI d'action | Obligatoire |
Lien profond vers l'entité dans l'application pour les fournisseurs. Remarque : Vous pouvez utiliser des liens profonds pour l'attribution. Consultez ces questions fréquentes |
URI |
Images poster | Obligatoire | Nous n'affichons qu'une seule image si vous en fournissez plusieurs. Format recommandé : 16:9 Remarque:Si un badge est fourni, veillez à ce qu'un espace sûr de 24 dp/s en haut et en bas de l'image soit disponible. |
Consultez la section Caractéristiques des images pour en savoir plus. |
Titre | Facultatif | Titre de l'entité. | Texte libre Taille de texte recommandée: 50 caractères |
Description | Facultatif | Paragraphe de texte unique pour décrire l'entité. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée: 180 caractères |
Liste de sous-titres | Facultatif | Jusqu'à trois sous-titres, chaque sous-titre contenant une seule ligne de texte. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée pour chaque sous-titre: 50 caractères maximum |
Badges | Facultatif | Chaque badge comporte du texte libre (15 caractères maximum) ou une petite image. Traitement spécial de l'expérience utilisateur par-dessus l'image/la vidéo (par exemple, en tant que badge en superposition sur l'image)
|
|
Badge - Texte | Facultatif | Titre du badge Remarque:Pour utiliser le badge, vous devez ajouter du texte ou une image. |
Texte libre Taille de texte recommandée: 15 caractères max. |
Badge – Image | Facultatif | Petite image Traitement spécial de l'expérience utilisateur, par exemple sous forme de badge en superposition sur la miniature de l'image/vidéo. Remarque:Pour utiliser le badge, vous devez ajouter du texte ou une image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
Catégories de contenu | Facultatif | Décrivez la catégorie du contenu dans l'entité. | Liste des énumérations Consultez la section Catégorie de contenu pour en savoir plus. |
ArticleEntity
Attribut | Obligatoire ? | Description | Format |
---|---|---|---|
URI d'action | Obligatoire |
Lien profond vers l'entité dans l'application pour les fournisseurs. Remarque : Vous pouvez utiliser des liens profonds pour l'attribution. Consultez ces questions fréquentes |
URI |
Titre | Obligatoire | Titre de l'entité. | Texte libre Taille de texte recommandée: 50 caractères maximum |
Images poster | Facultatif | Nous n'affichons qu'une seule image si vous en fournissez plusieurs. Format recommandé : 16:9 Remarque:Nous vous recommandons vivement d'utiliser une image. Si un badge est fourni, veuillez prévoir un espace libre de 24 dp en haut et en bas de l'image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
Source – Titre | Facultatif | Nom de l'auteur, de l'organisation ou de l'auteur du rapport | Texte libre Taille de texte recommandée: 25 caractères maximum |
Source – Image | Facultatif | Une image de la source, telle que l'auteur, l'organisation, le journaliste | Consultez la section Caractéristiques des images pour en savoir plus. |
Description | Facultatif | Paragraphe de texte unique pour décrire l'entité. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée: 180 caractères |
Liste de sous-titres | Facultatif | Jusqu'à trois sous-titres, chaque sous-titre contenant une seule ligne de texte. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée pour chaque sous-titre: 50 caractères maximum |
Badges | Facultatif | Chaque badge comporte du texte libre (15 caractères maximum) ou une petite image. Traitement spécial de l'expérience utilisateur par-dessus l'image/la vidéo (par exemple, en tant que badge en superposition sur l'image)
|
|
Badge - Texte | Facultatif | Titre du badge Remarque:Pour utiliser le badge, vous devez ajouter du texte ou une image. |
Texte libre Taille de texte recommandée: 15 caractères max. |
Badge – Image | Facultatif | Petite image Traitement spécial de l'expérience utilisateur, par exemple sous forme de badge en superposition sur la miniature de l'image/vidéo. Remarque:Pour utiliser le badge, vous devez ajouter du texte ou une image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
Heure de publication du contenu | Facultatif | Il s'agit du code temporel de l'epoch, en millisecondes, correspondant au moment où le contenu a été publié / mis à jour dans l'application. | Code temporel de l'epoch (en millisecondes) |
Durée du dernier engagement | Obligatoire sous certaines conditions | Code temporel de l'epoch, en millisecondes, lorsque l'utilisateur a interagi avec cette entité pour la dernière fois. Remarque:Ce champ est obligatoire si cette entité fait partie du cluster "Continuation". |
Code temporel de l'epoch (en millisecondes) |
Pourcentage de progression | Obligatoire sous certaines conditions | Pourcentage de l'intégralité du contenu consommé par l'utilisateur à ce jour. Remarque:Ce champ est obligatoire si cette entité fait partie du cluster "Continuation". |
Valeur entière comprise entre 0 et 100 inclus. |
Catégories de contenu | Facultatif | Décrivez la catégorie du contenu dans l'entité. | Liste des énumérations Consultez la section Catégorie de contenu pour en savoir plus. |
EventEntity
Attribut | Obligatoire ? | Description | Format |
---|---|---|---|
URI d'action | Obligatoire |
Lien profond vers l'entité dans l'application pour les fournisseurs. Remarque : Vous pouvez utiliser des liens profonds pour l'attribution. Consultez ces questions fréquentes |
URI |
Titre | Obligatoire | Titre de l'entité. | Chaîne Taille de texte recommandée: 50 caractères maximum |
Heure de début | Obligatoire |
Code temporel de l'epoch où l'événement doit commencer. Remarque:Cette valeur est exprimée en millisecondes. |
Code temporel de l'epoch (en millisecondes) |
Mode d'événement | Obligatoire | Champ indiquant si l'événement sera virtuel, en personne ou les deux. |
Énumération: VIRTUAL, IN_PERSON ou HYBRID |
Images poster | Obligatoire | Nous n'affichons qu'une seule image si vous en fournissez plusieurs. Format recommandé : 16:9 Remarque:Nous vous recommandons vivement d'utiliser une image. Si un badge est fourni, veuillez prévoir un espace libre de 24 dp en haut et en bas de l'image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
Zone géographique – Pays | Obligatoire sous certaines conditions | Pays dans lequel l'événement a lieu. Remarque:Ce champ est obligatoire pour les événements de type IN_PERSON ou HYBRID. |
Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu : Ville | Obligatoire sous certaines conditions | Ville dans laquelle l'événement a lieu. Remarque:Ce champ est obligatoire pour les événements de type IN_PERSON ou HYBRID. |
Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Afficher l'adresse | Obligatoire sous certaines conditions | Adresse ou nom du lieu où l'événement aura lieu et qui doit être présenté à l'utilisateur. Remarque:Ce champ est obligatoire pour les événements de type IN_PERSON ou HYBRID. |
Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu – Adresse postale | Facultatif | Adresse postale (le cas échéant) du lieu où l'événement est organisé. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – État | Facultatif | État ou province (le cas échéant) où l'événement est organisé. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Code postal | Facultatif | Le code postal (le cas échéant) du lieu où l'événement est organisé. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Quartier | Facultatif | Le quartier (le cas échéant) dans lequel l'événement est organisé | Texte libre Taille de texte recommandée: 20 caractères max. |
Heure de fin | Facultatif |
Code temporel de l'epoch où l'événement doit se terminer. Remarque:Cette valeur est exprimée en millisecondes. |
Code temporel de l'epoch (en millisecondes) |
Description | Facultatif | Paragraphe de texte unique pour décrire l'entité. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée: 180 caractères |
Liste de sous-titres | Facultatif | Jusqu'à trois sous-titres, chaque sous-titre contenant une seule ligne de texte. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée pour chaque sous-titre: 50 caractères maximum |
Badges | Facultatif |
Chaque badge comporte du texte libre (15 caractères maximum) ou une petite image. |
|
Badge - Texte | Facultatif | Titre du badge Remarque:Pour utiliser le badge, vous devez ajouter du texte ou une image. |
Texte libre Taille de texte recommandée: 15 caractères max. |
Badge – Image | Facultatif | Petite image Traitement spécial de l'expérience utilisateur, par exemple sous forme de badge en superposition sur la miniature de l'image/vidéo. Remarque:Pour utiliser le badge, vous devez ajouter du texte ou une image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
Prix – CurrentPrice | Obligatoire sous certaines conditions |
Prix actuel du billet ou du pass pour l'événement. À indiquer si le prix barré est indiqué. |
Texte libre |
Prix (prix barré) | Facultatif | Prix d'origine du billet pour l'événement | Texte libre |
Accroche sur le prix | Facultatif | Accroche sur le prix mettant en avant une promotion, un événement ou une remise réservée aux membres, le cas échéant. | Texte libre Taille de texte recommandée: 45 caractères maximum (si le texte est trop long, des points de suspension peuvent s'afficher) |
Catégories de contenu | Facultatif | Décrivez la catégorie du contenu dans l'entité. | Liste des énumérations éligibles
Consultez la section Catégorie de contenu pour en savoir plus. |
LodgingEntity
Attribut | Obligatoire ? | Description | Format |
---|---|---|---|
URI d'action | Obligatoire |
Lien profond vers l'entité dans l'application pour les fournisseurs. Remarque : Vous pouvez utiliser des liens profonds pour l'attribution. Consultez ces questions fréquentes |
URI |
Titre | Obligatoire | Titre de l'entité. | Chaîne Taille de texte recommandée: 50 caractères maximum |
Images poster | Obligatoire |
Nous n'affichons qu'une seule image si vous en fournissez plusieurs. Format recommandé : 16:9 Remarque:Si un badge est fourni, veillez à ce qu'un espace sûr de 24 dp/s en haut et en bas de l'image soit disponible. |
Consultez la section Caractéristiques des images pour en savoir plus. |
Zone géographique – Pays | Obligatoire | Pays dans lequel l'hébergement est effectué. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu : Ville | Obligatoire | Ville où se déroule l'hébergement. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Afficher l'adresse | Obligatoire | Adresse de l'hébergement qui sera présentée à l'utilisateur. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu – Adresse postale | Facultatif | Adresse postale (le cas échéant) de l'hébergement. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – État | Facultatif | État ou province (le cas échéant) où se trouve l'hébergement. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Code postal | Facultatif | Le code postal de l'établissement (le cas échéant). | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Quartier | Facultatif | Le quartier de l'établissement (le cas échéant). | Texte libre Taille de texte recommandée: 20 caractères max. |
Badges | Facultatif |
Chaque badge comporte du texte libre (15 caractères maximum) ou une petite image. |
|
Badge - Texte | Facultatif | Titre du badge Remarque:Pour utiliser le badge, vous devez ajouter du texte ou une image. |
Texte libre Taille de texte recommandée: 15 caractères max. |
Badge – Image | Facultatif | Petite image Traitement spécial de l'expérience utilisateur, par exemple sous forme de badge en superposition sur la miniature de l'image/vidéo. Remarque:Pour utiliser le badge, vous devez ajouter du texte ou une image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
Description | Facultatif | Paragraphe de texte unique pour décrire l'entité. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée: 180 caractères |
Liste de sous-titres | Facultatif | Jusqu'à trois sous-titres, chaque sous-titre contenant une seule ligne de texte. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée pour chaque sous-titre: 50 caractères maximum |
AvailabilityWindow – Heure de début | Facultatif | Code temporel de l'epoch, en millisecondes, correspondant au moment où l'hébergement est censé être ouvert/disponible. | Code temporel de l'epoch (en millisecondes) |
AvailabilityWindow – Heure de fin | Facultatif | Code temporel de l'epoch, en millisecondes, jusqu'à ce que l'hébergement soit ouvert/disponible. | Code temporel de l'epoch (en millisecondes) |
Note (valeur maximale) | Facultatif | Valeur maximale de l'échelle d'évaluation. À fournir si la valeur de la note actuelle est également indiquée. |
Nombre >= 0.0 |
Note (valeur actuelle) | Facultatif | Valeur actuelle de l'échelle d'évaluation. À fournir si la valeur maximale de la note est également indiquée. |
Nombre >= 0.0 |
Nombre de notes | Facultatif | Nombre de notes attribuées à l'hébergement. Remarque:Renseignez ce champ si votre application souhaite contrôler la façon dont les informations sont présentées aux utilisateurs. Veuillez fournir la chaîne concise qui peut être présentée à l'utilisateur. Par exemple, si le nombre est égal à 1 000 000, pensez à utiliser des abréviations telles que 1M afin qu'elles ne soient pas tronquées sur des écrans de plus petite taille. |
Chaîne |
Note (valeur de nombre) | Facultatif | Nombre de notes attribuées à l'hébergement. Remarque:Renseignez ce champ si vous ne souhaitez pas gérer vous-même la logique d'abréviation d'affichage. Si les options "Count" (Nombre) et "Count Value" (Valeur de nombre) sont présentes, nous utiliserons la valeur "Count" (Nombre) pour la présenter aux utilisateurs |
Longue |
Prix – CurrentPrice | Obligatoire sous certaines conditions | Prix actuel du logement. À fournir si le prix barré est indiqué. |
Texte libre |
Prix (prix barré) | Facultatif | Prix d'origine de l'hébergement, qui sera barré dans l'interface utilisateur. | Texte libre |
Accroche sur le prix | Facultatif | Accroche sur le prix mettant en avant une promotion, un événement ou une remise réservée aux membres, le cas échéant. | Texte libre Taille de texte recommandée: 45 caractères maximum (si le texte est trop long, des points de suspension peuvent s'afficher) |
StoreEntity
L'objet StoreEntity
représente un magasin individuel que les développeurs partenaires souhaitent publier, comme un restaurant ou une épicerie.
Attribut | Obligatoire ? | Description | Format |
---|---|---|---|
Images poster | Obligatoire | Vous devez fournir au moins une image. | Consultez la section Caractéristiques des images pour en savoir plus. |
URI d'action | Obligatoire |
Lien profond vers l'entité dans l'application pour les fournisseurs. Remarque : Vous pouvez utiliser des liens profonds pour l'attribution. Consultez ces questions fréquentes |
URI |
Titre | Facultatif | Nom du magasin. | Texte libre Taille de texte recommandée : 45 caractères maximum (si le texte est trop long, des points de suspension peuvent s'afficher) |
Position | Facultatif | Emplacement du magasin. | Texte libre Taille de texte recommandée : 45 caractères maximum (si le texte est trop long, des points de suspension peuvent s'afficher) |
Accroche | Facultatif | Accroche qui met en avant une promotion, un événement ou une nouveauté pour le magasin, le cas échéant. | Texte libre Taille de texte recommandée : 45 caractères maximum (si le texte est trop long, des points de suspension peuvent s'afficher) |
Texte en petits caractères de l'accroche | Facultatif | Texte en petits caractères pour l'accroche. | Texte libre Taille de texte recommandée : 45 caractères maximum (si le texte est trop long, des points de suspension peuvent s'afficher) |
Description | Facultatif | Description du magasin. | Texte libre Taille de texte recommandée : 90 caractères maximum (si le texte est trop long, des points de suspension peuvent s'afficher) |
Note (valeur maximale) | Facultatif | Valeur maximale de l'échelle d'évaluation. À fournir si la valeur de la note actuelle est également indiquée. |
Nombre >= 0.0 |
Note (valeur actuelle) | Facultatif | Valeur actuelle de l'échelle d'évaluation. À fournir si la valeur maximale de la note est également indiquée. |
Nombre >= 0.0 |
Nombre de notes | Facultatif | Nombre de notes attribuées à l'hébergement. Remarque:Renseignez ce champ si votre application souhaite contrôler la façon dont les informations sont présentées aux utilisateurs. Veuillez fournir la chaîne concise qui peut être présentée à l'utilisateur. Par exemple, si le nombre est égal à 1 000 000, pensez à utiliser des abréviations telles que 1M afin qu'elles ne soient pas tronquées sur des écrans de plus petite taille. |
Chaîne |
Note (valeur de nombre) | Facultatif | Nombre de notes attribuées à l'hébergement. Remarque:Renseignez ce champ si vous ne souhaitez pas gérer vous-même la logique d'abréviation d'affichage. Si les options "Count" (Nombre) et "Count Value" (Valeur de nombre) sont présentes, nous utiliserons la valeur "Count" (Nombre) pour la présenter aux utilisateurs |
Longue |
PointOfInterestEntity
Attribut | Obligatoire ? | Description | Format |
---|---|---|---|
URI d'action | Obligatoire |
Lien profond vers l'entité dans l'application pour les fournisseurs. Remarque : Vous pouvez utiliser des liens profonds pour l'attribution. Consultez ces questions fréquentes |
URI |
Titre | Obligatoire | Titre de l'entité. | Chaîne Taille de texte recommandée: 50 caractères maximum |
Images poster | Obligatoire | Nous n'affichons qu'une seule image si vous en fournissez plusieurs. Format recommandé : 16:9 Remarque:Nous vous recommandons vivement d'utiliser une image. Si un badge est fourni, veuillez prévoir un espace libre de 24 dp en haut et en bas de l'image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
Zone géographique – Pays | Obligatoire | Pays dans lequel se trouve le point d'intérêt. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu : Ville | Obligatoire | Ville où se trouve le point d'intérêt. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Afficher l'adresse | Obligatoire | Adresse du point d'intérêt qui sera présentée à l'utilisateur. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu – Adresse postale | Facultatif | Adresse postale (le cas échéant) du point d'intérêt. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – État | Facultatif | État ou province (le cas échéant) dans lequel se trouve le point d'intérêt. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Code postal | Facultatif | Le code postal (le cas échéant) du point d'intérêt. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Quartier | Facultatif | Le quartier (le cas échéant) du point d'intérêt. | Texte libre Taille de texte recommandée: 20 caractères max. |
AvailabilityWindow – Heure de début | Facultatif | Code temporel de l'epoch, en millisecondes, correspondant au moment où le point d'intérêt est censé être ouvert/disponible. | Code temporel de l'epoch (en millisecondes) |
AvailabilityWindow – Heure de fin | Facultatif | Code temporel de l'epoch, en millisecondes, jusqu'à ce que le point d'intérêt soit ouvert/disponible. | Code temporel de l'epoch (en millisecondes) |
Badges | Facultatif |
Chaque badge comporte du texte libre (15 caractères maximum) ou une petite image. |
|
Badge - Texte | Facultatif | Titre du badge Remarque:Pour utiliser le badge, vous devez ajouter du texte ou une image. |
Texte libre Taille de texte recommandée: 15 caractères max. |
Badge – Image | Facultatif | Petite image Traitement spécial de l'expérience utilisateur, par exemple sous forme de badge en superposition sur la miniature de l'image/vidéo. Remarque:Pour utiliser le badge, vous devez ajouter du texte ou une image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
Description | Facultatif | Paragraphe de texte unique pour décrire l'entité. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée: 180 caractères |
Liste de sous-titres | Facultatif | Jusqu'à trois sous-titres, chaque sous-titre contenant une seule ligne de texte. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée pour chaque sous-titre: 50 caractères maximum |
Note (valeur maximale) | Facultatif | Valeur maximale de l'échelle d'évaluation. À fournir si la valeur de la note actuelle est également indiquée. |
Nombre >= 0.0 |
Note (valeur actuelle) | Facultatif | Valeur actuelle de l'échelle d'évaluation. À fournir si la valeur maximale de la note est également indiquée. |
Nombre >= 0.0 |
Nombre de notes | Facultatif | Nombre de notes pour le point d'intérêt. Remarque:Renseignez ce champ si votre application souhaite contrôler la façon dont les informations sont présentées aux utilisateurs. Veuillez fournir la chaîne concise qui peut être présentée à l'utilisateur. Par exemple, si le nombre est égal à 1 000 000, pensez à utiliser des abréviations telles que 1M afin qu'elles ne soient pas tronquées sur des écrans de plus petite taille. |
Chaîne |
Note (valeur de nombre) | Facultatif | Nombre de notes pour le point d'intérêt. Remarque:Renseignez ce champ si vous ne souhaitez pas gérer vous-même la logique d'abréviation d'affichage. Si les options "Count" (Nombre) et "Count Value" (Valeur de nombre) sont présentes, nous utiliserons la valeur "Count" (Nombre) pour la présenter aux utilisateurs |
Longue |
Prix – CurrentPrice | Obligatoire sous certaines conditions |
Prix actuel des billets/billets d'entrée pour le point d'intérêt. À indiquer si le prix barré est indiqué. |
Texte libre |
Prix (prix barré) | Facultatif | Prix d'origine des billets/billets d'entrée pour le point d'intérêt. | Texte libre |
Accroche sur le prix | Facultatif | Accroche sur le prix mettant en avant une promotion, un événement ou une remise réservée aux membres, le cas échéant. |
Texte libre Taille de texte recommandée: 45 caractères maximum (si le texte est trop long, des points de suspension peuvent s'afficher) |
Catégories de contenu | Facultatif | Décrivez la catégorie du contenu dans l'entité. | Liste des énumérations éligibles
Consultez la section Catégorie de contenu pour en savoir plus. |
PersonEntity
Attribut | Obligatoire ? | Description | Format |
---|---|---|---|
URI d'action | Obligatoire |
Lien profond vers l'entité dans l'application pour les fournisseurs. Remarque : Vous pouvez utiliser des liens profonds pour l'attribution. Consultez ces questions fréquentes |
URI |
Profil : nom | Obligatoire | Nom ou identifiant du profil, par exemple "Jean Dupont", "@TeamPixel", etc. | Chaîne Taille de texte recommandée: 50 caractères maximum |
Profil – Avatar | Obligatoire |
Photo de profil ou avatar de l'utilisateur. Remarque:Vous devez utiliser une image carrée au format 1:1. |
Consultez la section Caractéristiques des images pour en savoir plus. |
Profil – Texte supplémentaire | Facultatif | Texte libre, comme l'identifiant du profil. | Texte libre Taille de texte recommandée: 15 caractères max. |
Profil – Image supplémentaire | Facultatif | Petite image semblable à un badge de validation. | Consultez la section Caractéristiques des images pour en savoir plus. |
Image d'en-tête | Facultatif | Nous n'affichons qu'une seule image si vous en fournissez plusieurs. Format recommandé : 16:9 Remarque:Nous vous recommandons vivement d'utiliser une image. Si un badge est fourni, veuillez prévoir un espace libre de 24 dp en haut et en bas de l'image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
Popularité (nombre) | Facultatif |
Représente l'image d'en-tête. Elle doit être différente de l'image de profil. Cela peut être utilisé s'il existe une image supplémentaire pour mettre en évidence la personne qui aime son travail. Remarque:Il doit s'agir d'une image au format 16:9. Si un badge est fourni, veillez à ce qu'un espace libre de 24 dp/s en haut et en bas de l'image soit disponible. |
Chaîne Taille de texte recommandée: 20 caractères maximum pour le nombre et le libellé combinés |
Popularité (valeur du nombre) | Facultatif | Nombre d'abonnés ou valeur de popularité. Remarque:Indiquez la valeur du nombre si votre application ne souhaite pas gérer la logique d'optimisation d'un grand nombre d'éléments pour différentes tailles d'affichage. Si les options "Count" (Nombre) et "Count Value" (Valeur de nombre) sont fournies, la méthode "Count" (Nombre) est utilisée. |
Longue |
Popularité – Libellé | Facultatif | Indiquez le libellé de popularité (par exemple, "J'aime"). | Chaîne Taille de texte recommandée: 20 caractères maximum pour le nombre et le libellé combinés |
Popularité – Visuel | Facultatif |
Indiquez à quoi sert l'interaction. Exemple : Image montrant l'icône J'aime et les emoji. Peut fournir plusieurs images, mais il est possible qu'elles ne s'affichent pas toutes avec tous les facteurs de forme. Remarque:Il doit s'agir d'une image carrée au format 1:1. |
Consultez la section Caractéristiques des images pour en savoir plus. |
Note (valeur maximale) | Obligatoire | Valeur maximale de l'échelle d'évaluation. À fournir si la valeur de la note actuelle est également indiquée. |
Nombre >= 0.0 |
Note (valeur actuelle) | Obligatoire | Valeur actuelle de l'échelle d'évaluation. À fournir si la valeur maximale de la note est également indiquée. |
Nombre >= 0.0 |
Nombre de notes | Facultatif | Nombre de notes pour l'entité. Remarque:Renseignez ce champ si votre application souhaite contrôler la façon dont les informations sont présentées aux utilisateurs. Veuillez fournir la chaîne concise qui peut être présentée à l'utilisateur. Par exemple, si le nombre est égal à 1 000 000, pensez à utiliser des abréviations telles que 1M afin qu'elles ne soient pas tronquées sur des écrans de plus petite taille. |
Chaîne |
Note (valeur de nombre) | Facultatif | Nombre de notes pour l'entité. Remarque:Renseignez ce champ si vous ne souhaitez pas gérer vous-même la logique d'abréviation d'affichage. Si les options "Count" (Nombre) et "Count Value" (Valeur de nombre) sont présentes, nous utiliserons la valeur "Count" (Nombre) pour la présenter aux utilisateurs |
Longue |
Zone géographique – Pays | Facultatif | Pays dans lequel la personne se trouve ou propose ses produits ou services. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu : Ville | Facultatif | Ville où la personne se trouve ou sert ses produits ou services. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Afficher l'adresse | Facultatif | L'adresse où se trouve la personne ou où elle sert ses produits ou services sera affichée auprès de l'utilisateur. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu – Adresse postale | Facultatif | Adresse postale (le cas échéant) où la personne est située ou propose ses produits ou services. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – État | Facultatif | État (le cas échéant) dans lequel se trouve la personne ou dans laquelle elle sert. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Code postal | Facultatif | Le code postal (le cas échéant) où se trouve la personne ou que vous desservez. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Quartier | Facultatif | Le quartier (le cas échéant) où se trouve la personne ou où elle dessert. | Texte libre Taille de texte recommandée: 20 caractères max. |
Badges | Facultatif |
Chaque badge comporte du texte libre (15 caractères maximum) ou une petite image. |
|
Badge - Texte | Facultatif | Titre du badge Remarque:Pour utiliser le badge, vous devez ajouter du texte ou une image. |
Texte libre Taille de texte recommandée: 15 caractères max. |
Badge – Image | Facultatif | Petite image Traitement spécial de l'expérience utilisateur, par exemple sous forme de badge en superposition sur la miniature de l'image/vidéo. Remarque:Pour utiliser le badge, vous devez ajouter du texte ou une image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
Description | Facultatif | Paragraphe de texte unique pour décrire l'entité. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée: 180 caractères |
Liste de sous-titres | Facultatif | Jusqu'à trois sous-titres, chaque sous-titre contenant une seule ligne de texte. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée pour chaque sous-titre: 50 caractères maximum |
Catégories de contenu | Facultatif | Décrivez la catégorie du contenu dans l'entité. | Liste des énumérations éligibles
Consultez la section Catégorie de contenu pour en savoir plus. |
RestaurantReservationEntity
Attribut | Obligatoire ? | Description | Format |
---|---|---|---|
URI d'action | Obligatoire |
Lien profond vers l'entité dans l'application pour les fournisseurs. Remarque : Vous pouvez utiliser des liens profonds pour l'attribution. Consultez ces questions fréquentes |
URI |
Titre | Obligatoire | Titre de l'entité. | Chaîne Taille de texte recommandée: 50 caractères maximum |
Heure de début de la réservation | Obligatoire | Code temporel de l'epoch, en millisecondes, indiquant le début de la réservation. | Code temporel de l'epoch (en millisecondes) |
Zone géographique – Pays | Obligatoire | Pays dans lequel le restaurant a lieu. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu : Ville | Obligatoire | Ville où se trouve le restaurant. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Afficher l'adresse | Obligatoire | Adresse du restaurant qui sera présentée à l'utilisateur. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu – Adresse postale | Facultatif | Adresse postale (le cas échéant) du restaurant | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – État | Facultatif | État ou province (le cas échéant) où se trouve le restaurant. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Code postal | Facultatif | Le code postal (le cas échéant) du restaurant | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Quartier | Facultatif | Le quartier du restaurant (le cas échéant) | Texte libre Taille de texte recommandée: 20 caractères max. |
Images poster | Facultatif | Nous n'affichons qu'une seule image si vous en fournissez plusieurs. Format recommandé : 16:9 | Consultez la section Caractéristiques des images pour en savoir plus. |
Description | Facultatif | Paragraphe de texte unique pour décrire l'entité. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée: 180 caractères |
Liste de sous-titres | Facultatif | Jusqu'à trois sous-titres, chaque sous-titre contenant une seule ligne de texte. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée pour chaque sous-titre: 50 caractères maximum |
Taille de la table | Facultatif | Nombre de personnes dans le groupe de réservation | Entier > 0 |
EventReservationEntity
Attribut | Obligatoire ? | Description | Format |
---|---|---|---|
URI d'action | Obligatoire |
Lien profond vers l'entité dans l'application pour les fournisseurs. Remarque : Vous pouvez utiliser des liens profonds pour l'attribution. Consultez ces questions fréquentes |
URI |
Titre | Obligatoire | Titre de l'entité. | Chaîne Taille de texte recommandée: 50 caractères maximum |
Heure de début | Obligatoire |
Code temporel de l'epoch où l'événement doit commencer. Remarque:Cette valeur est exprimée en millisecondes. |
Code temporel de l'epoch (en millisecondes) |
Mode d'événement | Obligatoire | Champ indiquant si l'événement sera virtuel, en personne ou les deux. |
Énumération: VIRTUAL, IN_PERSON ou HYBRID |
Zone géographique – Pays | Obligatoire sous certaines conditions | Pays dans lequel l'événement a lieu. Remarque:Ce champ est obligatoire pour les événements de type IN_PERSON ou HYBRID. |
Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu : Ville | Obligatoire sous certaines conditions | Ville dans laquelle l'événement a lieu. Remarque:Ce champ est obligatoire pour les événements de type IN_PERSON ou HYBRID. |
Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Afficher l'adresse | Obligatoire sous certaines conditions | Adresse ou nom du lieu où l'événement aura lieu et qui doit être présenté à l'utilisateur. Remarque:Ce champ est obligatoire pour les événements de type IN_PERSON ou HYBRID. |
Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu – Adresse postale | Facultatif | Adresse postale (le cas échéant) du lieu où l'événement est organisé. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – État | Facultatif | État ou province (le cas échéant) où l'événement est organisé. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Code postal | Facultatif | Le code postal (le cas échéant) du lieu où l'événement est organisé. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Quartier | Facultatif | Le quartier (le cas échéant) dans lequel l'événement est organisé | Texte libre Taille de texte recommandée: 20 caractères max. |
Images poster | Facultatif | Nous n'affichons qu'une seule image si vous en fournissez plusieurs. Format recommandé : 16:9 Remarque:Nous vous recommandons vivement d'utiliser une image. Si un badge est fourni, veuillez prévoir un espace libre de 24 dp en haut et en bas de l'image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
Heure de fin | Facultatif |
Code temporel de l'epoch où l'événement doit se terminer. Remarque:Cette valeur est exprimée en millisecondes. |
Code temporel de l'epoch (en millisecondes) |
Fournisseur de services – Nom | Facultatif |
Nom du fournisseur de services. Remarque:Le fournisseur de services doit disposer d'un texte ou d'une image. |
Texte libre. Ex. : nom de l'organisateur de l'événement/de la visite. |
Fournisseur de services – Image | Facultatif |
Logo ou image du fournisseur de services. Remarque:Le fournisseur de services doit disposer d'un texte ou d'une image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
Description | Facultatif | Paragraphe de texte unique pour décrire l'entité. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée: 180 caractères |
Liste de sous-titres | Facultatif | Jusqu'à trois sous-titres, chaque sous-titre contenant une seule ligne de texte. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée pour chaque sous-titre: 50 caractères maximum |
Badges | Facultatif |
Chaque badge comporte du texte libre (15 caractères maximum) ou une petite image. |
|
Badge - Texte | Facultatif | Titre du badge Remarque:Pour utiliser le badge, vous devez ajouter du texte ou une image. |
Texte libre Taille de texte recommandée: 15 caractères max. |
Badge – Image | Facultatif | Petite image Traitement spécial de l'expérience utilisateur, par exemple sous forme de badge en superposition sur la miniature de l'image/vidéo. Remarque:Pour utiliser le badge, vous devez ajouter du texte ou une image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
ID de réservation | Facultatif | ID de la réservation de l'événement. | Texte libre |
Prix – CurrentPrice | Obligatoire sous certaines conditions |
Prix actuel du billet ou du pass pour l'événement. À indiquer si le prix barré est indiqué. |
Texte libre |
Prix (prix barré) | Facultatif | Prix d'origine du billet pour l'événement | Texte libre |
Accroche sur le prix | Facultatif | Accroche sur le prix mettant en avant une promotion, un événement ou une remise réservée aux membres, le cas échéant. | Texte libre Taille de texte recommandée: 45 caractères maximum (si le texte est trop long, des points de suspension peuvent s'afficher) |
Note (valeur maximale) | Facultatif | Valeur maximale de l'échelle d'évaluation. À fournir si la valeur de la note actuelle est également indiquée. |
Nombre >= 0.0 |
Note (valeur actuelle) | Facultatif | Valeur actuelle de l'échelle d'évaluation. À fournir si la valeur maximale de la note est également indiquée. |
Nombre >= 0.0 |
Nombre de notes | Facultatif | Nombre de notes pour l'événement. Remarque:Renseignez ce champ si votre application souhaite contrôler la façon dont les informations sont présentées aux utilisateurs. Veuillez fournir la chaîne concise qui peut être présentée à l'utilisateur. Par exemple, si le nombre est égal à 1 000 000, pensez à utiliser des abréviations telles que 1M afin qu'elles ne soient pas tronquées sur des écrans de plus petite taille. |
Chaîne |
Note (valeur de nombre) | Facultatif | Nombre de notes pour l'événement. Remarque:Renseignez ce champ si vous ne souhaitez pas gérer vous-même la logique d'abréviation d'affichage. Si les options "Count" (Nombre) et "Count Value" (Valeur de nombre) sont présentes, nous utiliserons la valeur "Count" (Nombre) pour la présenter aux utilisateurs |
Longue |
Catégories de contenu | Facultatif | Décrivez la catégorie du contenu dans l'entité. | Liste des énumérations éligibles
Consultez la section Catégorie de contenu pour en savoir plus. |
LodgingReservationEntity
Attribut | Obligatoire ? | Description | Format |
---|---|---|---|
URI d'action | Obligatoire |
Lien profond vers l'entité dans l'application pour les fournisseurs. Remarque : Vous pouvez utiliser des liens profonds pour l'attribution. Consultez ces questions fréquentes |
URI |
Titre | Obligatoire | Titre de l'entité. | Texte libre. Exemple : "Votre séjour du 12 décembre" Taille de texte recommandée: 50 caractères maximum |
Heure d'arrivée | Obligatoire | Code temporel de l'epoch, en millisecondes, qui représente l'heure d'arrivée pour la réservation. | Code temporel de l'epoch (en millisecondes) |
Heure de départ | Obligatoire | Code temporel de l'epoch, en millisecondes, qui représente l'heure de départ de la réservation. | Code temporel de l'epoch (en millisecondes) |
Zone géographique – Pays | Obligatoire | Pays dans lequel se trouve l'hébergement. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu : Ville | Obligatoire | Ville où se trouve l'hébergement. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Afficher l'adresse | Obligatoire | Adresse de l'hébergement qui sera présentée à l'utilisateur. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu – Adresse postale | Facultatif | Adresse postale (le cas échéant) de l'hébergement. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – État | Facultatif | État ou province (le cas échéant) où se trouve l'hébergement. | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Code postal | Facultatif | Le code postal de l'établissement (le cas échéant). | Texte libre Taille de texte recommandée: 20 caractères max. |
Emplacement – Quartier | Facultatif | Le quartier de l'établissement (le cas échéant). | Texte libre Taille de texte recommandée: 20 caractères max. |
Images poster | Facultatif |
Nous n'affichons qu'une seule image si vous en fournissez plusieurs. Format recommandé : 16:9 Remarque:Si un badge est fourni, veillez à ce qu'un espace sûr de 24 dp/s en haut et en bas de l'image soit disponible. |
Consultez la section Caractéristiques des images pour en savoir plus. |
Description | Facultatif | Paragraphe de texte unique pour décrire l'entité. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée: 180 caractères |
Liste de sous-titres | Facultatif | Jusqu'à trois sous-titres, chaque sous-titre contenant une seule ligne de texte. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée pour chaque sous-titre: 50 caractères maximum |
ID de réservation | Facultatif | Identifiant de la réservation de l'hébergement. | Texte libre |
Note (valeur maximale) | Facultatif | Valeur maximale de l'échelle d'évaluation. À fournir si la valeur de la note actuelle est également indiquée. |
Nombre >= 0.0 |
Note (valeur actuelle) | Facultatif | Valeur actuelle de l'échelle d'évaluation. À fournir si la valeur maximale de la note est également indiquée. |
Nombre >= 0.0 |
Nombre de notes | Facultatif | Nombre de notes attribuées à l'hébergement. Remarque:Renseignez ce champ si votre application souhaite contrôler la façon dont les informations sont présentées aux utilisateurs. Veuillez fournir la chaîne concise qui peut être présentée à l'utilisateur. Par exemple, si le nombre est égal à 1 000 000, pensez à utiliser des abréviations telles que 1M afin qu'elles ne soient pas tronquées sur des écrans de plus petite taille. |
Chaîne |
Note (valeur de nombre) | Facultatif | Nombre de notes attribuées à l'hébergement. Remarque:Renseignez ce champ si vous ne souhaitez pas gérer vous-même la logique d'abréviation d'affichage. Si les options "Count" (Nombre) et "Count Value" (Valeur de nombre) sont présentes, nous utiliserons la valeur "Count" (Nombre) pour la présenter aux utilisateurs |
Longue |
Prix – CurrentPrice | Obligatoire sous certaines conditions | Prix actuel du logement. À fournir si le prix barré est indiqué. |
Texte libre |
Prix (prix barré) | Facultatif | Prix d'origine de l'hébergement, qui sera barré dans l'interface utilisateur. | Texte libre |
Accroche sur le prix | Facultatif | Accroche sur le prix mettant en avant une promotion, un événement ou une remise réservée aux membres, le cas échéant. | Texte libre Taille de texte recommandée: 45 caractères maximum (si le texte est trop long, des points de suspension peuvent s'afficher) |
TransportationReservationEntity
Attribut | Obligatoire ? | Description | Format |
---|---|---|---|
URI d'action | Obligatoire |
Lien profond vers l'entité dans l'application pour les fournisseurs. Remarque : Vous pouvez utiliser des liens profonds pour l'attribution. Consultez ces questions fréquentes |
URI |
Titre | Obligatoire | Titre de l'entité. | Texte libre. Exemple : "San Francisco vers SAN" Taille de texte recommandée: 50 caractères maximum |
Type de transport | Obligatoire | Mode/type de transport pour la réservation. | Énumération: Flight, TRAIN, BUS ou FERRY |
Heure de départ | Obligatoire | Code temporel de l'epoch, en millisecondes, qui représente l'heure de départ. | Code temporel de l'epoch (en millisecondes) |
Heure d'arrivée | Obligatoire | Code temporel de l'epoch, en millisecondes, qui représente l'heure d'arrivée. | Code temporel de l'epoch (en millisecondes) |
Lieu de départ - Pays | Facultatif | Pays de départ. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu de départ - Ville | Facultatif | Ville de départ. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu de départ - Adresse affichée | Facultatif | Lieu de départ qui sera affiché à l'utilisateur. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu de départ - Adresse postale | Facultatif | Adresse postale (le cas échéant) du lieu de départ. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu de départ - État | Facultatif | État ou province (le cas échéant) du lieu de départ. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu de départ - Code postal | Facultatif | Code postal du lieu de départ (le cas échéant). | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu de départ – Quartier | Facultatif | Le quartier (le cas échéant) du lieu de départ. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu d'arrivée - Pays | Facultatif | Pays d'arrivée. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu d'arrivée : Ville | Facultatif | Ville d'arrivée. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu d'arrivée – Adresse affichée | Facultatif | Le lieu d'arrivée qui sera affiché à l'utilisateur. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu d'arrivée - Adresse postale | Facultatif | Adresse postale (le cas échéant) du lieu d'arrivée. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu d'arrivée – État | Facultatif | État ou province (le cas échéant) du lieu d'arrivée. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu d'arrivée - Code postal | Facultatif | Le code postal (le cas échéant) du lieu d'arrivée. | Texte libre Taille de texte recommandée: 20 caractères max. |
Lieu d'arrivée – Quartier | Facultatif | Le quartier (le cas échéant) du lieu d'arrivée | Texte libre Taille de texte recommandée: 20 caractères max. |
Fournisseur de services – Nom | Facultatif |
Nom du fournisseur de services. Remarque:Le fournisseur de services doit disposer d'un texte ou d'une image. |
Texte libre. Exemple : Nom de la compagnie aérienne |
Fournisseur de services – Image | Facultatif |
Logo ou image du fournisseur de services. Remarque:Le fournisseur de services doit disposer d'un texte ou d'une image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
Images poster | Facultatif |
Nous n'affichons qu'une seule image si vous en fournissez plusieurs. Format recommandé : 16:9 |
Consultez la section Caractéristiques des images pour en savoir plus. |
Description | Facultatif | Paragraphe de texte unique pour décrire l'entité. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée: 180 caractères |
Liste de sous-titres | Facultatif | Jusqu'à trois sous-titres, chaque sous-titre contenant une seule ligne de texte. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée pour chaque sous-titre: 50 caractères maximum |
ID de réservation | Facultatif | ID de réservation pour la réservation de transport. | Texte libre |
Prix – CurrentPrice | Obligatoire sous certaines conditions | Prix actuel de la réservation. À fournir si le prix barré est indiqué. |
Texte libre |
Prix (prix barré) | Facultatif | Prix d'origine de la réservation, qui sera barré dans l'interface utilisateur. | Texte libre |
Accroche sur le prix | Facultatif | Accroche sur le prix mettant en avant une promotion, un événement ou une remise réservée aux membres, le cas échéant. | Texte libre Taille de texte recommandée: 45 caractères maximum (si le texte est trop long, des points de suspension peuvent s'afficher) |
Numéro de transport | Obligatoire | Le numéro du vol, du bus, du train ou du ferry/croisière. | Texte libre |
Heure d'embarquement | Obligatoire | Code temporel de l'epoch qui représente l'heure d'embarquement pour la réservation (le cas échéant) | Code temporel de l'epoch (en millisecondes) |
VehicleRentalReservationEntity
Attribut | Obligatoire ? | Description | Format |
---|---|---|---|
URI d'action | Obligatoire |
Lien profond vers l'entité dans l'application pour les fournisseurs. Remarque : Vous pouvez utiliser des liens profonds pour l'attribution. Consultez ces questions fréquentes |
URI |
Titre | Obligatoire | Titre de l'entité. | Texte libre. Exemple : "Avis Union Square SF" Taille de texte recommandée: 50 caractères maximum |
Heure de retrait | Obligatoire | Code temporel de l'epoch, qui représente l'heure de départ de la réservation. | Code temporel de l'epoch (en millisecondes) |
Heure de retour | Facultatif | Code temporel de l'epoch, qui représente l'heure de départ de la réservation. | Code temporel de l'epoch (en millisecondes) |
Adresse de retrait – Pays | Facultatif | Pays du point de retrait. | Texte libre Taille de texte recommandée: 20 caractères max. |
Adresse d'enlèvement : ville | Facultatif | Ville du lieu de prise en charge. | Texte libre Taille de texte recommandée: 20 caractères max. |
Adresse d'enlèvement – Adresse affichée | Facultatif | Lieu de retrait qui sera présenté à l'utilisateur. | Texte libre Taille de texte recommandée: 20 caractères max. |
Adresse d'enlèvement – Adresse postale | Facultatif | Adresse postale (le cas échéant) du lieu de prise en charge. | Texte libre Taille de texte recommandée: 20 caractères max. |
Adresse d'enlèvement – État | Facultatif | État ou province (le cas échéant) du lieu de retrait. | Texte libre Taille de texte recommandée: 20 caractères max. |
Adresse de retrait – Code postal | Facultatif | Le code postal (le cas échéant) du lieu de prise en charge. | Texte libre Taille de texte recommandée: 20 caractères max. |
Adresse de retrait : quartier | Facultatif | Le quartier (le cas échéant) du lieu de prise en charge | Texte libre Taille de texte recommandée: 20 caractères max. |
Adresse de retour – Pays | Facultatif | Pays de l'adresse de retour. | Texte libre Taille de texte recommandée: 20 caractères max. |
Adresse de retour : ville | Facultatif | Ville de l'adresse de retour. | Texte libre Taille de texte recommandée: 20 caractères max. |
Adresse de retour – Adresse affichée | Facultatif | Adresse de retour qui sera présentée à l'utilisateur. | Texte libre Taille de texte recommandée: 20 caractères max. |
Adresse de retour - Adresse postale | Facultatif | Adresse postale (le cas échéant) de l'adresse de retour. | Texte libre Taille de texte recommandée: 20 caractères max. |
Adresse de retour – État | Facultatif | État ou province (le cas échéant) de l'adresse de retour. | Texte libre Taille de texte recommandée: 20 caractères max. |
Adresse de retour - Code postal | Facultatif | Le code postal (le cas échéant) de l'adresse de retour. | Texte libre Taille de texte recommandée: 20 caractères max. |
Adresse de retour : quartier | Facultatif | Le quartier (le cas échéant) de l'adresse de retour. | Texte libre Taille de texte recommandée: 20 caractères max. |
Fournisseur de services – Nom | Facultatif |
Nom du fournisseur de services. Remarque:Le fournisseur de services doit disposer d'un texte ou d'une image. |
Texte libre. Exemple : "Location de voitures Avis" |
Fournisseur de services – Image | Facultatif |
Logo ou image du fournisseur de services. Remarque:Le fournisseur de services doit disposer d'un texte ou d'une image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
Images poster | Facultatif |
Nous n'affichons qu'une seule image si vous en fournissez plusieurs. Format recommandé : 16:9 |
Consultez la section Caractéristiques des images pour en savoir plus. |
Description | Facultatif | Paragraphe de texte unique pour décrire l'entité. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée: 180 caractères |
Liste de sous-titres | Facultatif | Jusqu'à trois sous-titres, chaque sous-titre contenant une seule ligne de texte. Remarque:L'utilisateur verra la description ou la liste de sous-titres, mais pas les deux. |
Texte libre Taille de texte recommandée pour chaque sous-titre: 50 caractères maximum |
ID de confirmation | Facultatif | ID de confirmation pour la réservation de location de véhicule. | Texte libre |
Prix – CurrentPrice | Obligatoire sous certaines conditions | Prix actuel de la réservation. À fournir si le prix barré est indiqué. |
Texte libre |
Prix (prix barré) | Facultatif | Prix d'origine de la réservation, qui sera barré dans l'interface utilisateur. | Texte libre |
Accroche sur le prix | Facultatif | Accroche sur le prix mettant en avant une promotion, un événement ou une remise réservée aux membres, le cas échéant. | Texte libre Taille de texte recommandée: 45 caractères maximum (si le texte est trop long, des points de suspension peuvent s'afficher) |
Caractéristiques des images
Les spécifications requises pour les composants Image sont listées dans le tableau suivant:
Format | Nombre minimal de pixels | Nombre de pixels recommandé |
---|---|---|
Carré (1x1) Préféré |
300 x 300 | 1 200 x 1 200 |
Paysage (1,91 x 1) | 600 x 314 | 1 200 x 628 |
Format portrait (4 x 5) | 480 x 600 | 960 x 1200 |
Les images doivent être hébergées sur des CDN publics pour que Google puisse y accéder.
Formats des fichiers
PNG, JPG, GIF statique, WebP
Taille maximale des fichiers
5 120 Ko
Autres recommandations
- Zone de sécurité de l'image : placez le contenu important dans les 80 % les plus au centre de l'image.
- Utilisez un arrière-plan transparent pour que l'image s'affiche correctement avec les paramètres du thème sombre et clair.
Catégorie de contenu
La catégorie de contenu permet aux applications de publier du contenu appartenant à plusieurs catégories. Le contenu est mis en correspondance avec certaines des catégories prédéfinies, à savoir:
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
Les images doivent être hébergées sur des CDN publics pour que Google puisse y accéder.
Consignes d'utilisation des catégories de contenu
- Certaines entités, telles que ArticleEntity et GenericFeaturedEntity, peuvent utiliser n'importe quelle catégorie de contenu. Pour les autres entités telles que EventEntity, EventBookingEntity et PointOfInterestEntity, seul un sous-ensemble de ces catégories est éligible. Consultez la liste des catégories éligibles pour un type d'entité avant de remplir la liste.
Utilisez le type d'entité spécifique pour certaines catégories de contenu plutôt que sur une combinaison d'entités génériques et de ContentCategory:
- TYPE_movieS_AND_TV_SHOWS : consultez les entités du guide d'intégration de la vidéo avant d'utiliser les entités génériques.
- TYPE_BOOKS : consultez EbookEntity avant d'utiliser les entités génériques.
- TYPE_AUDIOBOOKS : consultez AudiobookEntity avant d'utiliser les entités génériques.
- TYPE_SHOPPING : consultez ShoppingEntity avant d'utiliser les entités génériques.
- TYPE_FOOD_AND_DRINK : consultez les entités du guide d'intégration des aliments avant d'utiliser les entités génériques.
Le champ "ContentCategory" est facultatif et doit être laissé vide si le contenu n'appartient à aucune des catégories mentionnées précédemment.
Si plusieurs catégories de contenu sont fournies, indiquez-les par ordre de pertinence par rapport au contenu, en plaçant la catégorie de contenu la plus pertinente en premier dans la liste.
Étape 2 : Fournir les données de cluster
Il est recommandé d'exécuter la tâche de publication de contenu en arrière-plan (par exemple, à l'aide de WorkManager) et de la programmer régulièrement ou sur la base d'un événement précis (par exemple, chaque fois que l'utilisateur ouvre l'application ou lorsqu'il vient d'ajouter quelque chose à son panier).
AppEngagePublishClient
permet la publication des clusters.
Les API suivantes permettent de publier des clusters dans le client :
isServiceAvailable
publishRecommendationClusters
publishFeaturedCluster
publishContinuationCluster
publishUserAccountManagementRequest
updatePublishStatus
deleteRecommendationsClusters
deleteFeaturedCluster
deleteContinuationCluster
deleteUserManagementCluster
deleteClusters
isServiceAvailable
Cette API permet de vérifier si le service est disponible pour l'intégration et de déterminer si le contenu peut être présenté sur l'appareil.
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
Cette API permet de publier une liste d'objets 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());
Lorsque le service reçoit la requête, les actions suivantes ont lieu dans une seule transaction :
- Les données
RecommendationCluster
existantes du développeur partenaire sont supprimées. - Les données de la requête sont analysées et stockées dans le cluster "Recommendation" mis à jour.
En cas d'erreur, la requête entière est rejetée, et l'état existant est maintenu.
publishFeaturedCluster
Cette API permet de publier une liste d'objets 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());
Lorsque le service reçoit la requête, les actions suivantes ont lieu dans une seule transaction :
- Les données
FeaturedCluster
existantes du développeur partenaire sont supprimées. - Les données de la requête sont analysées et stockées dans le cluster "Featured" mis à jour.
En cas d'erreur, la requête entière est rejetée, et l'état existant est maintenu.
publishContinuationCluster
Cette API permet de publier un objet 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());
Lorsque le service reçoit la requête, les actions suivantes ont lieu dans une seule transaction :
- Les données
ContinuationCluster
existantes du développeur partenaire sont supprimées. - Les données de la requête sont analysées et stockées dans le cluster "Continuation" mis à jour.
En cas d'erreur, la requête entière est rejetée, et l'état existant est maintenu.
publishUserAccountManagementRequest
Cette API permet de publier une fiche de connexion. L'action de connexion redirige les utilisateurs vers la page de connexion de l'application afin que celle-ci puisse publier du contenu (ou fournir un contenu plus personnalisé).
Les métadonnées suivantes font partie de la fiche de connexion :
Attribut | Obligatoire ? | Description |
---|---|---|
URI d'action | Obligatoire | Lien profond vers l'action (par exemple, accès à la page de connexion de l'application) |
Image | Facultatif : si aucun titre n'est fourni, vous devez en fournir un |
Image affichée sur la fiche Images au format 16:9 avec une résolution de 1 264 x 712 |
Titre | Facultatif : si aucune image n'est fournie, vous devez en fournir une | Titre sur la fiche |
Texte de l'action | Facultatif | Texte affiché sur l'incitation à l'action (par exemple, "Se connecter") |
Sous-titre | Facultatif | Sous-titre facultatif sur la fiche |
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());
Lorsque le service reçoit la requête, les actions suivantes ont lieu dans une seule transaction :
- Les données
UserAccountManagementCluster
existantes du développeur partenaire sont supprimées. - Les données de la requête sont analysées et stockées dans le cluster "UserAccountManagementCluster" mis à jour.
En cas d'erreur, la requête entière est rejetée, et l'état existant est maintenu.
updatePublishStatus
Si, pour une raison commerciale interne, aucun des clusters n'est publié, nous vous recommandons vivement de mettre à jour l'état de publication à l'aide de l'API updatePublishStatus. Ce point est important pour les raisons suivantes :
- Il est essentiel d'indiquer l'état dans tous les scénarios, même lorsque le contenu est publié (STATUS == PUBLISHED) pour renseigner les tableaux de bord qui utilisent cet état explicite afin de transmettre l'état et d'autres métriques de votre intégration.
- Si aucun contenu n'est publié, mais que l'état de l'intégration fonctionne correctement (STATUS == NOT_PUBLISHED), Google peut éviter de déclencher des alertes dans les tableaux de bord concernant l'état de l'application. Cela confirme que le contenu n'est pas publié en raison d'une situation attendue du point de vue du fournisseur.
- Cela permet aux développeurs de fournir des informations concernant la date de publication des données.
- Google peut utiliser ces codes d'état pour encourager l'utilisateur à effectuer certaines actions dans l'application afin qu'il puisse afficher ou contourner le contenu de l'application.
Voici la liste des codes d'état de publication éligibles :
// 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 le contenu n'est pas publié parce que l'utilisateur n'est pas connecté, Google vous recommande de publier la fiche de connexion. Si, pour une raison quelconque, les fournisseurs ne peuvent pas publier la fiche de connexion, nous vous recommandons d'appeler l'API updatePublishStatus avec le code d'état NOT_PUBLISHED_REQUIRES_SIGN_IN.
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
Cette API permet de supprimer le contenu des clusters "Recommendation".
Kotlin
client.deleteRecommendationClusters()
Java
client.deleteRecommendationClusters();
Lorsque le service reçoit la requête, il supprime les données existantes des clusters "Recommendation". En cas d'erreur, la requête entière est rejetée, et l'état existant est maintenu.
deleteFeaturedCluster
Cette API permet de supprimer le contenu du cluster "Featured".
Kotlin
client.deleteFeaturedCluster()
Java
client.deleteFeaturedCluster();
Lorsque le service reçoit la requête, il supprime les données existantes du cluster "Featured". En cas d'erreur, la requête entière est rejetée, et l'état existant est maintenu.
deleteContinuationCluster
Cette API permet de supprimer le contenu du cluster "Continuation".
Kotlin
client.deleteContinuationCluster()
Java
client.deleteContinuationCluster();
Lorsque le service reçoit la requête, il supprime les données existantes du cluster "Continuation". En cas d'erreur, la requête entière est rejetée, et l'état existant est maintenu.
deleteUserManagementCluster
Cette API permet de supprimer le contenu du cluster "UserAccountManagement".
Kotlin
client.deleteUserManagementCluster()
Java
client.deleteUserManagementCluster();
Lorsque le service reçoit la requête, il supprime les données existantes du cluster "UserAccountManagement". En cas d'erreur, la requête entière est rejetée, et l'état existant est maintenu.
deleteClusters
Cette API permet de supprimer le contenu d'un type de cluster donné.
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());
Lorsque le service reçoit la requête, il supprime les données existantes de tous les clusters correspondant aux types de clusters spécifiés. Les clients peuvent choisir de transmettre un ou plusieurs types de clusters. En cas d'erreur, la requête entière est rejetée, et l'état existant est maintenu.
Gestion des exceptions
Il est fortement recommandé d'écouter le résultat de la tâche à partir des API de publication afin qu'une action de suivi puisse être effectuée pour récupérer et renvoyer une tâche réussie.
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 } } } });
L'erreur est renvoyée au format AppEngageException
. La cause est incluse sous la forme d'un code d'erreur.
Code d'erreur | Remarque |
---|---|
SERVICE_NOT_FOUND |
Le service n'est pas disponible sur l'appareil donné. |
SERVICE_NOT_AVAILABLE |
Le service est disponible sur l'appareil donné, mais pas au moment de l'appel (par exemple, il est explicitement désactivé). |
SERVICE_CALL_EXECUTION_FAILURE |
L'exécution de la tâche a échoué en raison de problèmes de thread. Dans ce cas, vous pouvez réessayer. |
SERVICE_CALL_PERMISSION_DENIED |
L'appelant n'est pas autorisé à effectuer l'appel du service. |
SERVICE_CALL_INVALID_ARGUMENT |
La requête contient des données non valides (par exemple, un nombre plus élevé que le nombre de clusters autorisé). |
SERVICE_CALL_INTERNAL |
Une erreur s'est produite au niveau du service. |
SERVICE_CALL_RESOURCE_EXHAUSTED |
L'appel du service est effectué trop fréquemment. |
Étape 3 : Gérer les intents de diffusion
En plus d'effectuer des appels d'API de publication de contenu via une tâche, vous devez également configurer un objet BroadcastReceiver
pour recevoir la requête de publication de contenu.
L'objectif des intents de diffusion est principalement de réactiver des applications et de forcer la synchronisation des données. Les intents de diffusion ne sont pas conçus pour être envoyés très fréquemment. Ils ne se déclenchent que lorsque le service Engage détermine que le contenu est peut-être obsolète (par exemple, s'il date d'il y a une semaine). De cette façon, l'utilisateur a plus de chances de bénéficier d'une expérience de contenu actualisée, même si l'application n'a pas été exécutée pendant une longue période.
Le BroadcastReceiver
doit être configuré de deux manières :
- Enregistrez dynamiquement une instance de la classe
BroadcastReceiver
à l'aide deContext.registerReceiver()
. Cela permet la communication à partir d'applications restées actives en mémoire.
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)); }
- Déclarez une implémentation de manière statique avec la balise
<receiver>
dans le fichierAndroidManifest.xml
. Cela permet à l'application de recevoir des intents de diffusion lorsqu'elle n'est pas en cours d'exécution, et de publier le contenu.
<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>
Les intents suivants sont envoyés par le service :
com.google.android.engage.action.PUBLISH_RECOMMENDATION
Nous vous recommandons de démarrer un appelpublishRecommendationClusters
lors de la réception de cet intent.com.google.android.engage.action.PUBLISH_FEATURED
Nous vous recommandons de démarrer un appelpublishFeaturedCluster
lors de la réception de cet intent.com.google.android.engage.action.PUBLISH_CONTINUATION
Nous vous recommandons de démarrer un appelpublishContinuationCluster
lors de la réception de cet intent.
Workflow d'intégration
Pour vous procurer un guide par étapes sur la validation de votre intégration une fois celle-ci terminée, consultez la page Workflow d'intégration pour les développeurs d'Engage.
Questions fréquentes
Pour en savoir plus, consultez les questions fréquentes concernant le SDK Engage.
Contact
Veuillez contacter engage-developers@google.com si vous avez des questions au cours du processus d'intégration.
Étapes suivantes
Une fois cette intégration effectuée, procédez comme suit :
- Envoyez un e-mail à l'adresse engage-developers@google.com et joignez-y votre APK intégré prêt à être testé par Google.
- Google effectue une vérification et des examens en interne pour s'assurer que l'intégration fonctionne comme prévu. Si des modifications sont nécessaires, nous vous contacterons avec toutes les informations nécessaires.
- Une fois les tests terminés et qu'aucune modification n'est nécessaire, Google vous informe que vous pouvez commencer à publier le fichier APK mis à jour et intégré sur le Play Store.
- Une fois que nous aurons confirmé la publication de votre APK mis à jour sur le Play Store, vos clusters Recommendation (Recommandations), Featured (Sélection) et Continuation (Suite) pourront être publiés et visibles par les utilisateurs.