---
"@context": https://schema.org
"@type": TechArticle
"@id": https://www.twilio.com/docs/verify/tutorials/android-sdk-integration#article
headline: Twilio Verification SDK for Android - Integration guide
description: Learn how to integrate the Twilio Verification SDK into an application running on Android in this guide.
url: https://www.twilio.com/docs/verify/tutorials/android-sdk-integration
inLanguage: en
dateModified: 2026-06-25T22:34:50.000Z
author:
  "@type": Organization
  name: Twilio Developer Education Team
publisher:
  "@type": Organization
  name: Twilio
---

# Twilio Verification SDK for Android - Integration guide

## Overview

The following is the high level overview of how the SDK works to simplify the process of validating a phone number within an application running on Android.

### Required components

![Flowchart showing Twilio Verification SDK on a phone, server interaction, and Twilio API connection.](https://docs-resources.prod.twilio.com/5995710c661b884f67dabc3f12e647b7ba6180f991fcfbfa03b9ecb674ec4fec.png)

1. A mobile application with the SDK installed.
2. A backend service to receive phone numbers from the App and produce a signed JWT
3. Have access to Twilio Verification API in the backend, have your mobile application's hash configured within Twilio

### High level flow

![Flow between app with Twilio SDK, server, and Twilio Verification API.](https://docs-resources.prod.twilio.com/e031c685fd2f807b195793458e0323803a7bcc30f961e622f2b511f85002d7b8.gif)

1. App requests to the backend to sign the phone number.
2. Backend transforms phone number into a JWT. The JWT is the phone number, signed with the customer's AUTHY\_API\_KEY and an expiration time
3. Backend sends JWT to Android application.
4. The Android app, with the JWT, starts the verification with the SDK.
5. Twilio sends a formatted SMS (including a prefix and a hash) to the device.
6. Twilio Verification SDK reads the SMS in the background and notifies the app. No SMS\_READ permission is needed. The app with the provided result will have a verification token that is proof enough that the phone is valid.

### Setup

This guide implements a sample app from scratch, integrated with the Twilio Verification SDK and supported by a sample token server.

A more complete sample app is also available.

The code can be directly checked out here: [Sample app](https://github.com/authy/verification-quickstart-android) - [Token Server](https://github.com/authy/authy-sdk-backend)

#### Step-by-step integration guides

1. [Integrating Twilio Verification SDK using the sample backend](/docs/verify/tutorials/android-sdk-integration-sample-backend)
2. [Integrating the Twilio Verification SDK with your own backend](/docs/verify/tutorials/android-sdk-integration-custom-backend)
3. [Register your app in Twilio Verification API](/docs/verify/tutorials/android-sdk-register-your-app)
4. [SDK Reference](/docs/verify/android-sdk)

## Wrapping up

Once the SDK is integrated in your app and your backend is capable of generating the JWT, you're good to go.

You can also make use of the Google's sign-in hint, which auto-fills connected phone numbers for the user and reduce the friction even further. Check out the [official documentation](https://developers.google.com/identity/smartlock-passwords/android/retrieve-hints) or ask our support team for more information on how to use Google's sign-in hint.

The Twilio Verification Sample App implements this feature and is available [on GitHub](https://github.com/authy/verification-quickstart-android).

[Download Authy from the Google Play Store](https://play.google.com/store/apps/details?id=com.authy.authy)
