@letscooee/react-native
TypeScript icon, indicating that this package has built-in type declarations

1.4.0 • Public • Published

cooee-react-native

Cooee's React Native Plugin for hyper-personalised Mobile App Re-Engagement via Machine Learning

Installation

npm install cooee-react-native

Environment Setup

Android

Add following updates to you Manifest.xml

<!-- add following line to application tag -->
<application 
tools:replace="android:name"
...
/>

<!-- APP_ID and APP_SECRET should be replaced with you credentials -->
<meta-data
    android:name="COOEE_APP_ID"
    android:value="<APP_ID>" />

<meta-data
    android:name="COOEE_APP_SECRET"
    android:value="<APP_SECRET>" />

Open your MainApplication class present at android/app/src/main/java/<yourpackage_name>/ and extend it with Controller class

import com.letscooee.CooeePlugin;
...

public class MainApplication extends CooeePlugin implements ReactApplication {
...
}

iOS

Add the following lines to your info.plist (Note: APP_ID, APP_SECRET will be replace by credentials)

<key>NSBluetoothPeripheralUsageDescription</key>
<string>App uses Bluetooth to find out nearby devices</string> 

<key>NSLocationWhenInUseUsageDescription</key>
<string>App uses location to search retailer location</string>

<key>CooeeAppID</key>
<string><APP_ID></string>
<key>CooeeSecretKey</key>
<string><APP_SECRET></string>

Also setup your Apps deployment-target to 13.0

Usage

And then in you js or tsx import CooeeReactNative Module and start accessing methods.

import CooeeReactNative from "cooee-react-native";

// ...
// get User ID
const result = await CooeeReactNative.getUUID();

// Update Screen Name
CooeeReactNative.updateScreenName("HomeActivity");

//Update User Data
CooeeReactNative.updateUserData({ "name": "USER_NAME", "email": "USER_EMAIL", "mobile": "USER_MOBILE_NO" });

//Submit events
CooeeReactNative.sendEvent("EVENT_NAME", {"foo":"bar"});

We also send data back to app when user perform any action with trigger. Tah data is in Map<String, Object> format.

To listen Teigger action add the flowing code block in your code:

import { NativeEventEmitter, NativeModules } from 'react-native';

const eventEmitter = new NativeEventEmitter(NativeModules.ToastExample);
var eventListener = eventEmitter.addListener('onInAppButtonClick', (event) => {

    console.log(event) // "event will contain data in Map<String,Object> format"
});

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT

Package Sidebar

Install

npm i @letscooee/react-native

Weekly Downloads

0

Version

1.4.0

License

MIT

Unpacked Size

61.5 kB

Total Files

36

Last publish

Collaborators

  • abhishektaparia
  • sagrawal31
  • ashishgaikwad