https://github.com/essent/nativescript-salesforce-dmp
https://github.com/essent/nativescript-salesforce-dmp
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/essent/nativescript-salesforce-dmp
- Owner: Essent
- License: mit
- Created: 2018-04-13T14:26:25.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2020-10-26T20:10:07.000Z (over 5 years ago)
- Last Synced: 2025-06-26T18:46:46.713Z (12 months ago)
- Language: TypeScript
- Size: 3.65 MB
- Stars: 0
- Watchers: 3
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# NativeScript plugin for Salesforce DMP
[](https://www.npmjs.com/package/@essent/nativescript-salesforce-dmp)
This is a plugin to use the Salesforce DMP SDK ([Android](https://konsole.zendesk.com/hc/en-us/articles/226031268-Android-SDK-Implementation-Guide) v4.3.2, [iOS](https://konsole.zendesk.com/hc/en-us/articles/219986988-iOS-SDK-Implementation-Guide) 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:
```console
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:
```xml
```
Add the following services to the application tag in the AndroidManifest.xml file of your app ([example](./demo/app/App_Resources/Android/AndroidManifest.xml)):
```xml
```
Add play-services-ads to the dependencies in the app.gradle file of your app ([example](./demo/app/App_Resources/Android/app.gradle)):
```gradle
compile 'com.google.android.gms:play-services-ads:10.2.4'
```
## Usage
To use nativescript-salesforce-dmp you must first import the module:
```ts
import { SalesforceDMP, KeyValue } from '@essent/nativescript-salesforce-dmp';
```
At the launch of your app call `initialize` with your config id:
```ts
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](https://konsole.zendesk.com/hc/en-us/articles/360000486853-Consumer-Rights-Management-Concepts-Glossary-of-Terms).
To set the consent:
```ts
const consentAttributes: KeyValue = {
pr: '1',
dc: '1',
al: '1',
tg: '1',
cd: '1',
sh: '0',
re: '1'
};
SalesforceDMP.getInstance().setConsent(consentAttributes);
```
To quickly remove all consent flags:
```ts
SalesforceDMP.getInstance().removeConsent();
```
### Tracking
To track page views call `trackPageView` (optionally you can use pageAttributes and userAttributes):
```ts
SalesforceDMP.getInstance().trackPageView('TestPage', null, null);
```
To fire events call `fireEvent`:
```ts
const attributes: KeyValue = {
event_id: 'YOUR_EVENT_ID', // this attribute is mandatory
myKey: 'An event value'
};
SalesforceDMP.getInstance().fireEvent('TestEvent', attributes);
```