Qual API devo usar?

O Google Play Services tem duas APIs que você pode usar para agilizar o processo de verificação baseado em SMS: a API SMS Retriever e a API SMS User Consent .

A API SMS Retriever fornece uma experiência do usuário totalmente automatizada e deve ser usada sempre que possível. No entanto, ele exige que você coloque um código hash personalizado no corpo da mensagem, e isso pode ser difícil de fazer se você não for o remetente da mensagem.

Se você não tem controle sobre o conteúdo da mensagem, por exemplo, se seu aplicativo trabalha com uma instituição financeira que pode querer verificar o número de telefone do usuário antes de aprovar uma transação de pagamento dentro de seu aplicativo, você pode usar o SMS User API de consentimento, que não requer o código hash personalizado. No entanto, ele exige que o usuário aprove a solicitação do seu aplicativo para acessar a mensagem que contém o código de verificação. Para minimizar as chances de exibir a mensagem errada para o usuário, o SMS User Consent verificará se a mensagem contém um código alfanumérico de 4 a 10 caracteres contendo pelo menos um número. Ele também filtrará mensagens de remetentes na lista de contatos do usuário.

As diferenças estão resumidas na tabela abaixo:

SMS Retriever Consentimento do usuário de SMS
Requisitos de mensagem Código hash de 11 dígitos que identifica exclusivamente seu aplicativo Código alfanumérico de 4 a 10 dígitos contendo pelo menos um número
Requisitos do remetente Nenhum O remetente não pode estar na lista de contatos do usuário
Interação com o usuário Nenhum Um toque para aprovar