Opportunités à valeur ajoutée

Contexte

Vous pouvez désormais modifier les objets et les classes pour inclure des modules d'opportunités à valeur ajoutée. Les modules s'afficheront sur la page d'informations et peuvent être liés au contenu de l'émetteur. Ce document décrit les étapes clés requises pour activer et utiliser des modules à l'aide de l'API Google Wallet.

Exemple de fonctionnalité

Exemple unique du module Opportunité de valeur Exemple de liste du module "Valoriser les opportunités"
Vue unique Liste

Le guide suivant suppose que vous connaissez les concepts de base de Google Wallet et que vous avez déjà rempli les conditions préalables recommandées. Envoyez vos questions ou commentaires à 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 afin d'inclure ValueAddedModuleData. ValueAddedModuleData comporte les champs suivants :

[Obligatoire] En-tête LocalizedString

En-tête affiché sur le module. Le nombre maximal de caractères est de 60. Les chaînes plus longues seront tronquées. Exemple d'en-tête d'opportunité de valeur

Corps LocalizedString

Corps affiché sur le module. Le nombre maximal de caractères est de 50. Les chaînes plus longues sont tronquées.
Exemple de corps d'opportunité de valeur

Image image

Image affichée sur le module. Le format recommandé est 1:1. Les images seront redimensionnées pour s'adapter à ce format.
Exemple d'image d'opportunité de valeur

[Obligatoire] URI de chaîne

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.

viewConstraints de ModuleViewConstraints

Contraintes qui doivent toutes être respectées pour que le module s'affiche. ModuleViewConstraints comporte le champ suivant :

TimeInterval displayInterval

Durée pendant laquelle le module sera présenté aux utilisateurs. Vous pouvez définir à la fois un "startTime" et un "endTime". Le module s'affiche immédiatement après l'insertion, sauf si un "startTime" est défini. Le module s'affiche indéfiniment si "endTime" n'est pas défini.

int32 sortIndex

Indice de tri des modules. Les modules affichant un indice de tri inférieur s'affichent avant ceux affichant un indice de tri plus élevé. Si l'index de tri n'est pas spécifié, on considère qu'il s'agit de INT_MAX. Le comportement de tri de deux modules affichant le même indice 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 la carte correspondante. Si vous n'avez ajouté qu'un seul module, il apparaît sur le recto de la carte.

Consignes concernant les modules d'opportunités à valeur ajoutée

Les modules vous permettent d'enrichir l'expérience de vos utilisateurs avec des actions supplémentaires. Tenez compte des points suivants lors de la création et de la gestion des modules:

  • Les modules doivent être définis avec un langage approprié pour indiquer qu'ils sont exploitables afin d'aider les utilisateurs à comprendre qu'ils peuvent être cliqués.
  • Vous devez définir des images appropriées en lien avec le module concerné.
  • Vous contrôlez les modules et devez gérer de manière proactive leur hiérarchisation en fonction de leur importance et de leur pertinence.
  • Vous ne devez afficher que les modules actifs. Vous pouvez contrôler cela en définissant le 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
ValueAddModuleData doit contenir un en-tête. ValueAddedModuleData n'a pas d'en-tête.
ValueAddedModuleData doit contenir un URI non vide. ValueAddedModuleData ne comporte pas d'URI non vide.
Un maximum de 10 modules à valeur ajoutée est autorisé par cours. Il est nécessaire de réduire le nombre de modules à valeur ajoutée dans la classe.
Un maximum de 10 modules à valeur ajoutée est autorisé par objet. Vous devez réduire les modules à valeur ajoutée sur l'objet.