by global66 | v1.1.2
SMS OTP autocomplete.
npm i --save @global66/nativescript-sms-receiver


This is simple library for receiving sms in android with new SMS Retriever API.


Minimum sdk is 21.


tns plugin add nativescript-sms-receiver


Step 1. Register SMSBroadcastReceiver in manifest file

Add below code to {your-app-module}/App_Resources/Android/src/main/AndroidManifest.xml

<receiver android:name="com.pravinkumarputta.android.smsreceiver.SMSBroadcastReceiver" android:exported="true">
<action android:name="com.google.android.gms.auth.api.phone.SMS_RETRIEVED"/>

Step 2. Import SmsReceiver

import { SmsReceiver } from 'nativescript-sms-receiver';

Step 3. Instantiate SmsReceiver

Call this method once before starting SMS listener


Note: Call above method only after page loaded.

Step 4. Start SMS listening

// register Sms Listener to get SMS callbacks
function () {
// onSMSReceiverStarted
function (exception) {
// onSMSReceiverFailed
function (message) {
// onSMSReceived
// handle sms here

// deregister Sms Listener to avoid invalid operations
function () {
// onSMSReceiverTimeOut

// start sms receiver for single message

Construct a verification message

The verification message that you will send to the user's device. This message must:

  • Be no longer than 140 bytes
  • Begin with the prefix <#>
  • Contain a one-time code that the client sends back to your server to complete the verification flow (see Generating a one-time code)
  • End with an 11-character hash string that identifies your app (see Computing your app's hash string)

Otherwise, the contents of the verification message can be whatever you choose. It is helpful to create a message from which you can easily extract the one-time code later on. For example, a valid verification message might look like the following:

<#> Your ExampleApp code is: 123ABC78

(For more information visit here)

Generating 11-character hash string for your app

After instantiating SMSReceiver access hash string using:

SmsReceiver.getInstance().getHashString() // After instantiating SmsReceiver othersise it returns empty string

Request for phone number saved in your device

SmsReceiver.getInstance().requestForPhoneNumber((phoneNumber) => {
// phoneNumber is null if no number is selected.

Used libraries


Apache License Version 2.0, January 2004