Skip to content
No description, website, or topics provided.
TypeScript Objective-C Shell JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
demo
publish
src
.gitignore
.travis.yml
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
README.md
tslint.json

README.md

NativeScript plugin for Salesforce DMP

npm version

This is a plugin to use the Salesforce DMP SDK (Android v4.3.2, iOS v4.3.0). To use this plugin you need to have an account for Salesforce DMP.

Installation

Run the following command from the root of your project:

tns plugin add @essent/nativescript-salesforce-dmp

Setup (Android Only)

Make sure you add the following permissions to the AndroidManifest.xml file of your app:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

Add the following services to the application tag in the AndroidManifest.xml file of your app (example):

<service android:name="com.krux.androidsdk.aggregator.EventPublisherService" android:enabled="true" />
<service android:name="com.krux.androidsdk.aggregator.ConsentService" android:enabled="true" />

Add play-services-ads to the dependencies in the app.gradle file of your app (example):

compile 'com.google.android.gms:play-services-ads:10.2.4'

Usage

To use nativescript-salesforce-dmp you must first import the module:

import { SalesforceDMP, KeyValue } from '@essent/nativescript-salesforce-dmp';

At the launch of your app call initialize with your config id:

SalesforceDMP.getInstance().initialize('YOUR_CONFIG_ID', true);

Consent

Before using Salesforce DMP the user needs to give consent. More information about these flags can be found in this support article.
To set the consent:

const consentAttributes: KeyValue<string> = {
    pr: '1',
    dc: '1',
    al: '1',
    tg: '1',
    cd: '1',
    sh: '0',
    re: '1'
};
SalesforceDMP.getInstance().setConsent(consentAttributes);

To quickly remove all consent flags:

SalesforceDMP.getInstance().removeConsent();

Tracking

To track page views call trackPageView (optionally you can use pageAttributes and userAttributes):

SalesforceDMP.getInstance().trackPageView('TestPage', null, null);

To fire events call fireEvent:

const attributes: KeyValue<string> = {
    event_id: 'YOUR_EVENT_ID', // this attribute is mandatory
    myKey: 'An event value'
};
SalesforceDMP.getInstance().fireEvent('TestEvent', attributes);
You can’t perform that action at this time.