Inscription de l'utilisateur au programme de fidélité et mise à niveau des pass

La fonctionnalité d'inscription et de connexion au programme de fidélité permet aux utilisateurs de rechercher votre programme de fidélité, et de s'inscrire ou de se connecter à leur compte directement depuis Google Wallet. Les utilisateurs sont redirigés vers votre site Web mobile pour terminer la procédure. Ils peuvent ensuite ajouter leur carte officielle dans Google Wallet.

L'implémentation de cette fonctionnalité est une condition préalable à la conversion des cartes ajoutées par les utilisateurs (statiques) en cartes dynamiques associées à l'API. Ce guide présente les avantages et les étapes d'implémentation nécessaires pour activer votre programme de fidélité pour l'inscription, la connexion et la mise à niveau des cartes.

Présentation

Pour commencer, assurez-vous d'avoir préalablement configuré votre projet et d'avoir accès à l'API Google Wallet.

Pour implémenter la fonctionnalité, suivez les quatre étapes ci-dessous :

  1. Configurez une classe de test : configurez Google Wallet pour tester vos flux.
  2. Développez des pages : créez des pages d'inscription et de connexion à l'aide de SharedDataType Google Wallet.
  3. Implémentez le transfert : envoyez la carte de fidélité à Google Wallet après l'action.
  4. Demander la validation : envoyez votre demande pour examen et demandez l'activation de la mise à niveau.

Pourquoi implémenter l'inscription à un programme de fidélité ?

