/react-native-responsys

Use Oracle Responsys SDK in your React Native project

Primary LanguageObjective-CMIT LicenseMIT

React Native Responsys

DEPRECATED: This repo is deprecated, initially this repo had the goal to create an bridge from oracle responsys to react native, but now oracle released the library as open source. @oracle/pushiomanager-react-native.

An honest react native project to bridge Oracle Responsys SDK.

How to setup your project

First install this native module:

npm install @juntossomosmais/react-native-responsys

React Native does automatic linking from 0.60 version onwards, but if you're using an older version, then do the following:

react-native link @juntossomosmais/react-native-responsys

iOS

TODO.

Android

If your are using a version older than 0.60, then follow the steps:

  1. Insert the following lines inside the dependencies block in android/app/build.gradle:
      implementation project(':juntossomosmais_react-native-responsys')
    
  2. Open up android/app/src/main/java/[...]/MainActivity.java
  • Add import br.com.juntossomosmais.reactnative.responsys.RNResponsysBridgePackage; to the imports at the top of the file
  • Add new RNResponsysBridgePackage() to the list returned by the getPackages() method

Add the following in your AndroidManifest.xml:

    .....
    <!-- Do not forget to follow Oracle Responsys documentation regarding permissions -->
    .....
    <application ....>
        <!-- Do not forget to follow Oracle Responsys documentation -->
        <service
            android:name="br.com.juntossomosmais.reactnative.responsys.RNResponsysBridgeListenerService"
            android:exported="false">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>
     .....

Notification Icon

For Android, you just need to put an icon called ic_responsys_alt inside res/drawable. You can use this tool to gereate your notification icon

Oracle Setup

In order to use it, you must follow Oracle guide to configure either for Android and iOS:

How to receive push notifications

In case you have multiple push SDKs (sample with Firebase Messaging):

import firebase from 'react-native-firebase'
import ResponsysBridge from '@juntossomosmais/react-native-responsys'

const messaging = firebase.messaging()

messaging
  .getToken()
  .then((token) => {
    ResponsysBridge.configureDeviceToken(token)
    const useLocation = false
    ResponsysBridge.registerApp(useLocation)
  })
  .catch((e) => {
    console.error(`Something went wrong with your setup: ${e}`)
  })

Or simply:

import ResponsysBridge from '@juntossomosmais/react-native-responsys'

const useLocation = false
ResponsysBridge.registerApp(useLocation)

Useful links

Regarding Oracle Responsys:

Native Module:

How to setup your development environment

You should use Node v12.13.1

After downloading this project, you can execute in the root folder:

npm install

After it, using IntelliJ open the folder android to start to work. For iOS is the same logic, using AppCode open the folder ios.

Important notice

The purpose of this App and even this README is not fully closed.