Socket
Socket
Sign inDemoInstall

@bopzor/react-native-sms-x

Package Overview
Dependencies
0
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @bopzor/react-native-sms-x

React native android native api to send SMS in javascript programmatically, no linking to SMS Messenger View.


Version published
Weekly downloads
5
Maintainers
1
Created
Weekly downloads
 

Readme

Source

I fork original package to be able to published a more up-to-date version that works with Expo 48.0.18 and react-native 0.71.0. I also add TypeScript.

react-native-sms-x


SendSMS

usage

import SendSMS from 'react-native-sms-x';
// you can put any number as Id to identify which message being process
SendSMS.send(
  123,
  '+959254687254',
  'Hey.., this is me!\nGood to see you. Have a nice day.',
  (messageId: number, msg: string) => {
    alert(msg);
  }
);

Response msg string will be one of the following:

  • "SMS sent" - for successful message
  • "Generic failure" - for general failure
  • "No service" - for no mobile operator service
  • "Radio off" - for no mobile signal
  • "Null PDU" - for no PDU
Note:
Minimum android version is 4.1 and supported RN >= v0.29.

Installation
npm install react-native-sms-x --save

Android Setup

1.In your android/settings.gradle file, make the following additions:

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

2.In your android/app/build.gradle file, add the ':react-native-sms-x' project as a compile-time dependency:

...
dependencies {
    ...
    implementation project(':react-native-sms-x')
}

3.In your AndroidManifest.xml file, add a user permission for sending SMS.

<uses-permission android:name="android.permission.SEND_SMS" />

4.Update the MainApplication.java file as follow:

This step might not be needed. Skip if you see error: "Native module SendSMS tried to override Send SMS..."

import com.facebook.react.ReactApplication;
...
import com.someone.sendsms.SendSMSPackage; // <--- add here!


public class MainApplication extends Application implements ReactApplication {

  private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
    @Override
    protected boolean getUseDeveloperSupport() {
      return BuildConfig.DEBUG;
    }

    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
          new MainReactPackage(),
          new SendSMSPackage()     // <--- add here!
      );
    }
  };
}

Example

import React, { Component } from 'react';
import { AppRegistry, StyleSheet, Text, View, TouchableOpacity, ToastAndroid } from 'react-native';
import SendSMS from 'react-native-sms-x';

export default class RNSMS extends Component {
  sendSMSFunction() {
    SendSMS.send(
      123,
      '+95912345678',
      'Hey.., this is me!\nGood to see you. Have a nice day.',
      (messageId: number, msg: string) => {
        ToastAndroid.show(msg, ToastAndroid.SHORT);
      }
    );
  }
  render() {
    return (
      <View style={styles.container}>
        <TouchableOpacity style={styles.button} onPress={this.sendSMSFunction.bind(this)}>
          <Text>Send SMS</Text>
        </TouchableOpacity>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  button: {
    padding: 10,
    borderWidth: 0.5,
    borderColor: '#bbb',
    margin: 10,
    alignItems: 'center',
    justifyContent: 'center',
  },
});

AppRegistry.registerComponent('RNSMS', () => RNSMS);

Support on Beerpay

Hey dude! Help me out for a couple of :beers:!

Beerpay Beerpay

Keywords

FAQs

Last updated on 23 Jul 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc