Qual API devo usar?

O Google Play Services tem duas APIs que podem ser usadas para simplificar o processo de verificação com base em SMS: a API SMS Retriever e a API SMS Consent User.

A API SMS Retriever oferece uma experiência do usuário totalmente automatizada e deve ser usada quando possível. No entanto, é necessário inserir um código hash personalizado no corpo da mensagem. Isso poderá ser difícil se você não for o remetente da mensagem.

Se você não tem controle sobre o conteúdo da mensagem, por exemplo, se o app 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 no app, use a API de consentimento de usuários de SMS, que não exige o código hash personalizado. No entanto, o usuário precisa aprovar a solicitação do app para acessar a mensagem que contém o código de verificação. Para minimizar as chances de exibir a mensagem errada ao usuário, o consentimento do usuário de SMS verificará se a mensagem contém um código alfanumérico com 4 a 10 caracteres contendo pelo menos um número. Ele também filtrará as mensagens dos remetentes na lista de contatos do usuário.

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

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