/react-native-batch

React Native wrapper for the Batch.com SDK

Primary LanguageJavaMIT LicenseMIT

react-native-batch

React Native integration of the Batch SDK for Android and iOS.

Roadmap

  1. ☑️ Initialize SDK
  2. ☑️ Configure push notifications
  3. ☑️ Custom User IDs
  4. ☑️ Deep linking
  5. ☑️ Rich notifications (you still need to do some manual integration, actions not supported yet)
  6. ☑️ Location
  7. ☑️ Tracking Events
  8. ☑️ Mobile Landing (with some limitations)
  9. ☑️ In App messaging (with some limitations)
  10. ☑️ Get installation ID (for debugging)
  11. Todo: Inbox support
  12. Todo: Attributes support
  13. Todo: Tracking Transactions
  14. Todo: Write tests
  15. Todo: Add linting to help contributors
  16. ...

Contributions welcome.

Credit: The push notification parts of this project is based on bamlab's react-native-batch-push package

Getting started

yarn add react-native-batch

Issues? See the Manual installation section.

Usage

import Batch from 'react-native-batch';

Batch.registerForRemoteNotifications();

See full reference.

Manual installation

Using the installation methods in Getting started section is highly recommended.

However if you run into issues, this section should help troubleshooting.

iOS

  1. In XCode, in the project navigator, right click LibrariesAdd Files to [your project's name]
  2. Go to node_modulesreact-native-batch and add RNBatch.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libRNBatch.a to your project's Build PhasesLink Binary With Libraries
  4. Run your project (Cmd+R)

Android

  1. Open up android/app/src/main/java/[...]/MainActivity.java
  • Add import com.dangerfarms.reactnative.batch.RNBatchPackage; to the imports at the top of the file
  • Add new RNBatchPackage() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
    include ':react-native-batch'
    project(':react-native-batch').projectDir = new File(rootProject.projectDir, 	'../node_modules/react-native-batch/android')
    
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:
      compile project(':react-native-batch')
    

SDK integration and push notification setup

See push setup docs.

Location tracking

See location tracking setup docs

Contributing

All PRs welcome.
The project is still on progress, so there are no tests, and no linting in place.