Inscription de l'utilisateur au programme de fidélité

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 à partir de Google Wallet. Les utilisateurs sont redirigés vers votre site Web mobile pour terminer la procédure. Ils peuvent ensuite ajouter facilement leur carte dans Google Wallet.

Ce guide décrit la procédure d'implémentation requise pour activer votre programme de fidélité dans Google Wallet.

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é d'inscription et de connexion à votre programme de fidélité, suivez les quatre étapes ci-dessous :

  1. Configurez un environnement de test dans Google Wallet pour tester vos procédures d'inscription et de connexion.
  2. Développez des pages d'inscription et de connexion qui exploitent les données utilisateur de Google Wallet.
  3. Implémentez le transfert des informations de la carte de fidélité dans Google Wallet après l'inscription ou la connexion.
  4. Validez et activez la requête.

Configurer un environnement de test dans Google Wallet

Déterminez les URL d'inscription et de connexion, le logo de votre programme et les champs utilisateur souhaités. 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 la page 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 Google Pay & Wallet Console. Dans la console, sélectionnez le thème API Google Wallet, puis le sous-thème Connexion/Inscription au programme de fidélité.

Développer des pages d'inscription et de connexion qui exploitent les données utilisateur de Google Wallet

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 l'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. URL de connexion permettant à l'utilisateur de se connecter à un compte existant
  2. 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
  • Limiter le nombre de champs obligatoires pendant le processus d'inscription
  • Permettre à l'utilisateur de se connecter ou de s'inscrire via une page unique
  • 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
  • Assurer au moins 99,9 % de temps d'activité pour vos pages de connexion et d'inscription

En plus des exigences ci-dessus, 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, 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 userProfile, qui est inclus dans la requête POST à l'aide du type de contenu application/x-www-form-urlencoded et de l'encodage UTF-8. La valeur du paramètre userProfile 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 Connexion
email
firstName  
lastName  
addressLine [1-3]  
city  
state  
zipcode  
country  
phone  

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

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"
}

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 le créant avant de créer le jeton JWT. Pour les objets plus volumineux qui outrepassent cette limite, vous devez d'abord créer l'objet dans l'API Google Wallet, puis envoyer uniquement son ID d'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

Validation et activation de la requête

Une fois que vous avez terminé le développement et testé vos flux d'inscription/connexion, envoyez une demande via le widget d'assistance de Google Pay and Wallet Console.

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. Tous les utilisateurs peuvent ainsi accéder au programme et utiliser cette fonctionnalité.

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 plate-formes tierces et n'en recommande aucune en particulier.
  • Comment traiter correctement les données userProfile encodées en base64 ?