For a quick start and a step-by-step guide, please refer to Twilio Verification SDK for Android - Integration Guides
Technical information
1Downloadable via jCenter.2Weight: 26KB (v1.0.0)3Method count: 218 methods.45Dependencies: retrofit2, gson, okhttp3.
To initialize a phone verification process you can call
public void startVerification(String jwtToken, Via via);
If you decide to use the Via.SMS
, then the SDK will automatically inspect the SMS inbox in the device and continue the process without interrupting the user.
Otherwise, as a fallback you can use Via.CALL
This method will trigger a telephone call from Twilio and deliver a code to the user by voice. The language will be inferred by the API unless locale
parameter was used in the JWT payload.
The user will need to manually input that code into your app and then your app will need to call checkVerificationPin()
to complete the process
public void checkVerificationPin(String pin);
When the BroadcastReceiver receives an intent, the verification status can be extracted with getVerificationStatus
. The result will be a VerificationStatus
object.
public static VerificationStatus getVerificationStatus(Intent verificationIntent);
VerificationStatus
object: a response holder that contains three methods:
public State getState();
Returns a State enum that can take as value: [ STARTED | AWAITING_VERIFICATION | SUCCESS | ERROR ]
STARTED
: The start verification was called, but the SMS has not arrived yet.AWAITING_VERIFICATION
: The SMS arrived and we're waiting for the check callSUCCESS
: The pin was verified. The verification token is available in the VerificationStatus object through the getVerificationToken() method.ERROR
: There was an error while verifying. The exception can be recovered through the getVerificationException()public String getVerificationToken();
The verification token will have the following structure
1{2valid: <true|false>,3iat: <timestamp>,4exp: <timestamp>,5verification: {6uuid: <PV-uuid>,7via: <sms|call>,8phone_number: <phonenumber>,9code_length: <4-10>10}11}
Returns the verification token, which is proof that the verification was successful. The backend can decrypt this token later with the AUTHY_API_KEY
to verify this.
public VerificationException getVerificationException();
This property will hold the verification exception if it did not succeed.