Pour comprendre la valeur de cette intégration, il est important de faire la distinction entre les deux types de cartes qui existent dans Google Wallet : L1 (ajoutées par l'utilisateur) et L2 (émises par le partenaire).

Différence entre L1 et L2

Fonctionnalité Pass L1 (ajouté par l'utilisateur) Pass L2 (émis par un partenaire)
Origine Créé lorsqu'un utilisateur scanne manuellement une carte physique ou saisit un numéro. Créé et envoyé à l'aide de l'API Wallet après qu'un utilisateur s'est inscrit ou connecté à l'aide de votre flux.
Contrôle Statique : Le partenaire n'a aucune visibilité ni aucun contrôle sur cette carte. Dynamique : Le partenaire dispose d'un contrôle total à l'aide de l'API.
Fonctionnalité Image statique d'un code-barres. Ce paramètre ne peut pas être modifié. Mettre à jour le solde de points et le niveau, afficher des offres personnalisées et recevoir des notifications

Les parcours de mise à niveau : le "pont" vers votre programme

En créant le flux d'inscription au programme de fidélité (la "destination"), vous permettez à Google de créer un "pont" qui fait passer les utilisateurs de vos cartes statiques de niveau 1 à vos cartes officielles de niveau 2. Il existe deux principaux déclencheurs de mise à niveau :

  1. Migration de niveau 1 vers niveau 2 : si un utilisateur a déjà ajouté manuellement votre carte (niveau 1), Google Wallet peut l'inviter à accéder à votre nouveau parcours de connexion pour passer à la carte officielle et dynamique (niveau 2).
  2. Mise à niveau des pass importés depuis Gmail : si Google Wallet détecte une carte de fidélité utilisant l'adresse Gmail d'un utilisateur, il peut l'inviter à accéder à votre flux et à s'authentifier pour recevoir le pass officiel de niveau 2.

Étape 1 : Configurez une classe de test dans Google Wallet

Déterminez les URL d'inscription et de connexion, le logo de votre programme et les champs utilisateur choisis. Utilisez ensuite les champs imbriqués discoverableProgram dans le loyaltyclass pour définir les valeurs appropriées.

Définissez les valeurs dans le discoverableProgram pour créer une version brouillon de votre programme de fidélité avec la fonctionnalité d'inscription et de connexion activée. Pour vous assurer que ces éléments sont bien visibles par les testeurs, vérifiez qu'ils ont accès à Google Pay and Wallet Console. Pour savoir comment partager l'accès à Google Pay and Wallet Console à d'autres personnes, consultez En savoir plus sur la page "Utilisateurs".

Pour terminer la validation des fonctionnalités de votre implémentation au cours du processus de développement, contactez-nous à l'aide du widget d'assistance dans la console Google Pay et Wallet. Dans la console, sélectionnez le thème API Google Wallet, puis le sous-thème Connexion/Inscription au programme de fidélité.

Étape 2 : Développez des pages d'inscription et de connexion

Lorsqu'un utilisateur se connecte ou s'inscrit à votre programme de fidélité, il est redirigé vers une page dédiée de votre site Web afin de terminer le processus d'inscription ou de connexion. Si un utilisateur décide de s'inscrire, Google Wallet lui demande d'accepter le partage de ses données avec vous.

Vous devez fournir au moins l'une des deux pages qui permettent aux utilisateurs d'effectuer ces actions :

  1. Une URL de connexion permettant à l'utilisateur de se connecter à un compte existant.
  2. Une URL d'inscription permettant à un utilisateur de créer un compte

Vos pages de connexion et d'inscription doivent remplir les conditions suivantes :

  • Proposer une expérience utilisateur adaptée aux mobiles
  • Limitez le nombre de champs obligatoires pendant le processus d'inscription.
  • Permettre à l'utilisateur de se connecter ou de s'inscrire sur une seule page
  • Utiliser le chiffrement HTTPS avec un certificat valide afin de s'assurer que les données utilisateur sont transmises de manière sécurisée
  • Assurez-vous que vos pages de connexion et d'inscription sont disponibles au moins 99,9 % du temps.

En plus de ces exigences, nous vous recommandons de permettre aux utilisateurs de s'inscrire à votre programme de fidélité sans remplir aucun formulaire ou d'utiliser la page uniquement pour l'acceptation des conditions d'utilisation.

  • En exploitant les données utilisateur fournies dans le SharedDataType, vous pouvez créer un compte et transférer immédiatement les informations de la carte de fidélité de l'utilisateur.
  • Vous pouvez ensuite lui envoyer un mot de passe à usage unique ou un lien pour configurer son mot de passe, ainsi que les détails de son compte (facultatif).
  • Cela réduit le risque que les utilisateurs abandonnent le processus d'inscription, car chaque étape supplémentaire peut entraîner un abandon.

Lors de l'affichage de la page de connexion ou d'inscription, Google Wallet crée une WebView Android, et une requête POST est envoyée à l'URL fournie. Les données utilisateur sont fournies dans le paramètre SharedDataType, qui est inclus dans la requête POST avec un Content-Type de application/x-www-form-urlencoded et un encodage UTF-8. La valeur du paramètre SharedDataType est un objet JSON encodé en base64.

En fonction de l'action choisie par l'utilisateur et des champs que vous lui avez demandés, l'objet JSON peut contenir les champs suivants.

Champ Inscription
e-mail
firstName
lastName
addressLine [1-3]
city
state
zipcode
country
téléphone

Reportez-vous à la section ci-dessous pour obtenir un exemple d'objet JSON décodé contenu dans SharedDataType.

Ressource

{
  "firstName": "Jane",
  "lastName": "Doe",
  "addressLine1": "1600 Amphitheatre Pkwy",
  "addressLine2": "Apt 123",
  "addressLine3": "Attn:Jane",
  "city": "Mountain View",
  "state": "CA",
  "zipcode": "94043",
  "country": "US",
  "email": "jane.doe@example.com",
  "phone": "555-555-5555"
}

Étape 3 : Implémenter le transfert des informations de la carte de fidélité dans Google Wallet

Une fois l'authentification effectuée (connexion) ou après la création d'un compte (inscription), votre page doit immédiatement renvoyer la carte de fidélité de l'utilisateur à Google Wallet.

Vous pouvez transmettre la carte de fidélité à Google Wallet en la redirigeant vers un lien qui respecte la structure ci-dessous.

https://pay.google.com/gp/v/save/{jwt_generated}

La longueur d'une URL ne doit pas dépasser 2 000 caractères. Vos liens ne doivent pas excéder cette limite. Les objets encodés dans des jetons JWT doivent être de petite taille et ne contenir que des données spécifiques à l'utilisateur. Essayez de conserver la plupart des données dans la classe de l'objet, en les créant avant de créer le jeton JWT. Pour les objets plus volumineux qui ne respectent pas cette limite, vous devez d'abord créer l'objet dans l'API Google Wallet, puis envoyer uniquement l'ID de l'objet dans le jeton JWT.

Flux de communication typique

L'image ci-dessous illustre le flux de communication pour un utilisateur finalisant son inscription ou sa connexion. Toutes les implémentations du côté de "Votre serveur" relèvent de votre responsabilité.

Flux d'inscription/de connexion

Étape 4 : Demandez la validation et l'activation

Une fois que vous avez terminé le développement et testé vos flux d'inscription/connexion, vous devez envoyer une demande pour que votre implémentation soit examinée et entièrement activée.

  1. Accédez à la Google Pay & Wallet Console.
  2. Utilisez le widget Contacter l'assistance.
  3. Informez l'équipe d'assistance que vous avez terminé l'intégration de l'inscription au programme de fidélité.

Après un examen complet de votre implémentation qui confirme que l'association avec l'application Google Wallet fonctionne, la fonctionnalité d'inscription/de connexion au programme de fidélité est disponible.

Pour une expérience utilisateur optimale, des vérifications de la fonctionnalité d'inscription ou de connexion seront effectuées de manière récurrente afin d'assurer la maintenance de la conformité avec les exigences de cette fonctionnalité. Si des incohérences sont constatées, une notification vous est envoyée et la fonctionnalité de connexion/inscription est susceptible d'être désactivée jusqu'à ce que le problème soit résolu.

Questions fréquentes

  • Existe-t-il des exigences concernant les images utilisées dans mon programme de fidélité ? Oui, vos images doivent être hébergées sur un emplacement HTTPS, faute de quoi elles ne seront pas visibles dans Google Wallet.

  • Existe-t-il des outils permettant de faciliter l'implémentation et le débogage des jetons JWT ? Oui. Des plates-formes telles que www.jwt.io vous permettent de décoder et de déboguer vos jetons au cours du processus de développement. Vous pouvez ainsi vérifier le contenu que vous envoyez. Notez que Google n'a aucun lien avec ces plates-formes tierces et n'en recommande aucune en particulier.

  • Comment traiter correctement les données SharedDataType encodées en base64 ? Veillez à utiliser l'encodage UTF-8 tout au long de la procédure. La chaîne JSON est d'abord encodée en UTF-8, puis en android.util.Base64 avec les options NO_WRAP et URL_SAFE. Cela correspond à la section 4 de la norme RFC 3548.