Boostez l'engagement dans votre application en touchant vos utilisateurs là où ils se trouvent. Intégrez le SDK Engage pour proposer des recommandations personnalisées et du contenu de suivi directement aux utilisateurs sur plusieurs surfaces de l'appareil, comme Collections, Entertainment Space et le Play Store. L'intégration ajoute moins de 50 Ko (compressés) à l'APK moyen et prend environ une semaine de temps de développement pour la plupart des applications. Pour en savoir plus, consultez notre site pour les entreprises.
Ce guide explique aux développeurs partenaires comment diffuser du contenu sur les voyages et les événements sur les surfaces de contenu Engage.
Compatibilité des catégories et surfaces
L'éligibilité aux surfaces du SDK Engage dépend de la catégorie de contenu de votre application. Utilisez le tableau suivant pour déterminer votre éligibilité à des surfaces spécifiques :
| État | Catégorie de contenu ou cas d'utilisation | Surfaces compatibles |
|---|---|---|
|
Compatible (Éligible sur toutes les surfaces) |
|
|
| Non disponible |
|
Compétences Android
Afficher sur GitHubIntégrer le SDK Engage
android skills add engage-sdk-integrationDétails de l'intégration
Cette section détaille les étapes, les modèles de données et la terminologie nécessaires pour intégrer le SDK Engage pour les contenus de voyage et d'événements.
Terminologie
Cette intégration comprend les types de clusters suivants : Recommendation (Recommandations), Featured (Sélection), Reservation (Réservation) et Continue Search (Poursuivre la recherche).
Les clusters Recommendation affichent des suggestions personnalisées de voyages et d'événements d'un développeur partenaire individuel. Ces recommandations peuvent être personnalisées en fonction de l'utilisateur ou généralisées (par exemple, les articles tendance). Utilisez-les pour mettre en avant des articles, des événements, des hébergements ou des recommandations de lieux d'intérêt.
- Un cluster "Recommendation" peut être constitué de fiches
ArticleEntity,EventEntity,LodgingEntity,PointOfInterestEntityouStoreEntity, mais pas de types d'entités différents.
Les recommandations présentent la structure suivante :
Cluster "Recommendations" : vue de l'interface utilisateur contenant un groupe de recommandations du même développeur partenaire.
Entité : objet représentant un seul élément dans un cluster. Cette intégration propose des entités qui seraient affichées à l'aide du cluster "Recommendation" :
ArticleEntity : ArticleEntity représente une recommandation de contenu textuel lié aux voyages et aux événements. Il peut être utilisé pour des articles, des posts de blog, du contenu marketing, des extraits d'actualités, etc.
Figure 1 : UI affichant une seule entité ArticleEntity dans le cluster "Recommendations". EventEntity : EventEntity représente un événement qui se produira à l'avenir. L'heure de début de l'événement est une information essentielle qui doit être communiquée aux utilisateurs.
Figure 2 : Interface utilisateur affichant une seule entité EventEntity dans le cluster "Recommendations". LodgingEntity : LodgingEntity représente un hébergement, tel qu'un hôtel, un appartement ou une maison de vacances pour une location à court et à long terme.
Figure 3 : Interface utilisateur affichant une seule 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 à transmettre aux utilisateurs.
Figure 4 : Interface utilisateur montrant une seule entité StoreEntity dans le cluster "Recommendations". PointOfInterestEntity : PointOfInterestEntity représente un point d'intérêt, comme une station-service, un lieu d'événement, un parc à thème, un musée, une attraction touristique, un sentier de randonnée, etc. Il met en avant les contenus pour lesquels le lieu est une information essentielle à transmettre aux utilisateurs. Il ne doit pas être utilisé pour un hébergement, un magasin ou un restaurant.
Figure 5 : Interface utilisateur affichant une seule entité PointOfInterestEntity dans le cluster "Recommandations".
- Un cluster "Recommendation" peut être constitué de fiches
Le cluster Reservation affiche dans un regroupement d'UI le contenu de plusieurs partenaires développeurs, contenu avec lequel les utilisateurs ont interagi récemment. Chaque développeur partenaire est autorisé à diffuser au maximum 10 entités dans le cluster "Réservation".
Le contenu de votre réservation peut présenter la structure suivante :
RestaurantReservationEntity : RestaurantReservationEntity représente une réservation pour un restaurant ou un café, et aide les utilisateurs à suivre les réservations de restaurant à venir ou en cours.
Figure 6 : Interface utilisateur montrant une seule entité RestaurantReservationEntity dans un cluster de réservation. EventReservationEntity : EventReservationEntity représente une réservation pour un événement et aide les utilisateurs à suivre les réservations d'événements à venir ou en cours. Les événements peuvent inclure, mais sans s'y limiter, les éléments suivants :
- Événements sportifs, comme la réservation d'un match de football
- Événements de jeux vidéo, comme les réservations pour l'e-sport
- Événements de divertissement, comme une réservation pour une séance de cinéma, un concert, une pièce de théâtre ou une séance de dédicace
- Réservations de voyages ou de points d'intérêt, comme des visites guidées ou des billets de musée
- Réservations pour des événements sociaux, des séminaires ou des conférences
- Réservations de sessions d'enseignement / de formation
Figure 7. Interface utilisateur montrant une seule entité EventReservationEntity dans un cluster de réservation. LodgingReservationEntity : LodgingEntityReservation représente une réservation d'hébergement de voyage et aide les utilisateurs à suivre les réservations d'hôtel ou de location de vacances à venir ou en cours.
Figure 8 : Interface utilisateur montrant une seule entité LodgingReservationEntity dans un cluster de réservation. TransportationReservationEntity : TransportationReservationEntity représente une réservation pour un transport par n'importe quel mode et aide les utilisateurs à suivre les réservations pour un vol, un ferry, un train, un bus, un transport en taxi ou VTC, ou une croisière à venir ou en cours.
Figure 9. Interface utilisateur montrant une seule entité TransportationReservationEntity dans un cluster de réservation. VehicleRentalReservationEntity : VehicleRentalReservationEntity représente une réservation de location de véhicule et aide les utilisateurs à suivre les réservations de location de véhicule à venir ou en cours.
Figure 10. Interface utilisateur montrant une seule entité VehicleRentalReservationEntity dans un cluster de réservations.
Le cluster Featured affiche une sélection d'entités de plusieurs développeurs partenaires dans un même groupe d'UI. Il n'existe qu'un seul cluster "Featured", situé dans la partie supérieure de l'UI avec un emplacement prioritaire au-dessus de tous les clusters "Recommendation". Chaque développeur partenaire est autorisé à diffuser jusqu'à 10 entités dans le cluster "Featured".
GenericFeaturedEntity : GenericFeaturedEntity diffère de l'élément de recommandation, car l'élément mis en avant doit être utilisé pour un seul contenu principal des développeurs et doit représenter le contenu le plus important qui sera intéressant et pertinent pour les utilisateurs.
Figure 11 : UI affichant un FeaturedCluster avec une liste de GenericFeaturedEntity
Le cluster Continue Search aide les utilisateurs à reprendre leur recherche de voyage précédente en affichant une liste des requêtes de recherche qu'ils ont récemment effectuées dans toutes leurs applications de voyage. Le cluster sera épinglé en deuxième position, après les réservations et avant les clusters de recommandations et de contenus mis en avant. Chaque développeur partenaire est autorisé à diffuser jusqu'à trois entités dans le cluster "Poursuivre la recherche".
- PointOfInterestEntity : PointOfInterestEntity représente un point d'intérêt, comme une station-service, un lieu d'événement, un parc à thème, un musée, une attraction touristique, un sentier de randonnée, etc. Il met en avant le contenu que l'utilisateur a déjà recherché.
Travail préalable
Niveau d'API minimal : 19
Ajoutez la bibliothèque com.google.android.engage:engage-core à 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.6.0'
}
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" | 7 maximum | Au moins 1 | 50 maximum (ArticleEntity, EventEntity, LodgingEntity, StoreEntity ou PointOfInterestEntity) |
| Cluster de réservation | 1 maximum | Au moins 1 | 20 maximum (RestaurantReservationEntity, EventReservationEntity, LodgingReservationEntity, TransportationReservationEntity ou VehicleRentalReservationEntity) |
| Cluster "Featured" | 1 maximum | Au moins 1 | 20 maximum (GenericFeaturedEntity) |
| Cluster "Continue Search" | 1 maximum | Au moins 1 | 3 maximum (PointOfInterestEntity) |
É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 "Voyages et événements" :
GenericFeaturedEntityArticleEntityEventEntityLodgingEntityStoreEntityPointOfInterestEntityRestaurantReservationEntityEventReservationEntityLodgingReservationEntityTransportationReservationEntityVehicleRentalReservationEntity
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'afficherons qu'une seule image lorsque plusieurs images sont fournies. Le format 16:9 est recommandé. Remarque : Si un badge est fourni, assurez-vous de laisser un espace de sécurité de 24 dp en haut et en bas de l'image. |
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 | Un seul paragraphe de texte pour décrire l'entité. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, mais pas les deux. |
Texte libre Taille de texte recommandée : 180 caractères |
| Liste des sous-titres | Facultatif | Jusqu'à trois sous-titres, chacun composé d'une seule ligne de texte. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, mais pas les deux. |
Texte libre Taille de texte recommandée pour chaque sous-titre : 50 caractères maximum |
| Badges | Facultatif | Chaque badge est soit du texte libre (15 caractères maximum), soit une petite image. Traitement UX spécial au-dessus de l'image/la vidéo, par exemple, en tant que badge superposé sur l'image
|
|
| Badge - Texte | Facultatif | Titre du badge Remarque : Le badge doit comporter du texte ou une image. |
Texte libre Taille de texte recommandée : 15 caractères maximum |
| Badge - Image | Facultatif | Petite image Traitement UX spécial, par exemple sous forme de badge superposé sur la miniature de l'image ou de la vidéo. Remarque : Le badge doit comporter 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 de l'entité. | Liste des énumérations Pour en savoir plus, consultez la section Catégorie de contenu. |
| DisplayTimeWindow (facultatif) : définissez la période d'affichage d'un contenu sur une surface. | |||
| Code temporel de début | Facultatif |
Code temporel de l'epoch après lequel le contenu doit être affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
| Code temporel de fin | Facultatif |
Code temporel de l'epoch après lequel le contenu n'est plus affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
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'afficherons qu'une seule image lorsque plusieurs images sont fournies. Le format 16:9 est recommandé. Remarque : Nous vous recommandons vivement d'ajouter une image. Si un badge est fourni, assurez-vous de laisser un espace de sécurité de 24 dp en haut et en bas de l'image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
| Source - Title | Facultatif | Nom de l'auteur, de l'organisation ou du journaliste | Texte libre Taille de texte recommandée : 25 caractères maximum |
| Source : image | Facultatif | Image de la source (auteur, organisation, journaliste, etc.) | Consultez la section Caractéristiques des images pour en savoir plus. |
| Description | Facultatif | Un seul paragraphe de texte pour décrire l'entité. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, mais pas les deux. |
Texte libre Taille de texte recommandée : 180 caractères |
| Liste des sous-titres | Facultatif | Jusqu'à trois sous-titres, chacun composé d'une seule ligne de texte. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, mais pas les deux. |
Texte libre Taille de texte recommandée pour chaque sous-titre : 50 caractères maximum |
| Badges | Facultatif | Chaque badge est soit du texte libre (15 caractères maximum), soit une petite image. Traitement UX spécial au-dessus de l'image/la vidéo, par exemple, sous forme de badge superposé sur l'image
|
|
| Badge - Texte | Facultatif | Titre du badge Remarque : Le badge doit comporter du texte ou une image. |
Texte libre Taille de texte recommandée : 15 caractères maximum |
| Badge - Image | Facultatif | Petite image Traitement UX spécial, par exemple sous forme de badge superposé sur la miniature de l'image ou de la vidéo. Remarque : Le badge doit comporter du texte ou une image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
| Date et heure de publication du contenu | Facultatif | Il s'agit du code temporel de l'epoch (en millisecondes) indiquant quand le contenu a été publié / mis à jour dans l'application. | Code temporel de l'epoch (en millisecondes) |
| Durée du dernier engagement | Facultatif | Horodatage d'epoch en millisecondes de la dernière interaction de l'utilisateur avec cette entité. |
Code temporel de l'epoch (en millisecondes) |
| Pourcentage de progression | Facultatif | Pourcentage du contenu total consommé par l'utilisateur à ce jour. |
Valeur entière comprise entre 0 et 100 inclus. |
| Catégories de contenu | Facultatif | Décrivez la catégorie du contenu de l'entité. | Liste des énumérations Pour en savoir plus, consultez la section Catégorie de contenu. |
| DisplayTimeWindow (facultatif) : définissez la période d'affichage d'un contenu sur une surface. | |||
| Code temporel de début | Facultatif |
Code temporel de l'epoch après lequel le contenu doit être affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
| Code temporel de fin | Facultatif |
Code temporel de l'epoch après lequel le contenu n'est plus affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
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 localisée – Code temporel | Obligatoire |
Code temporel de l'epoch correspondant au début prévu de l'événement. |
Instantané Joda-Time |
| Heure de début localisée - Fuseau horaire | Obligatoire |
Fuseau horaire dans lequel l'événement doit commencer. |
DateTimeZone Joda-Time Consultez la section Spécifications des fuseaux horaires pour en savoir plus. |
| Mode événement | Obligatoire | Un champ indiquant si l'événement sera virtuel, en présentiel ou les deux. |
Enum : VIRTUAL, IN_PERSON ou HYBRID |
| Images poster | Obligatoire | Nous n'afficherons qu'une seule image lorsque plusieurs images sont fournies. Le format 16:9 est recommandé. Remarque : Nous vous recommandons vivement d'ajouter une image. Si un badge est fourni, assurez-vous de laisser un espace de sécurité de 24 dp en haut et en bas de l'image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
| Emplacement - Pays | Obligatoire sous certaines conditions | Pays dans lequel l'événement a lieu. Remarque : Ce champ est obligatoire pour les événements IN_PERSON ou HYBRID. |
Texte libre Taille de texte recommandée : 20 caractères maximum |
| Emplacement - Ville | Obligatoire sous certaines conditions | Ville où se déroule l'événement. Remarque : Ce champ est obligatoire pour les événements IN_PERSON ou HYBRID. |
Texte libre Taille de texte recommandée : 20 caractères maximum |
| Établissement - Adresse affichée | Obligatoire sous certaines conditions | Adresse ou nom du lieu où se déroulera l'événement, qui doit être affiché pour l'utilisateur. Remarque : Ce champ est obligatoire pour les événements IN_PERSON ou HYBRID. |
Texte libre Taille de texte recommandée : 20 caractères maximum |
| Lieu : adresse postale | Facultatif | Adresse postale (le cas échéant) du lieu où se déroule l'événement. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Emplacement : État | Facultatif | État ou province (le cas échéant) dans lequel l'événement est organisé. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Lieu : code postal | Facultatif | Code postal (le cas échéant) du lieu où se déroule l'événement. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| 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 maximum |
| Heure de fin | Facultatif |
Horodatage de l'époque à laquelle l'événement devrait se terminer. Remarque : Cette valeur est exprimée en millisecondes. |
Code temporel de l'epoch (en millisecondes) |
| Description | Facultatif | Un seul paragraphe de texte pour décrire l'entité. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, mais pas les deux. |
Texte libre Taille de texte recommandée : 180 caractères |
| Liste des sous-titres | Facultatif | Jusqu'à trois sous-titres, chacun composé d'une seule ligne de texte. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, mais pas les deux. |
Texte libre Taille de texte recommandée pour chaque sous-titre : 50 caractères maximum |
| Badges | Facultatif |
Chaque badge est soit du texte libre (15 caractères maximum), soit une petite image. |
|
| Badge - Texte | Facultatif | Titre du badge Remarque : Le badge doit comporter du texte ou une image. |
Texte libre Taille de texte recommandée : 15 caractères maximum |
| Badge - Image | Facultatif | Petite image Traitement UX spécial, par exemple sous forme de badge superposé sur la miniature de l'image ou de la vidéo. Remarque : Le badge doit comporter du texte ou une image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
| Prix - Prix actuel | Obligatoire sous certaines conditions |
Prix actuel du billet/pass pour l'événement. À fournir si le prix barré est indiqué. |
Texte libre |
| Prix - Prix barré | Facultatif | Prix d'origine du billet/pass pour l'événement. | Texte libre |
| Accroche de prix | Facultatif | Accroche de prix qui met 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 de l'entité. | Liste des énumérations éligibles
Pour en savoir plus, consultez la section Catégorie de contenu. |
| DisplayTimeWindow (facultatif) : définissez la période d'affichage d'un contenu sur une surface. | |||
| Code temporel de début | Facultatif |
Code temporel de l'epoch après lequel le contenu doit être affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
| Code temporel de fin | Facultatif |
Code temporel de l'epoch après lequel le contenu n'est plus affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
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'afficherons qu'une seule image lorsque plusieurs images sont fournies. Le format recommandé est 16:9. Remarque : Si un badge est fourni, assurez-vous de laisser un espace de sécurité de 24 dp en haut et en bas de l'image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
| Emplacement - Pays | Obligatoire | Pays dans lequel se trouve l'hébergement. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Emplacement - Ville | Obligatoire | Ville où se trouve l'hébergement. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Établissement - Adresse affichée | Obligatoire | Adresse qui sera affichée pour l'utilisateur. Nous vous recommandons d'inclure le nom de la ville et éventuellement de l'État ou du pays pour la plupart des cas d'utilisation. N'incluez l'adresse postale ou le quartier que si l'utilisateur se trouve à proximité du lieu, s'il le connaît ou si la ville est incluse dans le titre du cluster. Si vous incluez l'adresse postale, fournissez une adresse succincte, en utilisant des abréviations dans la mesure du possible (par exemple, "St" pour "Street", "Ave" pour "Avenue"). | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Lieu : adresse postale | Facultatif | Adresse postale (le cas échéant) de l'hébergement. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Emplacement : État | Facultatif | État ou province (le cas échéant) où l'établissement est situé. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Lieu : code postal | Facultatif | Code postal (le cas échéant) de l'hébergement. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Emplacement - Quartier | Facultatif | Le quartier (le cas échéant) de l'hébergement. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Badges | Facultatif |
Chaque badge est soit du texte libre (15 caractères maximum), soit une petite image. |
|
| Badge - Texte | Facultatif | Titre du badge Remarque : Le badge doit comporter du texte ou une image. |
Texte libre Taille de texte recommandée : 15 caractères maximum |
| Badge - Image | Facultatif | Petite image Traitement UX spécial, par exemple sous forme de badge superposé sur la miniature de l'image ou de la vidéo. Remarque : Le badge doit comporter du texte ou une image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
| Description | Facultatif | Un seul paragraphe de texte pour décrire l'entité. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, mais pas les deux. |
Texte libre Taille de texte recommandée : 180 caractères |
| Liste des sous-titres | Facultatif | Jusqu'à trois sous-titres, chacun composé d'une seule ligne de texte. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, mais pas les deux. |
Texte libre Taille de texte recommandée pour chaque sous-titre : 50 caractères maximum |
| AvailabilityTimeWindow - Localized Start Time - Timestamp | Facultatif | Code temporel d'epoch correspondant à la date à laquelle l'établissement devrait être ouvert/disponible. | Instantané Joda-Time |
| AvailabilityTimeWindow - Localized Start Time - Timezone | Facultatif | Fuseau horaire dans lequel l'hébergement est censé être ouvert/disponible. |
DateTimeZone Joda-Time Consultez la section Spécifications des fuseaux horaires pour en savoir plus. |
| AvailabilityTimeWindow - Localized End Time - Timestamp | Facultatif | Code temporel d'epoch jusqu'auquel l'hébergement devrait être ouvert/disponible. | Instantané Joda-Time |
| AvailabilityTimeWindow - Localized End Time - Timezone | Facultatif | Fuseau horaire dans lequel l'hébergement est censé être ouvert/disponible. |
DateTimeZone Joda-Time Consultez la section Spécifications des fuseaux horaires pour en savoir plus. |
| 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'hébergement. Remarque : Indiquez ce champ si votre application souhaite contrôler la façon dont il est affiché aux utilisateurs. Fournissez la chaîne concise qui peut être affichée pour l'utilisateur. Par exemple, si le nombre est de 1 000 000, envisagez d'utiliser des abréviations telles que 1M, afin qu'il ne soit pas tronqué sur les écrans de plus petite taille. |
Chaîne |
| Note (nombre de valeurs) | Facultatif | Nombre de notes pour l'hébergement. Remarque : Indiquez ce champ si vous ne souhaitez pas gérer vous-même la logique d'abréviation de l'affichage. Si les deux sont présents, nous utiliserons le nombre pour l'afficher aux utilisateurs. |
Long |
| Prix - Prix actuel | Obligatoire sous certaines conditions | Prix actuel de l'hébergement. À 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'UI. | Texte libre |
| Accroche de prix | Facultatif | Accroche de prix qui met 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) |
| DisplayTimeWindow (facultatif) : définissez la période d'affichage d'un contenu sur une surface. | |||
| Code temporel de début | Facultatif |
Code temporel de l'epoch après lequel le contenu doit être affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
| Code temporel de fin | Facultatif |
Code temporel de l'epoch après lequel le contenu n'est plus affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
StoreEntity
L'objet StoreEntity représente un magasin individuel que les développeurs partenaires souhaitent publier, comme un restaurant ou un café populaire qui sont pertinents pour l'expérience de voyage d'un utilisateur.
| 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) |
| Catégorie | Facultatif | Catégorie d'un magasin. Dans le contexte des restaurants, il peut s'agir d'un type de cuisine comme "française", "nouvelle cuisine américaine", "ramen", "gastronomique". |
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'hébergement. Remarque : Indiquez ce champ si votre application souhaite contrôler la façon dont il est affiché aux utilisateurs. Fournissez la chaîne concise qui peut être affichée pour l'utilisateur. Par exemple, si le nombre est de 1 000 000, envisagez d'utiliser des abréviations telles que 1M, afin qu'il ne soit pas tronqué sur les écrans de plus petite taille. |
Chaîne |
| Note (nombre de valeurs) | Facultatif | Nombre de notes pour l'hébergement. Remarque : Indiquez ce champ si vous ne souhaitez pas gérer vous-même la logique d'abréviation de l'affichage. Si les deux sont présents, nous utiliserons le nombre pour l'afficher aux utilisateurs. |
Long |
| DisplayTimeWindow (facultatif) : définissez la période d'affichage d'un contenu sur une surface. | |||
| Code temporel de début | Facultatif |
Code temporel de l'epoch après lequel le contenu doit être affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
| Code temporel de fin | Facultatif |
Code temporel de l'epoch après lequel le contenu n'est plus affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
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 sous certaines conditions |
Nous n'afficherons qu'une seule image lorsque plusieurs images sont fournies. Le format 16:9 est recommandé. Remarque : L'image est obligatoire si l'entité fait partie d'un cluster de recommandations. Si un badge est fourni, assurez-vous de laisser un espace de sécurité de 24 dp en haut et en bas de l'image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
| Durée du dernier engagement | Obligatoire sous certaines conditions |
Horodatage de l'époque de la dernière interaction de l'utilisateur avec cette entité. Remarque : Ce champ est obligatoire si l'entité fait partie du cluster de poursuite de la recherche. |
Instantané Joda-Time |
| Emplacement - Pays | Obligatoire sous certaines conditions |
Pays dans lequel se trouve le point d'intérêt. Remarque : Ce champ est obligatoire si l'entité fait partie d'un cluster de recommandations. |
Texte libre Taille de texte recommandée : 20 caractères maximum |
| Emplacement - Ville | Obligatoire sous certaines conditions |
Ville où se trouve le point d'intérêt. Remarque : Ce champ est obligatoire si l'entité fait partie d'un cluster de recommandations. |
Texte libre Taille de texte recommandée : 20 caractères maximum |
| Établissement - Adresse affichée | Obligatoire sous certaines conditions |
Adresse qui sera affichée pour l'utilisateur. Indiquez une adresse succincte, en utilisant des abréviations si possible (par exemple, "St" pour "Street", "Ave" pour "Avenue"). Cette chaîne peut être tronquée en fonction de l'appareil et des paramètres de l'utilisateur. Incluez le nom de la ville pour une identification claire. Remarque : Ce champ est obligatoire si l'entité fait partie d'un cluster de recommandations. |
Texte libre Taille de texte recommandée : 35 caractères maximum |
| 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 maximum |
| 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 maximum |
| Lieu : code postal | Facultatif | Code postal (le cas échéant) du point d'intérêt. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| 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 maximum |
| AvailabilityTimeWindow - Localized Start Time - Timestamp | Facultatif | Code temporel d'epoch auquel le point d'intérêt devrait être ouvert/disponible. | Instantané Joda-Time |
| AvailabilityTimeWindow - Localized Start Time - Timezone | Facultatif | Fuseau horaire dans lequel le point d'intérêt est censé être ouvert/disponible. |
DateTimeZone Joda-Time Consultez la section Spécifications des fuseaux horaires pour en savoir plus. |
| AvailabilityTimeWindow - Localized End Time - Timestamp | Facultatif | Code temporel d'epoch jusqu'auquel le point d'intérêt devrait être ouvert/disponible. | Instantané Joda-Time |
| AvailabilityTimeWindow - Localized End Time - Timezone | Facultatif | Fuseau horaire dans lequel le point d'intérêt est censé être ouvert/disponible. |
DateTimeZone Joda-Time Consultez la section Spécifications des fuseaux horaires pour en savoir plus. |
| Badges | Facultatif |
Chaque badge est soit du texte libre (15 caractères maximum), soit une petite image. |
|
| Badge - Texte | Facultatif | Titre du badge Remarque : Le badge doit comporter du texte ou une image. |
Texte libre Taille de texte recommandée : 15 caractères maximum |
| Badge - Image | Facultatif | Petite image Traitement UX spécial, par exemple sous forme de badge superposé sur la miniature de l'image ou de la vidéo. Remarque : Le badge doit comporter du texte ou une image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
| Description | Facultatif | Un seul paragraphe de texte pour décrire l'entité. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, mais pas les deux. |
Texte libre Taille de texte recommandée : 180 caractères |
| Liste des sous-titres | Facultatif | Jusqu'à trois sous-titres, chacun composé d'une seule ligne de texte. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, 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 : Indiquez ce champ si votre application souhaite contrôler la façon dont il est affiché aux utilisateurs. Fournissez la chaîne concise qui peut être affichée pour l'utilisateur. Par exemple, si le nombre est de 1 000 000, envisagez d'utiliser des abréviations telles que 1M, afin qu'il ne soit pas tronqué sur les écrans de plus petite taille. |
Chaîne |
| Note (nombre de valeurs) | Facultatif | Nombre de notes pour le point d'intérêt. Remarque : Indiquez ce champ si vous ne souhaitez pas gérer vous-même la logique d'abréviation de l'affichage. Si les deux sont présents, nous utiliserons le nombre pour l'afficher aux utilisateurs. |
Long |
| Prix - Prix actuel | Obligatoire sous certaines conditions |
Prix actuel des billets/du pass d'entrée pour le point d'intérêt. À fournir si le prix barré est indiqué. |
Texte libre |
| Prix - Prix barré | Facultatif | Prix d'origine des billets/pass d'entrée pour le point d'intérêt. | Texte libre |
| Accroche de prix | Facultatif | Accroche de prix qui met 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 de l'entité. | Liste des énumérations éligibles
Pour en savoir plus, consultez la section Catégorie de contenu. |
| DisplayTimeWindow (facultatif) : définissez la période d'affichage d'un contenu sur une surface. | |||
| Code temporel de début | Facultatif |
Code temporel de l'epoch après lequel le contenu doit être affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
| Code temporel de fin | Facultatif |
Code temporel de l'epoch après lequel le contenu n'est plus affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
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 localisée – Code temporel | Obligatoire | Code temporel d'epoch correspondant au début prévu de la réservation. | Instantané Joda-Time |
| Heure de début de la réservation localisée - Fuseau horaire | Obligatoire | Fuseau horaire dans lequel la réservation doit commencer. |
DateTimeZone Joda-Time Consultez la section Spécifications des fuseaux horaires pour en savoir plus. |
| Emplacement - Pays | Obligatoire | Pays dans lequel se trouve le restaurant. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Emplacement - Ville | Obligatoire | Ville où se trouve le restaurant. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Établissement - Adresse affichée | Obligatoire | Adresse du restaurant qui sera affichée pour l'utilisateur. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Lieu : adresse postale | Facultatif | Adresse postale (le cas échéant) du restaurant. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| 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 maximum |
| Lieu : code postal | Facultatif | Code postal (le cas échéant) du restaurant. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Emplacement - Quartier | Facultatif | Le quartier (le cas échéant) du restaurant. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Images poster | Facultatif | Nous n'afficherons qu'une seule image lorsque plusieurs images sont fournies. Le format recommandé est 16:9. | Consultez la section Caractéristiques des images pour en savoir plus. |
| Description | Facultatif | Un seul paragraphe de texte pour décrire l'entité. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, mais pas les deux. |
Texte libre Taille de texte recommandée : 180 caractères |
| Liste des sous-titres | Facultatif | Jusqu'à trois sous-titres, chacun composé d'une seule ligne de texte. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, 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 |
| DisplayTimeWindow (facultatif) : définissez la période d'affichage d'un contenu sur une surface. | |||
| Code temporel de début | Facultatif |
Code temporel de l'epoch après lequel le contenu doit être affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
| Code temporel de fin | Facultatif |
Code temporel de l'epoch après lequel le contenu n'est plus affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
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 localisée – Code temporel | Obligatoire |
Code temporel de l'epoch correspondant au début prévu de l'événement. |
Instantané Joda-Time |
| Heure de début localisée - Fuseau horaire | Obligatoire |
Fuseau horaire dans lequel l'événement doit commencer. |
DateTimeZone Joda-Time Consultez la section Spécifications des fuseaux horaires pour en savoir plus. |
| Mode événement | Obligatoire | Un champ indiquant si l'événement sera virtuel, en présentiel ou les deux. |
Enum : VIRTUAL, IN_PERSON ou HYBRID |
| Emplacement - Pays | Obligatoire sous certaines conditions | Pays dans lequel l'événement a lieu. Remarque : Ce champ est obligatoire pour les événements IN_PERSON ou HYBRID. |
Texte libre Taille de texte recommandée : 20 caractères maximum |
| Emplacement - Ville | Obligatoire sous certaines conditions | Ville où se déroule l'événement. Remarque : Ce champ est obligatoire pour les événements IN_PERSON ou HYBRID. |
Texte libre Taille de texte recommandée : 20 caractères maximum |
| Établissement - Adresse affichée | Obligatoire sous certaines conditions | Adresse ou nom du lieu où se déroulera l'événement, qui doit être affiché pour l'utilisateur. Remarque : Ce champ est obligatoire pour les événements IN_PERSON ou HYBRID. |
Texte libre Taille de texte recommandée : 20 caractères maximum |
| Lieu : adresse postale | Facultatif | Adresse postale (le cas échéant) du lieu où se déroule l'événement. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Emplacement : État | Facultatif | État ou province (le cas échéant) dans lequel l'événement est organisé. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Lieu : code postal | Facultatif | Code postal (le cas échéant) du lieu où se déroule l'événement. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| 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 maximum |
| Images poster | Facultatif | Nous n'afficherons qu'une seule image lorsque plusieurs images sont fournies. Le format 16:9 est recommandé. Remarque : Nous vous recommandons vivement d'ajouter une image. Si un badge est fourni, assurez-vous de laisser un espace de sécurité 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 localisée – Code temporel | Facultatif |
Horodatage de l'époque à laquelle l'événement devrait se terminer. |
Instantané Joda-Time |
| Heure de fin localisée - Fuseau horaire | Facultatif |
Fuseau horaire dans lequel l'événement doit se terminer. |
DateTimeZone Joda-Time Consultez la section Spécifications des fuseaux horaires pour en savoir plus. |
| Fournisseur de services - Nom | Facultatif |
Nom du fournisseur de services. Remarque : Vous devez fournir du texte ou une image pour le fournisseur de services. |
Texte libre. Par exemple, le nom de l'organisateur de l'événement ou de la tournée |
| Fournisseur de services - Image | Facultatif |
Logo/Image du fournisseur de services. Remarque : Vous devez fournir du texte ou une image pour le fournisseur de services. |
Consultez la section Caractéristiques des images pour en savoir plus. |
| Description | Facultatif | Un seul paragraphe de texte pour décrire l'entité. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, mais pas les deux. |
Texte libre Taille de texte recommandée : 180 caractères |
| Liste des sous-titres | Facultatif | Jusqu'à trois sous-titres, chacun composé d'une seule ligne de texte. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, mais pas les deux. |
Texte libre Taille de texte recommandée pour chaque sous-titre : 50 caractères maximum |
| Badges | Facultatif |
Chaque badge est soit du texte libre (15 caractères maximum), soit une petite image. |
|
| Badge - Texte | Facultatif | Titre du badge Remarque : Le badge doit comporter du texte ou une image. |
Texte libre Taille de texte recommandée : 15 caractères maximum |
| Badge - Image | Facultatif | Petite image Traitement UX spécial, par exemple sous forme de badge superposé sur la miniature de l'image ou de la vidéo. Remarque : Le badge doit comporter 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 - Prix actuel | Obligatoire sous certaines conditions |
Prix actuel du billet/pass pour l'événement. À fournir si le prix barré est indiqué. |
Texte libre |
| Prix - Prix barré | Facultatif | Prix d'origine du billet/pass pour l'événement. | Texte libre |
| Accroche de prix | Facultatif | Accroche de prix qui met 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 : Indiquez ce champ si votre application souhaite contrôler la façon dont il est affiché aux utilisateurs. Fournissez la chaîne concise qui peut être affichée pour l'utilisateur. Par exemple, si le nombre est de 1 000 000, envisagez d'utiliser des abréviations telles que 1M, afin qu'il ne soit pas tronqué sur les écrans de plus petite taille. |
Chaîne |
| Note (nombre de valeurs) | Facultatif | Nombre de notes pour l'événement. Remarque : Indiquez ce champ si vous ne souhaitez pas gérer vous-même la logique d'abréviation de l'affichage. Si les deux sont présents, nous utiliserons le nombre pour l'afficher aux utilisateurs. |
Long |
| Catégories de contenu | Facultatif | Décrivez la catégorie du contenu de l'entité. | Liste des énumérations éligibles
Pour en savoir plus, consultez la section Catégorie de contenu. |
| DisplayTimeWindow (facultatif) : définissez la période d'affichage d'un contenu sur une surface. | |||
| Code temporel de début | Facultatif |
Code temporel de l'epoch après lequel le contenu doit être affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
| Code temporel de fin | Facultatif |
Code temporel de l'epoch après lequel le contenu n'est plus affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
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. Par exemple, "Votre séjour à partir du 12 décembre". Taille de texte recommandée : 50 caractères maximum |
| Heure d'arrivée localisée – Code temporel | Obligatoire | Horodatage de l'epoch représentant l'heure d'arrivée de la réservation. | Instantané Joda-Time |
| Heure d'arrivée localisée - Fuseau horaire | Obligatoire | Fuseau horaire dans lequel l'heure d'arrivée est définie pour la réservation. |
DateTimeZone Joda-Time Consultez la section Spécifications des fuseaux horaires pour en savoir plus. |
| Heure de départ localisée – Code temporel | Obligatoire | Code temporel de l'epoch représentant l'heure de départ de la réservation. | Instantané Joda-Time |
| Heure de départ localisée – Fuseau horaire | Obligatoire | Fuseau horaire dans lequel l'heure de départ est définie pour la réservation. |
DateTimeZone Joda-Time Consultez la section Spécifications des fuseaux horaires pour en savoir plus. |
| Emplacement - Pays | Obligatoire | Pays où se trouve l'hébergement. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Emplacement - Ville | Obligatoire | Ville où se trouve l'établissement. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Établissement - Adresse affichée | Obligatoire | Adresse qui sera affichée pour l'utilisateur. Fournissez une adresse succincte, en utilisant des abréviations lorsque cela est possible (par exemple, "St" pour "Street", "Ave" pour "Avenue"). Cette chaîne peut être tronquée en fonction de l'appareil et des paramètres de l'utilisateur. Incluez le nom de la ville pour une identification claire. | Texte libre Taille de texte recommandée : 35 caractères maximum |
| Lieu : adresse postale | Facultatif | Adresse postale (le cas échéant) de l'hébergement. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Emplacement : État | Facultatif | État ou province (le cas échéant) où l'établissement est situé. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Lieu : code postal | Facultatif | Code postal (le cas échéant) de l'hébergement. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Emplacement - Quartier | Facultatif | Le quartier (le cas échéant) de l'hébergement. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Images poster | Facultatif |
Nous n'afficherons qu'une seule image lorsque plusieurs images sont fournies. Le format recommandé est 16:9. Remarque : Si un badge est fourni, assurez-vous de laisser un espace de sécurité de 24 dp en haut et en bas de l'image. |
Consultez la section Caractéristiques des images pour en savoir plus. |
| Description | Facultatif | Un seul paragraphe de texte pour décrire l'entité. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, mais pas les deux. |
Texte libre Taille de texte recommandée : 180 caractères |
| Liste des sous-titres | Facultatif | Jusqu'à trois sous-titres, chacun composé d'une seule ligne de texte. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, 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 la réservation d'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 pour l'hébergement. Remarque : Indiquez ce champ si votre application souhaite contrôler la façon dont il est affiché aux utilisateurs. Fournissez la chaîne concise qui peut être affichée pour l'utilisateur. Par exemple, si le nombre est de 1 000 000, envisagez d'utiliser des abréviations telles que 1M, afin qu'il ne soit pas tronqué sur les écrans de plus petite taille. |
Chaîne |
| Note (nombre de valeurs) | Facultatif | Nombre de notes pour l'hébergement. Remarque : Indiquez ce champ si vous ne souhaitez pas gérer vous-même la logique d'abréviation de l'affichage. Si les deux sont présents, nous utiliserons le nombre pour l'afficher aux utilisateurs. |
Long |
| Prix - Prix actuel | Obligatoire sous certaines conditions | Prix actuel de l'hébergement. À 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'UI. | Texte libre |
| Accroche de prix | Facultatif | Accroche de prix qui met 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) |
| DisplayTimeWindow (facultatif) : définissez la période d'affichage d'un contenu sur une surface. | |||
| Code temporel de début | Facultatif |
Code temporel de l'epoch après lequel le contenu doit être affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
| Code temporel de fin | Facultatif |
Code temporel de l'epoch après lequel le contenu n'est plus affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
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. Par exemple, "SFO à 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 localisée – Code temporel | Obligatoire | Code temporel de l'epoch qui représente l'heure de départ. | Instantané Joda-Time |
| Heure de départ localisée – Fuseau horaire | Obligatoire | Fuseau horaire de l'heure de départ. |
DateTimeZone Joda-Time Consultez la section Spécifications des fuseaux horaires pour en savoir plus. |
| Heure d'arrivée localisée – Code temporel | Obligatoire | Code temporel Epoch représentant l'heure d'arrivée. | Instantané Joda-Time |
| Heure d'arrivée localisée - Fuseau horaire | Obligatoire | Fuseau horaire de l'heure d'arrivée. |
DateTimeZone Joda-Time Consultez la section Spécifications des fuseaux horaires pour en savoir plus. |
| Numéro de transport | Obligatoire | Numéro de vol, de bus, de train ou de ferry/croisière. | Texte libre |
| Heure d'embarquement localisée – Code temporel | Obligatoire | Horodatage d'epoch représentant l'heure d'embarquement pour la réservation (le cas échéant) | Instantané Joda-Time |
| Heure d'embarquement localisée - Fuseau horaire | Obligatoire | Fuseau horaire de l'heure d'embarquement pour la réservation (le cas échéant) |
DateTimeZone Joda-Time Consultez la section Spécifications des fuseaux horaires pour en savoir plus. |
| Lieu de départ – Pays | Facultatif | Pays de départ. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Lieu de départ - Ville | Facultatif | Ville de départ. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Lieu de départ – Adresse à afficher | Facultatif | Lieu de départ qui sera affiché pour l'utilisateur. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| 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 maximum |
| 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 maximum |
| Lieu de départ : code postal | Facultatif | Le code postal (le cas échéant) du lieu de départ. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| 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 maximum |
| Lieu d'arrivée - Pays | Facultatif | Pays d'arrivée. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Lieu d'arrivée - Ville | Facultatif | La ville d'arrivée. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Lieu d'arrivée – Adresse à afficher | Facultatif | Lieu d'arrivée qui sera affiché pour l'utilisateur. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| 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 maximum |
| 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 maximum |
| Lieu d'arrivée – Code postal | Facultatif | Code postal (le cas échéant) du lieu d'arrivée. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| 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 maximum |
| Fournisseur de services - Nom | Facultatif |
Nom du fournisseur de services. Remarque : Vous devez fournir du texte ou une image pour le fournisseur de services. |
Texte libre. Exemple : Nom de la compagnie aérienne |
| Fournisseur de services - Image | Facultatif |
Logo/Image du fournisseur de services. Remarque : Vous devez fournir du texte ou une image pour le fournisseur de services. |
Consultez la section Caractéristiques des images pour en savoir plus. |
| Images poster | Facultatif |
Nous n'afficherons qu'une seule image lorsque plusieurs images sont fournies. Le format recommandé est 16:9. |
Consultez la section Caractéristiques des images pour en savoir plus. |
| Description | Facultatif | Un seul paragraphe de texte pour décrire l'entité. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, mais pas les deux. |
Texte libre Taille de texte recommandée : 180 caractères |
| Liste des sous-titres | Facultatif | Jusqu'à trois sous-titres, chacun composé d'une seule ligne de texte. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, 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 la réservation de transport. | Texte libre |
| Prix - Prix actuel | 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'UI. | Texte libre |
| Accroche de prix | Facultatif | Accroche de prix qui met 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) |
| DisplayTimeWindow (facultatif) : définissez la période d'affichage d'un contenu sur une surface. | |||
| Code temporel de début | Facultatif |
Code temporel de l'epoch après lequel le contenu doit être affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
| Code temporel de fin | Facultatif |
Code temporel de l'epoch après lequel le contenu n'est plus affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
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. Par exemple, "Avis Union Square SF" Taille de texte recommandée : 50 caractères maximum |
| Heure de prise en charge localisée – Code temporel | Obligatoire | Horodatage Epoch représentant l'heure de retrait de la réservation. | Instantané Joda-Time |
| Heure de prise en charge localisée – Fuseau horaire | Obligatoire | Fuseau horaire de l'heure de prise en charge pour la réservation. |
DateTimeZone Joda-Time Consultez la section Spécifications des fuseaux horaires pour en savoir plus. |
| Heure de retour localisée – Code temporel | Facultatif | Code temporel de l'epoch qui représente l'heure de départ de la réservation. | Instantané Joda-Time |
| Heure de retour localisée - Fuseau horaire | Facultatif | Fuseau horaire de l'heure de départ de la réservation. |
DateTimeZone Joda-Time Consultez la section Spécifications des fuseaux horaires pour en savoir plus. |
| Adresse de retrait – Pays | Facultatif | Pays du lieu de prise en charge. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Adresse de retrait - Ville | Facultatif | Ville du lieu de prise en charge. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Adresse de retrait – Adresse à afficher | Facultatif | Lieu de retrait qui sera affiché pour l'utilisateur. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Adresse de retrait : 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 maximum |
| Adresse de retrait – État | Facultatif | L'État ou la province (le cas échéant) du lieu de retrait. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Adresse de retrait : code postal | Facultatif | Le code postal (le cas échéant) du lieu de retrait. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Adresse de retrait – Quartier | Facultatif | Le quartier (le cas échéant) du point de retrait. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Adresse de retour - Pays | Facultatif | Pays de l'adresse de retour. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Adresse de retour - Ville | Facultatif | Ville de l'adresse de retour. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| Adresse de retour – Adresse à afficher | Facultatif | Adresse de retour qui sera présentée à l'utilisateur. | Texte libre Taille de texte recommandée : 20 caractères maximum |
| 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 maximum |
| 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 maximum |
| 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 maximum |
| 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 maximum |
| Fournisseur de services - Nom | Facultatif |
Nom du fournisseur de services. Remarque : Vous devez fournir du texte ou une image pour le fournisseur de services. |
Texte libre. Par exemple, "Avis Car Rental" |
| Fournisseur de services - Image | Facultatif |
Logo/Image du fournisseur de services. Remarque : Vous devez fournir du texte ou une image pour le fournisseur de services. |
Consultez la section Caractéristiques des images pour en savoir plus. |
| Images poster | Facultatif |
Nous n'afficherons qu'une seule image lorsque plusieurs images sont fournies. Le format recommandé est 16:9. |
Consultez la section Caractéristiques des images pour en savoir plus. |
| Description | Facultatif | Un seul paragraphe de texte pour décrire l'entité. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, mais pas les deux. |
Texte libre Taille de texte recommandée : 180 caractères |
| Liste des sous-titres | Facultatif | Jusqu'à trois sous-titres, chacun composé d'une seule ligne de texte. Remarque : Soit la liste de descriptions, soit la liste de sous-titres s'affiche pour l'utilisateur, 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 de la réservation de location de véhicule. | Texte libre |
| Prix - Prix actuel | 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'UI. | Texte libre |
| Accroche de prix | Facultatif | Accroche de prix qui met 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) |
| DisplayTimeWindow (facultatif) : définissez la période d'affichage d'un contenu sur une surface. | |||
| Code temporel de début | Facultatif |
Code temporel de l'epoch après lequel le contenu doit être affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
| Code temporel de fin | Facultatif |
Code temporel de l'epoch après lequel le contenu n'est plus affiché sur la surface. Si ce code n'est pas configuré, le contenu peut s'afficher sur la surface. |
Code temporel de l'epoch (en millisecondes) |
Caractéristiques des images
Vous trouverez ci-dessous les spécifications requises pour les composants Image :
| 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.
Spécifications de fuseau horaire
Préférez l'ID (par exemple, "America/Los_Angeles") au décalage (par exemple, "-07:00").
Exemple d'utilisation : DateTimeZone.forID("America/Los_Angeles")
Catégorie de contenu
La catégorie de contenu permet aux applications de publier du contenu appartenant à plusieurs catégories. Cela permet de mapper le contenu avec certaines des catégories prédéfinies, à savoir :
TYPE_EDUCATIONTYPE_SPORTSTYPE_MOVIES_AND_TV_SHOWSTYPE_BOOKSTYPE_AUDIOBOOKSTYPE_MUSICTYPE_DIGITAL_GAMESTYPE_TRAVEL_AND_LOCALTYPE_HOME_AND_AUTOTYPE_BUSINESSTYPE_NEWSTYPE_FOOD_AND_DRINKTYPE_SHOPPINGTYPE_HEALTH_AND_FITENESSTYPE_MEDICALTYPE_PARENTINGTYPE_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, comme ArticleEntity et GenericFeaturedEntity, peuvent utiliser n'importe quelle catégorie de contenu. Pour les autres entités telles que EventEntity, EventReservationEntity et PointOfInterestEntity, seul un sous-ensemble de ces catégories est éligible. Vérifiez 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 qu'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 Watch 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, la catégorie la plus pertinente étant placée 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).
AppEngageTravelClient permet la publication des clusters.
Les API suivantes permettent de publier des clusters dans le client :
isServiceAvailablepublishRecommendationClusterspublishFeaturedClusterpublishReservationClusterpublishContinueSearchClusterpublishUserAccountManagementRequestupdatePublishStatusdeleteRecommendationsClustersdeleteFeaturedClusterdeleteReservationClusterdeleteContinueSearchClusterdeleteUserManagementClusterdeleteClusters
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.
Pour le SDK Engage v1.6.0 et versions ultérieures (recommandé)
Compétences Android
Afficher sur GitHubIntégration du SDK Engage
android skills add engage-sdk-integrationUse the engage-sdk-integration skill to use Engage SDK 1.6.0 and refactor isServiceAvailable to pass ServiceAvailabilityRequest for publishing all cluster types.Vous pouvez vérifier la disponibilité du service pour chaque type de cluster que vous avez l'intention de publier. L'API isServiceAvailable accepte un objet de requête, ServiceAvailabilityRequest, qui contient les types de clusters pour lesquels la disponibilité du service doit être vérifiée. Vous trouverez les valeurs d'énumération ClusterType requises pour ServiceAvailabilityRequest dans le tableau suivant.
| Type de cluster | Constante de type de cluster | Valeur entière |
|---|---|---|
| Inconnu | TYPE_UNKNOWN |
0 |
| Cluster "Recommandation" | TYPE_RECOMMENDATION |
1 |
| Cluster "Featured" | TYPE_FEATURED |
2 |
| Cluster "Continuation" | TYPE_CONTINUATION |
3 |
| Cluster de gestion des utilisateurs | TYPE_ENGAGEMENT |
8 |
| Cluster d'abonnement | TYPE_SUBSCRIPTION |
12 |
| Cluster "Continue Search" | TYPE_CONTINUE_SEARCH |
13 |
| Cluster de réservation | TYPE_RESERVATION |
14 |
Kotlin
val request = ServiceAvailabilityRequest.Builder()
.addIntendedClusterType(ClusterType.TYPE_CONTINUATION)
.addIntendedClusterType(ClusterType.TYPE_RECOMMENDATION)
.build()
client.isServiceAvailable(request).addOnCompleteListener { task ->
if (task.isSuccessful) {
val availabilityMap = task.result
if (availabilityMap[ClusterType.TYPE_CONTINUATION] == true) {
// Proceed with publishing continuation content
}
if (availabilityMap[ClusterType.TYPE_RECOMMENDATION] == true) {
// Proceed with publishing recommendation content
}
} else {
// The IPC call itself fails, proceed with error handling logic here,
// such as retry.
}
}
Java
ServiceAvailabilityRequest request =
new ServiceAvailabilityRequest.Builder()
.addIntendedClusterType(ClusterType.TYPE_CONTINUATION)
.addIntendedClusterType(ClusterType.TYPE_RECOMMENDATION)
.build();
client.isServiceAvailable(request).addOnCompleteListener(task -> {
if (task.isSuccessful()) {
Map<Integer, Boolean> availabilityMap = task.getResult();
if (Boolean.TRUE.equals(availabilityMap.get(ClusterType.TYPE_CONTINUATION))) {
// Proceed with publishing continuation content
}
if (Boolean.TRUE.equals(availabilityMap.get(ClusterType.TYPE_RECOMMENDATION))) {
// Proceed with publishing recommendation content
}
} else {
// The IPC call itself fails, proceed with error handling logic here,
// such as retry.
}
});
Fonctionnalité de disponibilité conditionnelle du service
Certaines applications intégrées demandent une configuration spéciale qui active et désactive le service Engage par intermittence afin de réduire les coûts de diffusion. Cependant, cette stratégie d'ingestion de contenu intermittente a un impact négatif sur l'expérience utilisateur : le contenu obsolète ne sera pas présenté et certaines surfaces ne seront pas diffusées.
À partir de la version 1.6.0, le SDK Engage permet de vérifier la disponibilité de types de clusters spécifiques. Si votre application utilise l'ingestion intermittente :
- Les clusters de continuation (tels que "Réservation" et "Continuer la recherche") restent activés par défaut sur tous les appareils compatibles.
- Les autres types de clusters (tels que les recommandations) sont activés et désactivés par intermittence.
Si cette configuration par défaut ne répond pas à vos besoins, contactez engage-developers@google.com.
Pour les versions du SDK antérieures à la version 1.6.0 (obsolète)
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
RecommendationClusterexistantes 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 PublishFeaturedClusterRequest.Builder()
.setFeaturedCluster(
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
FeaturedClusterexistantes 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.
publishReservationCluster
Cette API permet de publier un objet ReservationCluster.
Kotlin
client.publishReservationCluster(
PublishReservationClusterRequest.Builder()
.setReservationCluster(
ReservationCluster.Builder()
.addLodgingReservationEntity(lodgingReservationEntity)
.addVehicleRentalReservationEntity(vehicleRentalReservationEntity)
.addTransportationReservationEntity(transportationReservationEntity)
.addEventReservationEntity(eventReservationEntity)
.addRestaurantReservationEntity(restaurantReservationEntity)
.build())
.build())
Java
client.publishReservationCluster(
new PublishReservationClusterRequest.Builder()
.setReservationCluster(
new ReservationCluster.Builder()
.addLodgingReservationEntity(lodgingReservationEntity)
.addVehicleRentalReservationEntity(vehicleRentalReservationEntity)
.addTransportationReservationEntity(transportationReservationEntity)
.addEventReservationEntity(eventReservationEntity)
.addRestaurantReservationEntity(restaurantReservationEntity)
.build())
.build());
Lorsque le service reçoit la requête, les actions suivantes ont lieu dans une seule transaction :
- Les données
ReservationClusterexistantes du développeur partenaire sont supprimées. - Les données de la requête sont analysées et stockées dans le cluster "Reservation" mis à jour.
En cas d'erreur, la requête entière est rejetée, et l'état existant est maintenu.
publishContinueSearchCluster
Cette API permet de publier une liste d'objets ContinueSearchCluster.
Kotlin
client.publishContinueSearchCluster(
PublishContinueSearchClusterRequest.Builder()
.setContinueSearchCluster(
ContinueSearchCluster.Builder()
.addPointOfInterestEntity(entity1)
.addPointOfInterestEntity(entity2)
.build())
.build())
Java
client.publishContinueSearchCluster(
new PublishContinueSearchClusterRequest.Builder()
.setContinueSearchCluster(
new ContinueSearchCluster.Builder()
.addPointOfInterestEntity(entity1)
.addPointOfInterestEntity(entity2)
.build())
.build());
Lorsque le service reçoit la requête, les actions suivantes ont lieu dans une seule transaction :
- Les données
ContinueSearchClusterexistantes du développeur partenaire sont supprimées. - Les données de la requête sont analysées et stockées dans le cluster "Continue Search" 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
UserAccountManagementClusterexistantes 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 opérationnelle 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 les 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());
deleteRecommendationsClusters
Cette API permet de supprimer le contenu des clusters "Recommendation".
Kotlin
client.deleteRecommendationsClusters()
Java
client.deleteRecommendationsClusters();
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.
deleteReservationCluster
Cette API permet de supprimer le contenu du cluster "Reservation".
Kotlin
client.deleteReservationCluster()
Java
client.deleteReservationCluster();
Lorsque le service reçoit la requête, il supprime les données existantes du cluster "Reservation". 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.
deleteContinueSearchCluster
Cette API permet de supprimer le contenu du cluster "Continuer la recherche".
Kotlin
client.deleteContinueSearchCluster()
Java
client.deleteContinueSearchCluster();
Lorsque le service reçoit la requête, il supprime les données existantes du cluster "Continue Search". 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_RESERVATION)
.addClusterType(ClusterType.TYPE_FEATURED)
.addClusterType(ClusterType.TYPE_RECOMMENDATION)
.addClusterType(ClusterType.TYPE_CONTINUE_SEARCH)
.build())
Java
client.deleteClusters(
new DeleteClustersRequest.Builder()
.addClusterType(ClusterType.TYPE_RESERVATION)
.addClusterType(ClusterType.TYPE_FEATURED)
.addClusterType(ClusterType.TYPE_RECOMMENDATION)
.addClusterType(ClusterType.TYPE_CONTINUE_SEARCH)
.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 | Nom de l'erreur | Remarque |
|---|---|---|
1 |
SERVICE_NOT_FOUND |
Le service n'est pas disponible sur l'appareil donné. |
2 |
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é). |
3 |
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. |
4 |
SERVICE_CALL_PERMISSION_DENIED |
L'appelant n'est pas autorisé à effectuer l'appel du service. |
5 |
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é). |
6 |
SERVICE_CALL_INTERNAL |
Une erreur s'est produite au niveau du service. |
7 |
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 continue search cluster publish when PUBLISH_CONTINUE_SEARCH
// broadcast is received
// Trigger reservation cluster publish when PUBLISH_RESERVATION broadcast is
// received
}
fun registerBroadcastReceivers(context: Context){
var context = context
context = context.applicationContext
// Register Recommendation Cluster Publish Intent
context.registerReceiver(AppEngageBroadcastReceiver(),
IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_RECOMMENDATION),
com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
/*scheduler=*/null)
// Register Featured Cluster Publish Intent
context.registerReceiver(AppEngageBroadcastReceiver(),
IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_FEATURED),
com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
/*scheduler=*/null)
// Register Continue Search Cluster Publish Intent
context.registerReceiver(AppEngageBroadcastReceiver(),
IntentFilter(com.google.android.engage.travel.service.Intents.ACTION_PUBLISH_CONTINUE_SEARCH),
com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
/*scheduler=*/null)
// Register Reservation Cluster Publish Intent
context.registerReceiver(AppEngageBroadcastReceiver(),
IntentFilter(com.google.android.engage.travel.service.Intents.ACTION_PUBLISH_RESERVATION),
com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
/*scheduler=*/null)
}
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 continue search cluster publish when PUBLISH_CONTINUE_SEARCH
// broadcast is received
// Trigger reservation cluster publish when PUBLISH_RESERVATION 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),
com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
/*scheduler=*/null);
// Register Featured Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_FEATURED),
com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
/*scheduler=*/null);
// Register Continue Search Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.travel.service.Intents.ACTION_PUBLISH_CONTINUE_SEARCH),
com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
/*scheduler=*/null);
// Register Reservation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.travel.service.Intents.ACTION_PUBLISH_RESERVATION),
com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
/*scheduler=*/null);
}
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:permission="com.google.android.engage.REQUEST_ENGAGE_DATA"
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.travel.PUBLISH_CONTINUE_SEARCH" />
</intent-filter>
<intent-filter>
<action android:name="com.google.android.engage.action.travel.PUBLISH_RESERVATION" />
</intent-filter>
</receiver>
</application>
Les intents suivants sont envoyés par le service :
com.google.android.engage.action.PUBLISH_RECOMMENDATIONNous vous recommandons de démarrer un appelpublishRecommendationClusterslors de la réception de cet intent.com.google.android.engage.action.PUBLISH_FEATUREDNous vous recommandons de démarrer un appelpublishFeaturedClusterlors de la réception de cet intent.com.google.android.engage.action.travel.PUBLISH_CONTINUE_SEARCHNous vous recommandons de démarrer un appelpublishContinueSearchClusterlors de la réception de cet intent.com.google.android.engage.action.travel.PUBLISH_RESERVATIONNous vous recommandons de démarrer un appelpublishReservationClusterlors 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.comet 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, si aucune modification n'est nécessaire, nous vous informerons 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), Reservation (Réservation) et Continue Search (Poursuivre la recherche) pourront être publiés et visibles par les utilisateurs.