@adobe/react-native-acpuserprofile

Adobe Experience Platform support for React Native apps.

Usage no npm install needed!

<script type="module">
  import adobeReactNativeAcpuserprofile from 'https://cdn.skypack.dev/@adobe/react-native-acpuserprofile';
</script>

README

React Native AEP User Profile Extension

npm version npm downloads CircleCI license

@adobe/react-native-acpuserprofile is a wrapper around the iOS and Android AEP User Profile SDK to allow for integration with React Native applications. Functionality to enable Adobe User Profile is provided entirely through JavaScript documented below.

Installation

You need to install the SDK with npm and configure the native Android/iOS project in your react native project. Before installing the UserProfile extension it is recommended to begin by installing the Core extension.

Note: If you are new to React Native we suggest you follow the React Native Getting Started page before continuing.

1. Create React Native project

First create a React Native project:

react-native init MyReactApp

2. Install JavaScript packages

Install and link the @adobe/react-native-acpuserprofile package:

cd MyReactApp
npm install @adobe/react-native-acpuserprofile

2.1 Link

  • React Native 0.60+

CLI autolink feature links the module while building the app.

  • React Native <= 0.59
react-native link @adobe/react-native-acpuserprofile

Note For iOS using cocoapods, run:

cd ios/ && pod install

Usage

User Profile

Importing the extension:
import {ACPUserProfile} from '@adobe/react-native-acpuserprofile';
Getting the extension version:
ACPUserProfile.extensionVersion().then(version => console.log("AdobeExperienceSDK: ACPUserProfile version: " + version));
Registering the extension with ACPCore:

Note: It is recommended to initialize the SDK via native code inside your AppDelegate and MainApplication in iOS and Android respectively. However, you can still initialize the SDK in Javascript. For more information see how to initialize Core.

iOS
#import <RCTACPUserProfile/ACPUserProfile.h>

[ACPUserProfile registerExtension];
Android:
import com.adobe.marketing.mobile.UserProfile;

UserProfile.registerExtension();
Javascript:
import {ACPUserProfile} from '@adobe/react-native-acpuserprofile';

ACPUserProfile.registerExtension();
Update user attributes:
let attrMap = {"mapKey": "mapValue", "mapKey1": "mapValue1"};
ACPUserProfile.updateUserAttributes(attrMap);
Updating a user attribute:
let attributeName = "attrNameTest";
let attributeValue = "attrValueTest";
ACPUserProfile.updateUserAttribute(attributeName, attributeValue);
Remove a user attribute:
let attributeName = "attrNameTest";
ACPUserProfile.removeUserAttribute(attributeName);

Contributing

See CONTRIBUTING

License

See LICENSE