Inscrição no programa de fidelidade para usuários

O recurso de inscrição e login no programa de fidelidade permite que os usuários procurem seu programa e participem ou façam login na conta pela Carteira do Google. Os usuários serão direcionados para o site compatível com dispositivos móveis a fim de concluir o processo. Depois disso, eles poderão adicionar com facilidade os cartões na Carteira do Google.

Neste guia, apresentamos uma visão geral dos passos de implementação obrigatórios para ativar esse recurso em seu programa de fidelidade.

Visão geral

Para começar, verifique se você já configurou seu projeto e tem acesso à API Google Wallet.

Siga estas quatro etapas para implementar o recurso de inscrição e login no programa de fidelidade:

  1. Configure um ambiente de teste na Carteira do Google para testar fluxos de inscrição/login.
  2. Desenvolva páginas de inscrição/login que aproveitem os dados do usuário da Carteira do Google.
  3. Implemente o envio do cartão de fidelidade para a Carteira do Google após a inscrição/login.
  4. Solicite a verificação e a ativação.

Configurar um ambiente de teste na Carteira do Google

Determine os URLs de inscrição e login, além do logotipo do programa e dos campos de usuário pretendidos. Em seguida, use os campos aninhados discoverableProgram em loyaltyclass para definir os valores apropriados.

Defina os valores em discoverableProgram para criar uma versão de rascunho do programa de fidelidade habilitado para inscrição/login. Para garantir que isso fique visível para os testadores, verifique se eles têm acesso ao Console do Google Pay e da Carteira. Para saber como compartilhar o acesso ao Console do Google Pay e da Carteira com outras pessoas, consulte Saiba mais sobre a página "Usuários".

Para concluir a verificação da funcionalidade da sua implementação durante o processo de desenvolvimento, entre em contato conosco pelo widget de suporte de contato no Console do Google Pay e da Carteira. Enquanto estiver no console, selecione API Google Wallet no tópico e depois Login/inscrição de fidelidade no subtópico.

Desenvolver páginas de inscrição/login que aproveitam os dados do usuário da Carteira do Google

Ao optar por fazer login ou se inscrever no programa de fidelidade, o usuário é direcionado para uma página personalizada no site para concluir o processo de inscrição ou login. Se um usuário quiser se inscrever, a Carteira do Google vai solicitar que ele compartilhe os dados dele com você.

Para que o usuário conclua essas ações, é necessário fornecer uma destas duas páginas ou ambas.

  1. Um URL em que o usuário possa fazer login em uma conta atual.
  2. Um URL de inscrição em que o usuário possa criar uma conta nova.

As páginas de login e inscrição precisam atender aos seguintes requisitos:

  • Proporcionar uma experiência de usuário otimizada para dispositivos móveis.
  • Minimizar o número de campos obrigatórios durante o processo de inscrição.
  • Permitir que o usuário conclua o login ou a inscrição em uma única página.
  • Usar criptografia HTTPS com um certificado válido para garantir que os dados do usuário sejam transmitidos com segurança.
  • Garantir pelo menos 99,9% de tempo de atividade das páginas de login e inscrição.

Além dos requisitos acima, recomendamos permitir que os usuários se inscrevam no programa de fidelidade sem preencher nenhum formulário ou manter a página apenas com a aceitação dos termos de serviço.

  • Aproveitando os dados do usuário fornecidos, é possível criar uma conta e remeter imediatamente o cartão de fidelidade.
  • Posteriormente, envie ao usuário por e-mail uma senha única ou um link para configurar a senha e detalhes opcionais da conta.
  • Isso reduz a chance de abandono do processo de inscrição pelo usuário, porque cada etapa extra pode levar a mais desistências.

Ao apresentar a página de login ou inscrição, a Carteira do Google cria um Android WebView, e uma solicitação POST é enviada ao URL fornecido. Os dados do usuário serão fornecidos no parâmetro userProfile incluído na solicitação POST usando o tipo de conteúdo application/x-www-form-urlencoded e a codificação UTF-8. O valor do parâmetro userProfile é um objeto JSON codificado em Base64.

Dependendo da ação escolhida pelo usuário e dos campos especificados para solicitação ao usuário, o objeto JSON pode conter os campos a seguir.

Campo Inscrição Login
email
firstName  
lastName  
addressLine [1-3]  
city  
state  
zipcode  
country  
phone  

Consulte o objeto JSON de exemplo decodificado abaixo contido no userProfile.

Recurso

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

Implementar envio imediato do cartão de fidelidade para a Carteira do Google

Depois da autenticação (login) ou após a criação da conta (inscrição), a página precisa enviar imediatamente o cartão de fidelidade do usuário para a Carteira do Google.

Remeta o cartão de fidelidade à Carteira do Google redirecionando para um link que siga a estrutura abaixo.

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

O comprimento seguro de um URL é 2.000 caracteres. Os links precisam permanecer abaixo desse limite. Os objetos codificados em JWTs precisam ser pequenos e conter apenas dados específicos ao usuário. Tente manter a maioria dos dados na classe do objeto, criando-a antes do JWT. Para objetos maiores, que excedam o limite, é possível criar o objeto primeiro na API Google Wallet e enviar apenas o ID do objeto no JWT.

Fluxo de comunicação típico

O fluxo de comunicação para um usuário durante a inscrição ou o login é ilustrado na imagem a seguir. A responsabilidade por implementar todas as ações entre "Your Server" (Seu servidor) é sua.

Fluxos de login e inscrição

Solicitar verificação e ativação

Depois de concluir o trabalho de desenvolvimento e testar os fluxos de inscrição/login, envie uma solicitação pelo widget de contato com o suporte do Console do Google Pay e da Carteira.

Depois de uma avaliação completa da implementação que confirme o funcionamento correto com o app Carteira do Google, o recurso de inscrição/login será lançado publicamente para o programa de fidelidade. Isso permitirá que qualquer usuário veja o programa e use essa funcionalidade.

Para garantir uma experiência do usuário ideal, verificações recorrentes da implementação de inscrição/login serão realizadas para garantir conformidade contínua com os requisitos do recurso. Você receberá uma notificação no caso de discrepâncias, e a funcionalidade de login/inscrição poderá ser desativada até o problema ser resolvido.

Perguntas frequentes

  • Há algum requisito para as imagens usadas em meu programa de fidelidade?
    • Sim, as imagens precisam ser hospedadas em um local HTTPS porque, de outra forma, não estarão visíveis na Carteira do Google.
  • Há alguma ferramenta que simplifique a implementação e a depuração de JWTs?
    • Sim, plataformas como www.jwt.io permitem decodificar e depurar os tokens durante o processo de desenvolvimento, permitindo verificar o conteúdo que está sendo enviado. O Google não tem afiliação nem recomenda especificamente nenhum desses terceiros.
  • Como processamos corretamente os dados userProfile codificados em Base64?
    • Verifique se você está usando a codificação UTF-8 em todo o processo. A string JSON é codificada primeiro em UTF-8 e, depois, em android.util.Base64 com as opções NO_WRAP e URL_SAFE. Esse método corresponde à seção 4 do RFC 3548.