deepin-js-sdk
v1.2.0
Published
Javascript SDK to use deepin platform
Downloads
1
Readme
Deepin SDK
Table of Contents
How to install and import deepin SDK
deepin-sdk
can be used in react, vue, svelte, react-native, flutter, cordova and in other capacities you may require that can run javascript code as follows:
With Package Managers
You can use one of the following commands to install the sdk.
npm i deepin-js-sdk
yarn add deepin-js-sdk
The following code shows you how could it be imported in es6 or 7 or typescript.
import deepIn from 'deepin-js-sdk'
...
Without Package Managers
Copy the following line in an html file
<script src="https://dash.mydeepin.ir/download/deepin-js-sdk-v1.1.3.js"></script>
<script>
const deepIn = window.Deepin
...
</script>
Initialization And Test
First you need to create a new source(web sdk) in deepin panel and get a writekey then use deepin
instance to be able to initialize it by the following code:
deepIn.init(writeKey);
Now you are ready to send events using this instance, It creates a bundle of events and send them together by default. Thus, for the first time you can use the following code to send a page event instantly and check whether the event has been sent successfully.
deepIn.init(writekey);
deepIn.page(); // calls a page event
deepIn.flush(); // cleanse the queue and sends all the events
Initialize sdk in react-native
In react-native
make sure you call init method after intrack initialization
if (!(await InTrack.isInitialized())) {
//init inTrack
await InTrack.init({
appKey: "INTRACK_APP_KEY__",
iosAuthKey: "ّINTRACK_AUTH_KEY_FOR_IOS__",
androidAuthKey: "INTRACK_AUTH_KEY_FOR_ANDROID__",
});
InTrack.start();
// other inTrack related codes...
// init DeepIn:
DeepIn.init(writekey);
}
Api
Init
Use the init method to initialize the deepIn SDK.
deepIn.init(writeKey);
writeKey
The given writekey for the source you have created in deepin panel.
Identify
Use the identify method to link your users and their actions, to a recognizable userId and traits.
deepIn.identify(userId, [traits], [commonProps]);
userId
The database ID for the user. If you don’t know who the user is yet, you can set the userId an empty string and just record traits.
traits (optional)
A dictionary of traits you know about the user, you can read more about traits in the identify traits type
commonProps (optional)
A dictionary of properties, you can read more about common properties in the common properties type
deepIn.identify("12091906-01011992", {
firstName: "Grace Hopper",
username: "[email protected]",
});
Track
The Track method lets you record actions your users perform.
deepIn.track(event, [properties]);
event
The name of the event you’re tracking.
category
The category of the event you’re tracking.
commonProps (optional)
A dictionary of properties for the event, If the event was 'Added to Cart', it might have properties like price and productType, you can read more about common properties in the common properties type
deepIn.track("Added to Cart", "Sell", {
properties: {
price: 1000,
productType: "mobile",
},
});
Page
The Page method lets you record page views on your website, along with optional extra information about the page viewed by the user.
deepIn.page([category], [channel], [properties]);
category (optional)
The category of the page. Useful for cases like ecommerce where many pages might live under a single category.
channel (optional)
The channel of the page.
commonProps (optional)
A dictionary of properties, you can read more about common properties in the common properties type
deepIn.page("Pricing");
deepIn.page("Pricing", "", {
page: {
title: "Deepin Pricing",
url: "https://mydeepin.ir/pricing",
referrer: "https://mydeepin.ir",
},
});
Group
The Group method associates an identified user with a company, organization, project, workspace, team, tribe, platoon, assemblage, cluster, troop, gang, party, society or any other collective noun you come up with for the same concept.
deepIn.group(groupId, [traits], [commonProps]);
groupId
The Group ID to associate with the current user.
traits (optional)
A dictionary of traits for the group. Example traits for a group include address, website, and employees. you can read more about traits in the group traits type
commonProps (optional)
A dictionary of properties, you can read more about common properties in the common properties type
deepIn.group("UNIVAC Working Group", {
employees: "Eckert–Mauchly",
industry: "IT",
});
Alias
The Alias method combines two unassociated user identities. Segment usually handles aliasing automatically when you call identify on a user, however some tools require an explicit alias call.
deepIn.alias(userId, [previousId]);
userId
The new user ID you want to associate with the user.
previousId (optional)
The previous ID that the user was recognized by. This defaults to the currently identified user’s ID.