@adobe/cordova-acpuserprofile

Adobe Experience Platform - User Profile plugin for Cordova apps.

Usage no npm install needed!

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

README

Adobe Experience Platform - User Profile plugin for Cordova apps

CI npm GitHub

Prerequisites

Cordova is distributed via Node Package Management (aka - npm).

In order to install and build Cordova applications you will need to have Node.js installed. Install Node.js.

Once Node.js is installed, you can install the Cordova framework from terminal:

sudo npm install -g cordova  

Installation

To start using the User Profile plugin for Cordova, navigate to the directory of your Cordova app and install the plugin:

cordova plugin add https://github.com/adobe/cordova-acpuserprofile.git

Check out the documentation for help with APIs

Usage

Getting the SDK version:
ACPUserProfile.extensionVersion(function(version){  
    console.log(version);
}, function(error){  
    console.log(error);  
});
Registering the extension with ACPCore:

Note: It is required to initialize the SDK via native code inside your AppDelegate and MainApplication for iOS and Android respectively. For more information see how to initialize Core.

iOS
#import "ACPUserProfile.h"  
[ACPUserProfile registerExtension];  
Android:
import com.adobe.marketing.mobile.UserProfile;  
UserProfile.registerExtension();
Get user profile attributes which match the provided keys:
var attributeNames = new Array();
attributeNames.push("attributeName1");
attributeNames.push("attributeName2");
attributeNames.push("attributeName3");
ACPUserProfile.getUserAttributes(attributeNames, function(response) {  
    console.log("Matching user profile attributes: ", response);
}, function(error){  
    console.log(error);  
});
Remove user profile attribute if it exists:
ACPUserProfile.removeUserAttribute("attributeName",function(response) {  
    console.log("User Profile attribute removed.", response);
}, function(error){  
    console.log(error);  
});
Remove provided user profile attributes if they exist:
var attributeNames = new Array();
attributeNames.push("attributeName1");
attributeNames.push("attributeName2");
attributeNames.push("attributeName3");
ACPUserProfile.removeUserAttributes(attributeNames, function(response) {  
    console.log("User Profile attributes removed.", response);
}, function(error){  
    console.log(error);  
});
Set a single user profile attribute:
ACPUserProfile.updateUserAttribute("age", 30, function(response){  
    console.log("Successfully added user profile key and value.", response);  
}, function(error){  
    console.log(error);  
});  
Set multiple user profile attributes:
var firstName = "john";
var age = 40;
var state = "California";
var phoneNumber = "555-555-5555";
var vehicles = new Array();
vehicles.push("car");
vehicles.push("boat");
vehicles.push("airplane");
vehicles.push("motorcycle");
var colors = {"color1":"red", "color2":"blue", "color3":"green"}
var attributeMap = {"first name":firstName, "age":age, "state":state, "phone number":phoneNumber, "vehicles":vehicles, "colors":colors};
ACPUserProfile.updateUserAttributes(attributeMap, function(response) {  
    console.log("Successfully added user profile key(s) and value(s).");
}, function(error){  
    console.log(error);  
});

Running Tests

Install cordova-paramedic https://github.com/apache/cordova-paramedic

npm install -g cordova-paramedic

Run the tests

cordova-paramedic --platform ios --plugin . --verbose
cordova-paramedic --platform android --plugin . --verbose

Sample App

A Cordova app for testing the Adobe SDK plugins is located at https://github.com/adobe/cordova-acpsample. The app is configured for both iOS and Android platforms.

Additional Cordova Plugins

Below is a list of additional Cordova plugins from the AEP SDK suite:

Extension GitHub npm
Core SDK https://github.com/adobe/cordova-acpcore npm
Adobe Analytics https://github.com/adobe/cordova-acpanalytics npm
Places https://github.com/adobe/cordova-acpplaces npm
Project Griffon (Beta) https://github.com/adobe/cordova-acpgriffon npm

Contributing

Looking to contribute to this project? Please review our Contributing guidelines prior to opening a pull request.

We look forward to working with you!

Licensing

This project is licensed under the Apache V2 License. See LICENSE for more information.