SMS User Consent API を使ったワンタップ SMS 検証

SMS User Consent API は、SMS Retriever API を補完するもので、1 つの SMS メッセージのコンテンツへのアクセスを許可するようユーザーに促します。ユーザーが同意すると、アプリはメッセージ本文全体にアクセスして SMS 検証を自動的に完了できます。

SMS User Consent API を使って 1 回限りのコードを自動的に入力する場合、1 つの SMS メッセージの読み取り権限をアプリに許可するようユーザーに求めます。SMS User Consent API を使用すると、ユーザーに次の画面が表示されます。

ユーザーが SMS による確認フローを開始すると、キーボードを使用して 1 回限りのコードを入力するよう求められます。これは、アプリが実行されているのとは別のデバイスでユーザーが SMS を受信する状況に対処するうえで重要です。

アプリが SMS ユーザーの同意をリクエストした場合、1 回限りのコードを含む受信 SMS メッセージが 1 つ表示されます。このメッセージには、1 つの SMS メッセージのコンテンツ全体を共有できます。これは、アプリが SMS ユーザーの同意をリクエストし、SMS メッセージを受信したデバイスで実行されている場合にのみ発生します。ユーザーの連絡先から送信されたメールは表示されません。

ユーザーが SMS メッセージの内容をアプリに提供すると、SMS メッセージのテキスト全体が共有されます。SMS 検証フローは自動的に完了します。

共有しないことにした場合、ユーザーはワンタイム コードを手動で入力して SMS 検証フローを完了します。

SMS User Consent API を使った SMS 検証フロー全体を実装するには、バックエンド サーバーとやり取りして SMS を送信する必要があります。また、SMS User Consent API とやり取りして、1 回限りのコードだけを送信するようユーザーに促す必要があります。

SMS ユーザー同意 API を使用して SMS 検証フローを実装するには、アプリとサーバーで次の手順を踏む必要があります。

  1. アプリが SMS User Consent API を呼び出して、サーバーからの SMS 応答をリッスンします。SMS ユーザーの同意の開始前に受信した SMS メッセージは、アプリに転送されません。
  2. SMS User Consent API を起動すると、アプリはサーバーに SMS による確認を使用して、電話番号の確認をリクエストします。
  3. ユーザーのデバイスが 1 回限りのコードを含む SMS メッセージを受信すると、Google Play 開発者サービスはメッセージの内容をユーザーに表示し、そのテキストの使用についてユーザーに同意を求めます。
  4. ユーザーが同意すると、アプリで SMS メッセージ全体を使用できるようになります。
  5. アプリがメッセージ テキストからワンタイム コードを解析してサーバーに送信します。

詳しくは、SMS 確認コードの読み取りについて、1 回限りの同意をリクエストするをご覧ください。