¿Qué API debo usar?

Los Servicios de Google Play tienen dos API que puedes usar para optimizar el proceso de verificación basado en SMS: la API de SMS Retriever y la SMS User Consent API.

La API de SMS Retriever proporciona una experiencia del usuario completamente automatizada y debe usarse siempre que sea posible. Sin embargo, sí requiere que coloques un código hash personalizado en el cuerpo del mensaje, lo que puede ser difícil de realizar si no eres el remitente de ese mensaje.

Si no tienes control sobre el contenido del mensaje (por ejemplo, si tu app trabaja con una institución financiera que podría querer verificar el número de teléfono del usuario antes de aprobar una transacción de pago dentro de ella), puedes usar la API de consentimiento del usuario de SMS, que no requiere el código hash personalizado. Sin embargo, sí requiere que el usuario apruebe la solicitud de la app para acceder al mensaje que contiene el código de verificación. A fin de minimizar las posibilidades de mostrar el mensaje incorrecto al usuario, el Consentimiento del usuario de SMS verificará si el mensaje contiene un código alfanumérico de 4 a 10 caracteres que contenga al menos un número. También filtrará los mensajes de los remitentes en la lista de contactos del usuario.

Las diferencias se resumen en la siguiente tabla:

Recuperador de SMS Consentimiento del usuario para SMS
Requisitos de mensajes Código hash de 11 dígitos que identifica tu app de forma única Código alfanumérico de 4 a 10 dígitos que contiene al menos un número
Requisitos del remitente Ninguno El remitente no puede estar en la lista de contactos del usuario.
Interacción del usuario Ninguno Presiona una vez para aprobar