2.0.1 • Published 2 years ago

@leciseau/react-native-emarsys v2.0.1

Weekly downloads
59
License
MIT
Repository
github
Last release
2 years ago

@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)

  1. Go to /ios
  2. If you don't have a Podfile yet run pod init
  3. Run pod install
  4. You should now open your project with the .xcworkspace instead of the .xcodeproj

Android (Gradle)

  1. Go to src/app/build.gradle
  2. In dependencies add
dependencies {
  ...
  implementation 'com.emarsys:emarsys-sdk:3.1.0'
  ...
}

3 Init SDK

iOS

  1. Go to AppDelegate.m
  2. 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

  1. You should target api 24 as your min SDK in android/build.gralde
  2. Update
    minSdkVersion = 24 <--- there
    compileSdkVersion = 29
    targetSdkVersion = 29
  1. Go to MainApplication.java
  2. 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');
2.0.1

2 years ago

2.0.0

2 years ago

1.0.3

3 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago