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:
- Configure um ambiente de teste na Carteira do Google para testar fluxos de inscrição/login.
- Desenvolva páginas de inscrição/login que aproveitem os dados do usuário da Carteira do Google.
- Implemente o envio do cartão de fidelidade para a Carteira do Google após a inscrição/login.
- 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.
- Um URL em que o usuário possa fazer login em uma conta atual.
- 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 |
---|---|---|
✓ | ✓ | |
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.
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.
- Sim, as imagens precisam ser hospedadas em um local
- 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.