Nonstick Pancake Maker

    react-native-android-sms-listener

    0.8.0 • Public • Published

    react-native-android-sms-listener react-native-android-sms-listener

    A utility that allows you to listen for incoming SMS messages.

    Example

    import SmsListener from 'react-native-android-sms-listener'
     
    SmsListener.addListener(message => {
      console.info(message)
    })

    The contents of message object will be:

    {
      originatingAddress: string,
      body: string,
      timestamp: number
    }

    SmsListener#addListener returns a CancellableSubscription so if you want to stop listening for incoming SMS messages you can simply .remove it:

    let subscription = SmsListener.addListener(...)
     
    subscription.remove()
    Example of using it for verification purposes:

    ...and if in your sign up process you have the phone number verification step which is done by sending a code via SMS to the specified phone, you might want to verify it automatically when the user receive it — pretty much like what Telegram or WhatsApp does:

    let subscription = SmsListener.addListener(message => {
      let verificationCodeRegex = /Your verification code: ([\d]{6})/
     
      if (verificationCodeRegex.test(message.body)) {
        let verificationCode = message.body.match(verificationCodeRegex)[1]
     
        YourPhoneVerificationApi.verifyPhoneNumber(
          message.originatingAddress,
          verificationCode
        ).then(verifiedSuccessfully => {
          if (verifiedSuccessfully) {
            subscription.remove()
            return
          }
     
          if (__DEV__) {
            console.info(
              'Failed to verify phone `%s` using code `%s`',
              message.originatingAddress,
              verificationCode
            )
          }
        })
      }
    })

    If you're using Twilio or a similar third-party messaging service which you have a fixed phone number to deliver messages you might want to ensure that the message comes from your service by checking message.originatingAddress.

    Installation

    $ npm install --save react-native-android-sms-listener
    $ react-native link react-native-android-sms-listener

    Manual Installation

    For a manual installation, all you need to do to use this so-called utility is:

    android/settings.gradle

    include ':react-native-android-sms-listener'
    project(':react-native-android-sms-listener').projectDir = new File(rootProject.projectDir,'../node_modules/react-native-android-sms-listener/android')

    android/app/build.gradle

    dependencies {
      compile project(':react-native-android-sms-listener')
      // (...)
    }

    MainApplication.java

    import com.centaurwarchief.smslistener.SmsListenerPackage;
    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
        new MainReactPackage(),
        new SmsListenerPackage()
        // (...)
      );
    }

    Install

    npm i react-native-android-sms-listener

    DownloadsWeekly Downloads

    781

    Version

    0.8.0

    License

    MIT

    Unpacked Size

    12.4 kB

    Total Files

    20

    Last publish

    Collaborators

    • centaurwarchief