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.
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
TODO.
If your are using a version older than 0.60, then follow the steps:
- Insert the following lines inside the dependencies block in
android/app/build.gradle
:implementation project(':juntossomosmais_react-native-responsys')
- 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 thegetPackages()
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>
.....
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
In order to use it, you must follow Oracle guide to configure either for Android and iOS:
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)
Regarding Oracle Responsys:
- Organization which has all repositories related to Oracle Marketing Cloud
- Android SDK (Push IO Manager)
- Everything related to Android integration
- iOS SDK (Push IO Manager)
- Everything related to iOS integration
Native Module:
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.
The purpose of this App and even this README is not fully closed.