Какой API мне следует использовать?

В сервисах Google Play есть два API, которые можно использовать для оптимизации процесса проверки на основе SMS : SMS Retriever API и API согласия пользователя SMS .

SMS Retriever API обеспечивает полностью автоматизированное взаимодействие с пользователем и его следует использовать по возможности. Однако это требует, чтобы вы поместили собственный хэш-код в тело сообщения, и это может быть сложно сделать, если вы не отправитель этого сообщения.

Если у вас нет контроля над содержанием сообщения - например, если ваше приложение работает с финансовым учреждением, которое может захотеть проверить номер телефона пользователя перед утверждением платежной транзакции внутри вашего приложения, - тогда вы можете использовать SMS User Consent API, для которого не требуется настраиваемый хеш-код. Однако он требует, чтобы пользователь утвердил запрос вашего приложения на доступ к сообщению, содержащему проверочный код. Чтобы свести к минимуму вероятность появления неправильного сообщения для пользователя, SMS User Consent проверяет, содержит ли сообщение буквенно-цифровой код из 4-10 символов, содержащий хотя бы одну цифру. Он также будет отфильтровывать сообщения от отправителей в списке контактов пользователя.

Различия суммированы в таблице ниже:

SMS-ретривер Согласие пользователя по SMS
Требования к сообщениям 11-значный хэш-код, который однозначно идентифицирует ваше приложение. 4-10-значный буквенно-цифровой код, содержащий хотя бы одну цифру
Требования к отправителю Никто Отправитель не может быть в списке контактов пользователя
Взаимодействие с пользователем Никто Одно касание, чтобы одобрить