SmsRetrieverClient

public abstract class SmsRetrieverClient extends GoogleApi<Api.ApiOptions.NoOptions>
implements SmsRetrieverApi

The main entry point for interacting with SmsRetriever.

This does not require a GoogleApiClient. See GoogleApi for more information.

Inherited Field Summary

Public Method Summary

abstract Task<Void>
startSmsRetriever()
Starts SmsRetriever, which waits for a matching SMS message until timeout (5 minutes).
abstract Task<Void>
startSmsUserConsent(String senderAddress)
Starts SmsUserConsent, which waits for an OTP-containing SMS message until timeout (5 minutes).

Inherited Method Summary

Public Methods

public abstract Task<Void> startSmsRetriever ()

Starts SmsRetriever, which waits for a matching SMS message until timeout (5 minutes). The matching SMS message will be sent via a Broadcast Intent with action SmsRetriever.SMS_RETRIEVED_ACTION. The Intent contains Extras with keys SmsRetriever.EXTRA_SMS_MESSAGE for the retrieved SMS message as a String, and SmsRetriever.EXTRA_STATUS for Status to indicate SUCCESS, DEVELOPER_ERROR, ERROR, or TIMEOUT.

The possible causes for errors are:

  • DEVELOPER_ERROR: the caller app has incorrect number of certificates. Only one certificate is allowed.
  • ERROR: the AppCode collides with other installed apps.
Returns

public abstract Task<Void> startSmsUserConsent (String senderAddress)

Starts SmsUserConsent, which waits for an OTP-containing SMS message until timeout (5 minutes). OTP-containing SMS message can be retrieved with two steps.

  1. [Get consent Intent] While OTP-containing SMS message comes, a consent Intent will be sent via a Broadcast Intent with action SmsRetriever.SMS_RETRIEVED_ACTION. The Intent contains Extras with keys SmsRetriever.EXTRA_CONSENT_INTENT for the consent Intent and SmsRetriever.EXTRA_STATUS for Status to indicate SUCCESS or TIMEOUT.
  2. [Get OTP-containing SMS message] Calls startActivityForResult with consent Intent to launch a consent dialog to get user's approval, then the OTP-containing SMS message can be retrieved from the activity result.
Parameters
senderAddress address of desired SMS sender, or null to retrieve any sender
Returns