@leciseau/react-native-emarsys
v2.0.1
Published
A simple bridge between emarsys sdk and react-native
Downloads
121
Readme
@leciseau/react-native-emarsys
1. Install the React Native Emarsys plugin
$ npm install @leciseau/react-native-emarsys --save
OR
$ yarn add @leciseau/react-native-emarsys
2 Install the native SDK
iOS (Cocoapods)
- Go to
/ios
- If you don't have a Podfile yet run
pod init
- Run
pod install
- You should now open your project with the
.xcworkspace
instead of the.xcodeproj
Android (Gradle)
- Go to
src/app/build.gradle
- In
dependencies
add
dependencies {
...
implementation 'com.emarsys:emarsys-sdk:3.1.0'
...
}
3 Init SDK
iOS
- Go to
AppDelegate.m
- Add
...
#import "EMSConfig.h"
#import "Emarsys.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
...
EMSConfig *config = [EMSConfig makeWithBuilder:^(EMSConfigBuilder *builder) {
[builder setMobileEngageApplicationCode:<applicationCode: NSString>];
[builder setMerchantId:<predictMerchantId: NSString>];
[builder enableConsoleLogLevels:@[<EMSLogLevel.trace, EMSLogLevel.debug, EMSLogLevel.info, EMSLogLevel.warn, EMSLogLevel.error, EMSLogLevel.basic>]];
}];
[Emarsys setupWithConfig:config];
...
}
Android
- You should target api 24 as your min SDK in
android/build.gralde
- Update
minSdkVersion = 24 <--- there
compileSdkVersion = 29
targetSdkVersion = 29
- Go to
MainApplication.java
- Add
...
import com.emarsys.Emarsys;
import com.emarsys.config.EmarsysConfig;
@Override
public void onCreate() {
super.onCreate();
...
EmarsysConfig config = new EmarsysConfig.Builder()
.application(this)
.applicationCode(<applicationCode:String?>)
.merchantId(<merchantId:String?>)
.build();
Emarsys.setup(config);
}
Usage
import RNEmarsys from '@leciseau/react-native-emarsys';
// or
import {
trackCustomEvent,
trackTag,
setContact,
clearContact,
trackCart,
trackPurchase,
trackItemView,
trackCategoryView,
trackSearchTerm,
} from '@leciseau/react-native-emarsys';
RNEmarsys.trackCustomEvent('myEvent', { toto: "titi" });
RNEmarsys.trackTag('myTag', { toto: "titi" });
RNEmarsys.setContact(contactFieldId, 'userId');
RNEmarsys.clearContact();
RNEmarsys.trackCart([{
item: 'myItem',
quantity: '1',
price: '12.34',
}]);
RNEmarsys.trackPurchase('idPurchase', [{
item: 'myItem',
quantity: '1',
price: '12.34',
}]);
RNEmarsys.trackItemView('myItemId');
RNEmarsys.trackCategoryView('myCategoryPath');
RNEmarsys.trackSearchTerm('mySearchTerm');