Arrière-plan
Vous pouvez désormais mettre à jour les objets et les classes pour inclure des modules d'opportunités à valeur ajoutée. Les modules s'affichent sur la page d'informations et peuvent renvoyer vers le contenu de l'émetteur. Ce document décrit les principales étapes à suivre pour activer et utiliser des modules à l'aide de l'API Google Wallet.
Exemple de fonctionnalité
|
|
| Vue unique | Liste |
Ce guide suppose que vous maîtrisez les concepts de base de Google Wallet et que vous avez déjà rempli les conditions préalables recommandées. Pour toute question ou tout commentaire, veuillez contacter votre point de contact Google Wallet.
Procédure d'intégration
Pour ajouter un module, vous devez mettre à jour l'objet et/ou la classe pour inclure ValueAddedModuleData. ValueAddedModuleData comporte les champs suivants :
[Obligatoire] En-tête LocalizedString
En-tête affiché sur le module. Le nombre de caractères est limité à 60. Les chaînes plus longues seront tronquées.
Corps LocalizedString
Corps affiché sur le module. Le nombre de caractères est limité à 50. Les chaînes plus longues seront tronquées.
Image image
Image affichée sur le module. Le format d'image recommandé est 1:1. Les images seront redimensionnées pour s'adapter à ce format.
[Required] string uri
URI vers lequel le module redirige l'utilisateur lorsqu'il clique dessus. Il peut s'agir d'un lien Web ou d'un lien profond.ModuleViewConstraints viewConstraints
Contraintes à respecter pour que le module s'affiche. ModuleViewConstraints comporte le champ suivant :TimeInterval displayInterval
Période pendant laquelle le module sera affiché aux utilisateurs. Vous pouvez définir à la fois une `startTime` et une `endTime`. Le module s'affiche immédiatement après l'insertion, sauf si une `startTime` est définie. Le module s'affiche indéfiniment si `endTime` n'est pas défini.int32 sortIndex
Index permettant de trier les modules. Les modules affichant les index les plus bas s'affichent avant ceux affichant les index les plus hauts. Si l'index de tri n'est pas spécifié, il est considéré comme INT_MAX. Le mode de tri de deux modules affichant le même index n'est pas défini.Exemple de ValueAddedModuleData :
{
"valueAddedModuleData": [
{
"header": {
"defaultValue": {
"language": "en-US",
"value": "10% off merch"
}
},
"body": {
"defaultValue": {
"language": "en-US",
"value": "Shirts, caps, mugs, and more"
}
},
"image": {
"sourceUri": {
"uri": "http://www.images.google.com/opportunity"
}
},
"uri": "http://www.google.com/opportunity",
"viewConstraints": {
"displayInterval": {
"start": {
"date": "2024-08-01T18:30:00"
},
"end": {
"date": "2025-08-01T18:30:00"
}
}
},
"sortIndex": 0
},
{
"header": {
"defaultValue": {
"language": "en-US",
"value": "10% off concessions"
}
},
"uri": "http://www.google.com/new_opportunity"
}
]
}Comportement attendu
Une fois l'objet et/ou la classe mis à jour, les modules s'affichent sur le pass correspondant. Si vous n'avez ajouté qu'un seul module, il s'affichera à l'avant de la carte.
Consignes concernant les modules d'opportunités à valeur ajoutée
Les modules vous permettent d'améliorer l'expérience utilisateur avec des actions supplémentaires. Lorsque vous créez et gérez les modules, tenez compte des points suivants :
- Les modules doivent être définis avec un langage approprié pour indiquer qu'ils sont cliquables et aider les utilisateurs à le comprendre.
- Les modules doivent comporter les images appropriées qui leur sont propres.
- Vous contrôlez les modules et devez gérer de manière proactive leur ordre de priorité en fonction de leur importance et de leur pertinence.
- Vous ne devez afficher aux utilisateurs que les modules actifs. Vous pouvez contrôler cela en définissant displayInterval sur le module ou en l'ajoutant ou en le supprimant de manière proactive de la classe ou de l'objet.
Gestion des exceptions
| Message | Motif |
|---|---|
| ValueAddedModuleData doit contenir un en-tête. | ValueAddedModuleData ne comporte pas d'en-tête. |
| ValueAddedModuleData doit contenir un URI non vide. | ValueAddedModuleData ne comporte pas d'URI non vide. |
| Vous pouvez ajouter jusqu'à 15 modules à valeur ajoutée par classe. | Réduire le nombre de modules à valeur ajoutée dans le cours. |
| Vous ne pouvez pas définir plus de 15 modules à valeur ajoutée par objet. | Vous devez réduire le nombre de modules à valeur ajoutée sur l'objet. |