@essent/nativescript-salesforce-dmp
v1.1.0
Published
A NativeScript plugin to use the Salesforce DMP mobile SDK.
Downloads
25
Maintainers
Readme
NativeScript plugin for Salesforce DMP
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);