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

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 direto da 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 o cartão oficial à Carteira do Google.

A implementação desse recurso é o pré-requisito para converter cartões estáticos adicionados pelo usuário em cartões dinâmicos vinculados à API. Neste guia, apresentamos uma visão geral dos benefícios e das etapas de implementação necessárias para ativar seu programa de fidelidade para inscrição, login e upgrades de cartão.

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:

  1. Configure uma classe de teste:configure a Carteira do Google para testar seus fluxos.
  2. Desenvolver páginas:crie páginas de inscrição/login usando a SharedDataType da Carteira do Google.
  3. Implemente o envio:envie o cartão de fidelidade para a Carteira do Google após a ação.
  4. Solicitar verificação:envie para análise e peça a ativação do upgrade.

Por que implementar a inscrição no programa de fidelidade?

Para entender o valor dessa integração, é importante distinguir entre os dois tipos de cartões que existem na Carteira do Google: L1 (adicionado pelo usuário) e L2 (emitido pelo parceiro).

A diferença entre L1 e L2

Recurso Passe L1 (adicionado pelo usuário) Aprovação no nível 2 (emitida pelo parceiro)
Origem Criado quando um usuário digitaliza manualmente um cartão físico ou digita um número. Criado e enviado por push usando a API Wallet depois que um usuário se inscreve ou faz login usando seu fluxo.
Controle Estática. O parceiro não tem visibilidade nem controle sobre esse cartão. Dinâmico. O parceiro tem controle total usando a API.
Funcionalidade Uma imagem estática de um código de barras. Não é possível atualizá-lo. Atualizar saldos de pontos, status do nível, mostrar ofertas personalizadas e receber notificações.

Os caminhos de upgrade: a "ponte" para seu programa

Ao criar o fluxo de inscrição no programa de fidelidade (o "destino"), você permite que o Google crie uma "ponte" que atualiza os usuários de passes estáticos L1 para seus passes L2 oficiais. Há dois gatilhos principais de upgrade:

  1. Atualizações de passe do L1 para o L2:se um usuário adicionou manualmente seu cartão (L1), a Carteira do Google pode pedir que ele acesse o novo fluxo de login para fazer upgrade para o passe dinâmico oficial (L2).
  2. Atualizações de cartão importado do Gmail:se a Carteira do Google detectar um cartão de fidelidade usando o Gmail de um usuário, ela poderá pedir que ele acesse seu fluxo e faça a autenticação para receber o cartão oficial do nível 2.

Etapa 1: configurar uma classe de teste na Carteira do Google

Determine os URLs de inscrição e login, o logotipo do programa e os campos de usuário escolhidos. 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 Login/inscrição de fidelidade no subtópico.

Etapa 2: desenvolver páginas de inscrição e login

Ao optar por fazer login ou se inscrever no programa de fidelidade, um 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 pedir 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 de login em que o usuário possa fazer login em uma conta atual.
  2. Um URL de inscrição em que o usuário pode criar uma conta.

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.
  • Use 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 desses requisitos, 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 no SharedDataType, é possível criar uma conta e remeter imediatamente o cartão de fidelidade.
  • Em seguida, 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 são fornecidos no parâmetro SharedDataType, que é incluído na solicitação POST com um Content-Type de application/x-www-form-urlencoded e codificação UTF-8. O valor do parâmetro SharedDataType é 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 Registro
e-mail
firstName
lastName
addressLine [1-3]
cidade
estado
zipcode
país
telefone

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

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

Etapa 3: implementar envio imediato 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 não podem exceder esse limite. Os objetos codificados em JWTs precisam ser pequenos, contendo apenas dados específicos do usuário. Tente manter a maioria dos dados na classe do objeto, criando-a antes do JWT. Para objetos maiores que não caibam no limite, crie o objeto primeiro na API Google Wallet e envie apenas o ID do objeto no JWT.

Fluxo de comunicação típico

O fluxo de comunicação para um usuário ao concluir 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

Etapa 4: solicitar a verificação e a ativação

Depois de concluir o trabalho de desenvolvimento e testar os fluxos de inscrição/login, envie uma solicitação para que sua implementação seja revisada e totalmente ativada.

  1. Navegue até o Console do Google Pay e da Carteira.
  2. Use o widget Entrar em contato com o suporte.
  3. Informe à equipe de suporte que você concluiu a integração de inscrição no programa de fidelidade.

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.

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ê vai 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, elas não vão aparecer 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 para verificar o conteúdo que está sendo enviado. O Google não tem afiliação e não recomenda nenhum desses terceiros especificamente.

  • Como processamos corretamente os dados SharedDataType 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.