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