@adobe/react-native-aepcampaignclassic

6.0.1 • Public • Published

React Native AEP Campaign Classic Extension

npm version npm downloads

@adobe/react-native-aepcampaignclassic is a wrapper around the iOS and Android Adobe Experience Platform Campaign Classic Extension to allow for integration with React Native applications.

Peer Dependencies

The Adobe Experience Platform Campaign Classic extension has the following peer dependency, which must be installed prior to installing the optimize extension:

Installation

See Requirements and Installation instructions on the main page

Install the @adobe/react-native-aepcampaignclassic package:

NPM:

npm install @adobe/react-native-aepcampaignclassic

Yarn:

yarn add @adobe/react-native-aepcampaignclassic

Usage

Initializing and registering the extension

Initialization of the SDK should be done in native code, documentation on how to initialize the SDK can be found here.

Example:

iOS

@import AEPCore;
@import AEPLifecycle;
@import AEPCampaignClassic;

@implementation AppDelegate
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [AEPMobileCore setLogLevel: AEPLogLevelTrace];
  [AEPMobileCore configureWithAppId:@"yourAppID"];

  const UIApplicationState appState = application.applicationState;

  [AEPMobileCore registerExtensions: @[ AEPCampaignClassic.class] completion:^{
    if (appState != UIApplicationStateBackground) {
    [AEPMobileCore lifecycleStart:nil}];
    }
  }];
  return YES;
}
@end

Android

import com.adobe.marketing.mobile.AdobeCallback;
import com.adobe.marketing.mobile.InvalidInitException;
import com.adobe.marketing.mobile.Lifecycle;
import com.adobe.marketing.mobile.LoggingMode;
import com.adobe.marketing.mobile.MobileCore;
import com.adobe.marketing.mobile.CampaignClassic;

...
import android.app.Application;
...
public class MainApplication extends Application implements ReactApplication {
  ...
  @Override
  public void on Create(){
    super.onCreate();
    ...
    MobileCore.setApplication(this);
    MobileCore.setLogLevel(LoggingMode.DEBUG);
    MobileCore.configureWithAppID("yourAppID");
    List<Class<? extends Extension>> extensions = Arrays.asList(
                CampaignClassic.EXTENSION);
    MobileCore.registerExtensions(extensions, o -> {
      MobileCore.lifecycleStart(null);
    });
  }
}

Importing the extension:

import { CampaignClassic } from "@adobe/react-native-AEPCampaignClassic";

API reference

Getting the SDK version:

Syntax

extensionVersion(): Promise<string>

Example

const version = await CampaignClassic.extensionVersion();
console.log(`AdobeExperienceSDK: Campaign Classic version: ${version}`);

Register Device with Campaign Classic:

This API dispatches a Campaign request content event containing registration information (device token, user key, and additional parameters). Syntax

registerDeviceWithToken(
    token: string,
    userKey: string,
    additionalParameters?: Record<string, any>
): void

Example

CampaignClassic.registerDeviceWithToken('myToken', 'myUserKey')
);

Tracking Notification Click:

Dispatch event containing tracking notification from notification click.

Syntax

trackNotificationClickWithUserInfo(userInfo: Record<string, any>): void

Example

CampaignClassic.trackNotificationClickWithUserInfo({
  _mId: "testId",
  _dId: "testId",
});

Tracking Notification Receive:

Dispatch event containing tracking notification from notification receive.

Syntax

CampaignClassic.trackNotificationReceiveWithUserInfo(userInfo: Record<string, any>): void;

Example

CampaignClassic.trackNotificationReceiveWithUserInfo({
  _mId: "testId",
  _dId: "testId",
});

Package Sidebar

Install

npm i @adobe/react-native-aepcampaignclassic

Weekly Downloads

150

Version

6.0.1

License

Apache-2.0

Unpacked Size

52.8 kB

Total Files

26

Last publish

Collaborators

  • dylandepass
  • djaeggi
  • adobehalls
  • fullcolorcoder
  • marbec
  • tripod
  • garthdb
  • lazd
  • adobe-admin
  • patrickfulton
  • trieloff
  • shazron
  • krisnye
  • dcpfsdk
  • natebaldwin
  • devongovett
  • aspro83
  • symanovi
  • dpfister
  • stefan-guggisberg
  • korra
  • rofe
  • kptdobe