Show last authors
1 {{box cssClass="floatinginfobox" title="**Page Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 = 1. Overview =
6
7 The plugin is located at npmjs repositories [[(npm repositories)>>https://www.npmjs.com/package/react-native-mobigate]]
8 This plugin is built for:
9
10 * Mobigate SDK version 1.0.4
11
12 = 2. Adding SDK to the project =
13
14 **First, install library from the repository with**
15
16 {{code language=""}}
17 yarn add react-native-mobigate
18 {{/code}}
19
20 or
21
22 {{code language=""}}
23 npm install react-native-mobigate --save
24 {{/code}}
25
26 **Link newly added plugin**
27
28 * **React Native >= 0.60**
29 Starting from React Native 0.60, [[autolinking>>https://github.com/react-native-community/cli/blob/master/docs/autolinking.md]] makes the installation process simpler
30
31 * **React Native <= 0.59**
32 ** Mostly automatic installation:
33 {{code language=""}}react-native link react-native-mobigate{{/code}}
34 ** Manual installation:{{showhide id="1" showmessage="Manually link the library on Android" hidemessage="Manually link the library on Android"}}* Add to: android/settings.gradle
35
36 {{code language="groovy"}}
37 include ':react-native-mobigate'
38 project(':react-native-mobigate').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-mobigate/android')
39 {{/code}}
40 * Add to: android/app/build.gradle
41
42 {{code language="groovy"}}
43 dependencies {
44 implementation project(':react-native-mobigate')
45 }
46 {{/code}}
47 * Add the MobigatePackage class to your list of exported packages into: android/app/src/main/.../MainApplication.java
48
49 {{code language="java"}}
50 ...
51 import pl.spicymobile.reactmobigate.MobigatePackage;
52
53
54 @Override
55 protected List<ReactPackage> getPackages() {
56 return Arrays.<ReactPackage>asList(
57 new MainReactPackage(),
58 new MobigatePackage()
59 );
60 }
61 {{/code}}{{/showhide}}
62
63 = 3. Api methods =
64
65 To use any method from the plugin add import:
66
67 {{code language="javascript"}}
68 import Mobigate from 'react-native-mobigate'
69 {{/code}}
70
71 == 3.1 SDK initialization ==
72
73 You must initialize the library before running it. Use //init(apiKey, options, onSuccess, onError)// method for that:
74
75 **Mobigate.init(apiKey, options, onSuccess, onError)**
76
77 (% class="table-bordered table-hover" style="border-color:powderblue" %)
78 |=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description
79 |apiKey|String|Api key provided by your business partner
80 |options|Json Object|SDK configuration
81 |onSuccess|Function|returns callback object
82 |onError|Function|returns callback object
83
84 {{showhide id="2" showmessage="Options" hidemessage="Options"}}
85 (% class="table-bordered table-hover" style="border-color:powderblue" %)
86 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description
87 | appIdentifier|String| | Application identifier
88 |appInstallationSource |String| | App installation source e.g., google-play, organic.
89 |email |String | | Set's user email.
90 |customUserId |String | | You may use your custom userID for marking data. By default we are using device ID and emails for matching. Set it before starting the service using MobigateSDk.Builder method.
91 | enableUserFields|Json Array | | Enable custom fields in user data. By default MobienceSDK is gathering all identifiers, which it can read. You can choose one of these field: ["email", "imei", "imsi", "msisdn", "mac", "serial"] see [[plugin user field constants>>https://wiki.spicymobile.pl/wiki/mobigatesdk/view/Main/sdkintegration/reactnativeintegration/#H4.1Userfieldconstants]].
92 | dataGatherPolicy| Json Object| | Enable custom data gater policy. By default MobienceSDK gather all data it can read and hide notification icon. Check below DataGatherPolicy options for more details.
93 | enableIdProfiles|Boolean |false | turns on / off the IDs profiles system.
94 {{/showhide}}
95
96 {{showhide id="3" showmessage="DataGatherPolicy options" hidemessage="DataGatherPolicy options"}}
97 (% class="table-bordered table-hover" style="border-color:powderblue" %)
98 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description
99 | monitorState|String| | Possible monitor states: [[plugin constants>>https://wiki.spicymobile.pl/wiki/mobigatesdk/view/Main/sdkintegration/reactnativeintegration/#H4.2Datagatherpolicyconstants]]. More info about gathering data [[here>>https://wiki.spicymobile.pl/wiki/mobigatesdk/view/Main/mobigatesdkintegrationforandroiddevelopers/#H5.8Datagatherpolicy]]
100 |notificationText|String| | if state = Mobigate.DATA_GATHER_POLICY_DEFAULT you can pass custom foreground service notification text
101 {{/showhide}}
102
103
104 When the library is already initialized run it. Use //startSDK(onSuccess, onError)// method for that:
105
106 **Mobigate.startSDK(onSuccess, onError)**
107
108 (% class="table-bordered table-hover" style="border-color:powderblue" %)
109 |=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description
110 |onSuccess|Function|returns callback object
111 |onError|Function|returns callback object
112
113 {{showhide id="3" showmessage="Example" hidemessage="Example"}}
114 {{code language="javascript"}}
115 initLibrary = () => {
116 if (Platform.OS === 'android') {
117 Mobigate.init("V0K6jhiIfem6CRWHYZ59Nmj3oFBBKbJsnSsWfR2JNq7ktblOUXwbJoBQTpWnw2uSwW76gpiu2kun50jweTY69B",
118 {
119 /*custom options, check docs for more details
120 appIdentifier: 'customUserAppIdentifier',
121 appInstallationSource: "customAppInstallationSourcexyz",
122 email: 'testemail@gmail.com',
123 userAgent: 'customUserAgent',
124 customUserId: 'customUserId',*/
125 }, (success) => {
126 /* You can configure custom collectors after init
127 Mobigate.disableAllDataCollector()
128 Mobigate.configureDataCollectors(true, [Mobigate.DATA_COLLECTOR_APPS_LIST,
129 Mobigate.DATA_COLLECTOR_BATTERY,
130 Mobigate.DATA_COLLECTOR_PHONE_INFO])*/
131
132 Mobigate.startSDK((result) => {
133 this.setState({
134 status: 'started',
135 });
136
137 }, (errorResult) => {
138 this.setState({
139 status: errorResult,
140 });
141 })
142 }, (initError) => {
143 this.setState({
144 status: initError,
145 });
146 })
147 }else{
148 this.setState({
149 status: 'Mobigate SDK supports only Android'
150 })
151 }
152 }
153 {{/code}}
154 {{/showhide}}
155
156 == 3.2 Tracking in app events ==
157
158 In-App Events provide insight on what is happening in your app. It is recommended to take the time and define the events you would like to measure.
159
160 === 3.2.1 Overview ===
161
162 An event consists of two fields that you (% style="display:none" %) (%%)can use to describe a user's interaction with your app content:
163
164 (% class="table-bordered table-hover" %)
165 |(% style="background-color:powderblue; width:200px" %)**Field name**|(% style="background-color:powderblue; width:200px" %)**Type**|(% style="background-color:powderblue; width:200px" %)**Required**|(% style="background-color:powderblue; width:200px" %)**Description**
166 |(% style="width:200px" %)Category|(% style="width:200px" %)String|(% style="width:200px" %)yes|(% style="width:200px" %)Event category
167 |(% style="width:200px" %)Parameter|(% style="width:200px" %)String|(% style="width:200px" %)no|(% style="width:200px" %)Event parameter. 
168 There can be more than one
169
170 You can use any event category or parameter string of your choice. However, react-native-mobigate plugin contains recommended event categories and parameters via String constants (see [[Event categories>>doc:||anchor="H3.2.3Eventcategories"]] and [[Event parameters>>doc:||anchor="H3.2.4Eventparameters"]]).
171
172 === 3.2.2 Implementation ===
173
174 Tracking in-app events is performed by two methods:
175
176 **Mobigate.trackEvent(options)**
177
178 {{showhide id="2" showmessage="Options" hidemessage="Options" effect="slide" effectduration="0.3"}}
179 (% class="table-bordered table-hover" style="border-color:powderblue" %)
180 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description
181 |name|String | | Event category name.
182 |parameters|Json array| | Array of parameters. Look below on example.
183 {{/showhide}}
184
185 {{showhide id="3" showmessage="Example" hidemessage="Example"}}
186 {{code language="javascript"}}
187 sendTrackEvent = () => {
188 if (Platform.OS === 'android') {
189 Mobigate.trackEvent({
190 name: Mobigate.CATEGORY_PURCHASE,
191 parameters: {
192 [Mobigate.PARAMETER_CONTENT_ID]: 42313532,
193 [Mobigate.PARAMETER_PRICE]: 43.23,
194 [Mobigate.PARAMETER_QUANTITY]: 2,
195 'userCustomParameterName':'simpleName'
196 },
197 })
198 }
199 }
200 {{/code}}
201 {{/showhide}}
202
203
204 **Mobigate.trackAppInstall(timestamp)**
205
206 (% class="table-bordered table-hover" style="border-color:powderblue" %)
207 |=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description
208 |timestamp|double|Unix timestamp in milliseconds
209
210 {{showhide id="3" showmessage="Example" hidemessage="Example"}}
211 {{code language="javascript"}}
212 sendTrackEvent = () => {
213 if (Platform.OS === 'android') {
214 Mobigate.trackAppInstall(1578042916000)
215 }
216 }
217 {{/code}}
218 {{/showhide}}
219
220 === 3.2.3 Event categories ===
221
222 The following section describes the recommended structure of each event category. In-app events categories are defined as part of plugin String constants.
223
224
225 {{showhide id="1" showmessage="LEVEL_ACCOMPLISHED" hidemessage="LEVEL_ACCOMPLISHED" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: 0px"}}
226
227 \\**Description:** Track accomplished game level achievement
228 **Event category:** LEVEL_ACCOMPLISHED
229 **Recommended parameters:** LEVEL, SCORE
230 {{/showhide}}
231
232 {{showhide id="2" showmessage="ADD_PAYMENT_INFO" hidemessage="ADD_PAYMENT_INFO" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
233
234 \\**Description:** Track payment info
235 **Event category:** ADD_PAYMENT_INFO
236 **Recommended parameters:** SUCCESS
237 {{/showhide}}
238
239 {{showhide id="3" showmessage="ADD_TO_BASKET" hidemessage="ADD_TO_BASKET" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
240
241 \\**Description:** Track add item to basket
242 **Event category:** ADD_TO_BASKET
243 **Recommended parameters:** PRICE, CONTENT_TYPE, CONTENT_ID, CONTENT, CURRENCY, QUANTITY
244 {{/showhide}}
245
246 {{showhide id="4" showmessage="REMOVED_FROM_BASKET" hidemessage="REMOVED_FROM_BASKET" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
247
248 \\**Description:** Track removed item from basket
249 **Event category:** REMOVED_FROM_BASKET
250 **Recommended parameters:** PRICE, CONTENT_TYPE, CONTENT_ID, CONTENT, CURRENCY, QUANTITY
251 {{/showhide}}
252
253 {{showhide id="5" showmessage="ADD_TO_WISH_LIST" hidemessage="ADD_TO_WISH_LIST" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
254
255 \\**Description:** Track add item to wish list
256 **Event category:** ADD_TO_WISH_LIST
257 **Recommended parameters:** PRICE, CONTENT_TYPE, CONTENT_ID, CONTENT, CURRENCY, QUANTITY
258 {{/showhide}}
259
260 {{showhide id="6" showmessage="REGISTRATION" hidemessage="REGISTRATION" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
261
262 \\**Description:** Track registration
263 **Event category:** REGISTRATION
264 **Recommended parameters:** REGISTRATION_METHOD
265 {{/showhide}}
266
267 {{showhide id="7" showmessage="TUTORIAL_COMPLETION" hidemessage="TUTORIAL_COMPLETION" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
268
269 \\**Description:** Track tutorial completion
270 **Event category:** TUTORIAL_COMPLETION
271 **Recommended parameters:** SUCCESS, CONTENT, CONTENT_ID
272 {{/showhide}}
273
274 {{showhide id="8" showmessage="TRIGGER_CHECKOUT" hidemessage="TRIGGER_CHECKOUT" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
275
276 \\**Description:** Track triggered checkout
277 **Event category:** TRIGGER_CHECKOUT
278 **Recommended parameters:** PROCE, CONTENT_TYPE, CONTENT_ID, CONTENT, QUANTITY, PAYMENT_INFO_AVAILABLE, CURRENCY
279 {{/showhide}}
280
281 {{showhide id="9" showmessage="PURCHASE" hidemessage="PURCHASE" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
282
283 \\**Description:** Track purchased item
284 **Event category:** PURCHASE
285 **Recommended parameters:** REVENUE, CONTENT_TYPE, CONTENT_ID, CONTENT, PRICE, QUANTITY, CURRENCY, ORDER_ID
286 {{/showhide}}
287
288 {{showhide id="10" showmessage="SUBSCRIBE" hidemessage="SUBSCRIBE" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
289
290 \\**Description:** Track subscription purchase
291 **Event category:** SUBSCRIBE
292 **Recommended parameters:** REVENUE, CURRENCY
293 {{/showhide}}
294
295 {{showhide id="11" showmessage="BEGIN_TRIAL" hidemessage="BEGIN_TRIAL" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
296
297 \\**Description:** Track begin trail of product
298 **Event category:** BEGIN_TRIAL
299 **Recommended parameters:** PRICE, CURRENCY
300 {{/showhide}}
301
302 {{showhide id="12" showmessage="RATE" hidemessage="RATE" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
303
304 \\**Description:** Track app/item rate
305 **Event category:** RATE
306 **Recommended parameters:** RATING_VALUE, CONTENT_TYPE, CONTENT_ID, CONTENT, MAX_RATING_VALUE
307 {{/showhide}}
308
309 {{showhide id="13" showmessage="SEARCH" hidemessage="SEARCH" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
310 \\**Description:** Track search event
311 **Event category:** SEARCH
312 **Recommended parameters:** CONTENT_TYPE, SEARCH_STRING, SUCCESS
313 {{/showhide}}
314
315 {{showhide id="14" showmessage="USED_CREDIT" hidemessage="USED_CREDIT" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
316 \\**Description:** Track use of credit
317 **Event category:** USED_CREDIT
318 **Recommended parameters:** PRICE, CONTENT_TYPE, CONTENT_ID, CONTENT
319 {{/showhide}}
320
321 {{showhide id="15" showmessage="UNLOCKED_ACHIEVEMENT" hidemessage="UNLOCKED_ACHIEVEMENT" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
322 \\**Description:** Track achievement unlock
323 **Event category:** UNLOCKED_ACHIEVEMENT
324 **Recommended parameters:** DESCRIPTION
325 {{/showhide}}
326
327 {{showhide id="16" showmessage="VIEW_CONTENT" hidemessage="VIEW_CONTENT" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
328 \\**Description:** Track content view event
329 **Event category:** VIEW_CONTENT
330 **Recommended parameters:** PRICE, CONTENT_TYPE, CONTENT_ID, CONTENT, CURRENCY
331 {{/showhide}}
332
333 {{showhide id="17" showmessage="VIEW_LIST" hidemessage="VIEW_LIST" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
334 \\**Description:** Track list event
335 **Event category:** VIEW_LIST
336 **Recommended parameters:** CONTENT_TYPE, CONTENT_LIST
337 {{/showhide}}
338
339 {{showhide id="18" showmessage="CLICK_AD" hidemessage="CLICK_AD" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
340 \\**Description:** Track ad click
341 **Event category:** CLICK_AD
342 **Recommended parameters:** CONTENT_TYPE, CONTENT_ID
343 {{/showhide}}
344
345 {{showhide id="19" showmessage="VIEW_AD" hidemessage="VIEW_AD" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
346 \\**Description:** Track view ad
347 **Event category:** VIEW_AD
348 **Recommended parameters:** CONTENT_TYPE, CONTENT_ID
349 {{/showhide}}
350
351 {{showhide id="20" showmessage="EVENT_BOOKING" hidemessage="EVENT_BOOKING" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
352 \\**Description:** Track booking event
353 **Event category:** EVENT_BOOKING
354 **Recommended parameters:** REVENUE, DESTINATION_A, DESTINATION_B, CLASS, DESCRIPTION, CUSTOMER_USER_ID, CONTENT_TYPE, CONTENT_ID, DATE_A, DATE_B
355 {{/showhide}}
356
357 {{showhide id="21" showmessage="SHARE" hidemessage="SHARE" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
358 \\**Description:** Track share event
359 **Event category:** SHARE
360 **Recommended parameters:** DESCRIPTION
361 {{/showhide}}
362
363 {{showhide id="22" showmessage="INVITE" hidemessage="INVITE" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
364 \\**Description:** Track social invite event
365 **Event category:** INVITE
366 **Recommended parameters:** NONE
367 {{/showhide}}
368
369 {{showhide id="23" showmessage="LOGIN" hidemessage="LOGIN" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
370 \\**Description:** Track user login event
371 **Event category:** LOGIN
372 **Recommended parameters:** NONE
373 {{/showhide}}
374
375 {{showhide id="24" showmessage="EVENT_RETURN" hidemessage="EVENT_RETURN" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
376 \\**Description:** Track re engagement event
377 **Event category:** EVENT_RETURN
378 **Recommended parameters:** NONE
379 {{/showhide}}
380
381 {{showhide id="25" showmessage="OPENED_PUSH_NOTIFICATION" hidemessage="OPENED_PUSH_NOTIFICATION" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
382 \\**Description:** Track user opened push notification
383 **Event category:** OPENED_PUSH_NOTIFICATION
384 **Recommended parameters:** NONE
385 {{/showhide}}
386
387 {{showhide id="26" showmessage="UPDATE" hidemessage="UPDATE" effect="slide" effectduration="0.3" style="border-radius: 5px; border: 1px solid powderblue; padding: 7px 7px 7px 30px; margin: -1px 0px 0px 0px"}}
388 \\**Description:** Track update event
389 **Event category:** UPDATE
390 **Recommended parameters:** CONTENT_ID
391 {{/showhide}}
392
393 === 3.2.4 Event parameters ===
394
395 In addition each category that is passed with event may have optional parameters defined as part of the plugin constants, or custom defined as String. Below is a list of recommended parameters.
396
397 {{showhide id="1" showmessage="Parameters list" hidemessage="Parameters list" effect="slide" effectduration="0.3"}}
398
399 (% class="table-bordered table-hover" %)
400 |(% style="background-color:powderblue; width:200px" %)**Parameter enum**|(% style="background-color:powderblue; width:200px" %)**Recommended value**
401 |(% style="width:200px" %)REVENUE|(% style="width:200px" %)FLoat
402 |(% style="width:200px" %)PRICE|(% style="width:200px" %)Float
403 |(% style="width:200px" %)LEVEL|(% style="width:200px" %)Integer
404 |(% style="width:200px" %)SUCCESS|(% style="width:200px" %)Boolean
405 |(% style="width:200px" %)CONTENT_TYPE|(% style="width:200px" %)String
406 |(% style="width:200px" %)CONTENT_LIST|(% style="width:200px" %)Array of strings
407 |(% style="width:200px" %)CONTENT_ID|(% style="width:200px" %)String
408 |(% style="width:200px" %)CURRENCY|(% style="width:200px" %)String
409 |(% style="width:200px" %)REGISTRATION_METHOD|(% style="width:200px" %)String
410 |(% style="width:200px" %)QUANTITY|(% style="width:200px" %)Integer
411 |(% style="width:200px" %)PAYMENT_INFO_AVAILABLE|(% style="width:200px" %)Boolean
412 |(% style="width:200px" %)RATING_VALUE|(% style="width:200px" %)Float
413 |(% style="width:200px" %)MAX_RATING_VALUE|(% style="width:200px" %)Float
414 |(% style="width:200px" %)SEARCH_STRING|(% style="width:200px" %)String
415 |(% style="width:200px" %)DESCRIPTION|(% style="width:200px" %)String
416 |(% style="width:200px" %)SCORE|(% style="width:200px" %)Integer
417 |(% style="width:200px" %)DESTINATION_A|(% style="width:200px" %)String
418 |(% style="width:200px" %)DESTINATION_B|(% style="width:200px" %)String
419 |(% style="width:200px" %)CLASS|(% style="width:200px" %)String
420 |(% style="width:200px" %)DATE_A|(% style="width:200px" %)String
421 |(% style="width:200px" %)DATE_B|(% style="width:200px" %)String
422 |(% style="width:200px" %)EVENT_START|(% style="width:200px" %)Unixtime
423 |(% style="width:200px" %)EVENT_END|(% style="width:200px" %)Unixtime
424 |(% style="width:200px" %)LATITUDE|(% style="width:200px" %)Double
425 |(% style="width:200px" %)LONGITUDE|(% style="width:200px" %)Double
426 |(% style="width:200px" %)CUSTOMER_USER_ID|(% style="width:200px" %)String
427 |(% style="width:200px" %)CUSTOMER_SEGMENT|(% style="width:200px" %)String
428 |(% style="width:200px" %)VALIDATED|(% style="width:200px" %)String
429 |(% style="width:200px" %)RECEIPT_ID|(% style="width:200px" %)String
430 |(% style="width:200px" %)ORDER_ID|(% style="width:200px" %)String
431 |(% style="width:200px" %)TUTORIAL_ID|(% style="width:200px" %)String
432 |(% style="width:200px" %)ACHIEVEMENT_ID|(% style="width:200px" %)String
433 |(% style="width:200px" %)VIRTUAL_CURRENCY_NAME|(% style="width:200px" %)String
434 |(% style="width:200px" %)DEEP_LINK|(% style="width:200px" %)String
435 |(% style="width:200px" %)OLD_VERSION|(% style="width:200px" %)String
436 |(% style="width:200px" %)NEW_VERSION|(% style="width:200px" %)String
437 |(% style="width:200px" %)REVIEW_TEXT|(% style="width:200px" %)String
438 |(% style="width:200px" %)COUPON_CODE|(% style="width:200px" %)String
439 |(% style="width:200px" %)DEPARTING_DEPARTURE_DATE|(% style="width:200px" %)String
440 |(% style="width:200px" %)RETURNING_DEPARTURE_DATE|(% style="width:200px" %)String
441 |(% style="width:200px" %)DESTINATION_LIST|(% style="width:200px" %)String[]
442 |(% style="width:200px" %)CITY|(% style="width:200px" %)String
443 |(% style="width:200px" %)REGION|(% style="width:200px" %)String
444 |(% style="width:200px" %)COUNTRY|(% style="width:200px" %)String
445 |(% style="width:200px" %)DEPARTING_ARRIVAL_DATE|(% style="width:200px" %)String
446 |(% style="width:200px" %)RETURNING_ARRIVAL_DATE|(% style="width:200px" %)String
447 |(% style="width:200px" %)SUGGESTED_DESTINATIONS|(% style="width:200px" %)String[]
448 |(% style="width:200px" %)TRAVEL_START|(% style="width:200px" %)String
449 |(% style="width:200px" %)TRAVEL_END|(% style="width:200px" %)String
450 |(% style="width:200px" %)NUM_ADULTS|(% style="width:200px" %)Integer
451 |(% style="width:200px" %)NUM_CHILDREN|(% style="width:200px" %)Integer
452 |(% style="width:200px" %)NUM_INFANTS|(% style="width:200px" %)Integer
453 |(% style="width:200px" %)SUGGESTED_HOTELS|(% style="width:200px" %)String[]
454 |(% style="width:200px" %)USER_SCORE|(% style="width:200px" %)Float
455 |(% style="width:200px" %)HOTEL_SCORE|(% style="width:200px" %)Float
456 |(% style="width:200px" %)PURCHASE_CURRENCY|(% style="width:200px" %)String
457 |(% style="width:200px" %)PREFERRED_STAR_RATINGS|(% style="width:200px" %)Integer[2]
458 |(% style="width:200px" %)PREFERRED_PRICE_RANGE|(% style="width:200px" %)Integer[2]
459 |(% style="width:200px" %)PREFERRED_NEIGHBORHOODS|(% style="width:200px" %)String[]
460 |(% style="width:200px" %)PREFERRED_NUM_STOPS|(% style="width:200px" %)Integer
461 |(% style="width:200px" %)CONTENT|(% style="width:200px" %)String
462 |(% style="width:200px" %)PARAM_1|(% style="width:200px" %)String
463 |(% style="width:200px" %)PARAM_2|(% style="width:200px" %)String
464 |(% style="width:200px" %)PARAM_3|(% style="width:200px" %)String
465 |(% style="width:200px" %)PARAM_4|(% style="width:200px" %)String
466 |(% style="width:200px" %)PARAM_5|(% style="width:200px" %)String
467 |(% style="width:200px" %)PARAM_6|(% style="width:200px" %)String
468 |(% style="width:200px" %)PARAM_7|(% style="width:200px" %)String
469 |(% style="width:200px" %)PARAM_8|(% style="width:200px" %)String
470 |(% style="width:200px" %)PARAM_9|(% style="width:200px" %)String
471 |(% style="width:200px" %)PARAM_10|(% style="width:200px" %)String
472
473 {{/showhide}}
474
475 == 3.3 Remaining methods ==
476
477 **Mobigate.setCollectAll()**
478 This method enables all data collectors. By default all data collectors are enabled.
479
480 {{showhide id="3" showmessage="Example" hidemessage="Example"}}
481 {{code language="javascript"}}
482 Mobigate.disableAllDataCollector()
483 {{/code}}
484 {{/showhide}}
485
486 (% style="color:powderblue" %)
487 ----
488
489 **Mobigate.configureDataCollectors(enable, collectors)**
490 Enable or disable DataCollector by array collectors input
491
492 (% class="table-bordered table-hover" style="border-color:powderblue" %)
493 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description
494 |enable|boolean|true if enable, false if disable|
495 |collectors|array of [[data collector const>>doc:||anchor="H4.3Datacollectorsconstants"]]|e.g.,[Mobigate.DATA_COLLECTOR_BATTERY, DATA_COLLECTOR_GEOLOCATION]|
496
497 {{showhide id="3" showmessage="Example" hidemessage="Example"}}
498 {{code language="javascript"}}
499 Mobigate.configureDataCollectors(true, [Mobigate.DATA_COLLECTOR_APPS_LIST,
500 Mobigate.DATA_COLLECTOR_BATTERY,
501 Mobigate.DATA_COLLECTOR_PHONE_INFO])
502 {{/code}}
503 {{/showhide}}
504
505 (% style="color:powderblue" %)
506 ----
507
508 **Mobigate.disableAllDataCollector()**
509 Disable all data collectors
510
511 {{showhide id="3" showmessage="Example" hidemessage="Example"}}
512 {{code language="javascript"}}
513 Mobigate.disableAllDataCollector()
514 {{/code}}
515 {{/showhide}}
516
517 (% style="color:powderblue" %)
518 ----
519
520 **Mobigate.setEmail(email)**
521 Set user's email
522
523 (% class="table-bordered table-hover" style="border-color:powderblue" %)
524 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description
525 |email |String |user's email address |
526
527 {{showhide id="3" showmessage="Example" hidemessage="Example"}}
528 {{code language="javascript"}}
529 Mobigate.setEmail('emailExample@spicymobile.pl')
530 {{/code}}
531 {{/showhide}}
532
533 (% style="color:powderblue" %)
534 ----
535
536 **Mobigate.getEmail(onSuccess, onError)**
537 Get previously set user email
538
539 (% class="table-bordered table-hover" style="border-color:powderblue" %)
540 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description
541 |onSuccess |Function |returns callback object
542 |onError |Function |returns callback object
543
544 {{showhide id="3" showmessage="Example" hidemessage="Example"}}
545 {{code language="javascript"}}
546 Mobigate.getEmail((success) => {
547 console.log("user email: " + success)
548 }, (error) => {
549 console.log(error)
550 })
551 {{/code}}
552 {{/showhide}}
553
554 (% style="color:powderblue" %)
555 ----
556
557 **Mobigate.setFbToken(token)**
558 Set fb token for social network collector
559
560 (% class="table-bordered table-hover" style="border-color:powderblue" %)
561 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description
562 |token |string |facebook token
563
564 {{showhide id="3" showmessage="Example" hidemessage="Example"}}
565 {{code language="javascript"}}
566 Mobigate.setFbToken('9dsf87ds98978das98d7893u12rj808d0j09012jd012')
567 {{/code}}
568 {{/showhide}}
569
570 (((
571 (% class="showhidebutton" %)
572 (((
573 {{html clean="false"}}
574 <a href="javascript:void(0)" id="showhidebuttontext3" data-show-duration="0" data-show-effect="toggle" data-show-message="Example" data-hide-message="Example">Example</a>
575 {{/html}}
576 )))
577
578 (% class="showhidecontent" id="showhidecontent3" style="display: none;" %)
579 (((
580 (((
581 {{code language="javascript"}}
582 Mobigate.setFbToken('9dsf87ds98978das98d7893u12rj808d0j09012jd012')
583 {{/code}}
584 )))
585 )))
586 )))
587
588
589
590 (% style="color:powderblue" %)
591 ----
592
593 **Mobigate.getSDKInfo(onSuccess, onError)**
594 Getting information about the library
595
596 (% class="table-bordered table-hover" style="border-color:powderblue" %)
597 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description
598 |onSuccess |Function |returns callback object
599 |onError |Function |returns callback object
600
601 {{showhide id="3" showmessage="Example" hidemessage="Example"}}
602 {{code language="javascript"}}
603 Mobigate.getSDKInfo((success) => {
604 console.log("sdk info: " + success)
605 }, (error) => {
606 console.log(error)
607 })
608 {{/code}}
609 {{/showhide}}
610
611 (% style="color:powderblue" %)
612 ----
613
614 **Mobigate.getSDKUniqueIdentifier(onSuccess, onError)**
615 Return unique SDK identificator
616
617 (% class="table-bordered table-hover" style="border-color:powderblue" %)
618 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description
619 |onSuccess |Function |returns callback object
620 |onError |Function |returns callback object
621
622 {{showhide id="3" showmessage="Example" hidemessage="Example"}}
623 {{code language="javascript"}}
624 Mobigate.getSDKUniqueIdentifier((success) => {
625 console.log("UUID: " + success)
626 }, (error) => {
627 console.log(error)
628 })
629 {{/code}}
630 {{/showhide}}
631
632 (% style="color:powderblue" %)
633 ----
634
635 **Mobigate.getIDsProfiles(onSuccess, onError)**
636 Method returns IDs profiles. List of IDs profiles in the application memory is updated (synchronized with the server) at specified intervals. To enable functionality, use the 'enableIDsProfiles (boolean enable)' method. Returns the identifiers of IDs profiles (ex. 5,9,20), returns '0' if list of user IDs profiles is empty, returns 'null' if the system has not yet communicated
637
638
639 (% class="table-bordered table-hover" style="border-color:powderblue" %)
640 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description
641 |onSuccess |Function |returns callback object
642 |onError |Function |returns callback object
643
644 {{showhide id="3" showmessage="Example" hidemessage="Example"}}
645 {{code language="javascript"}}
646 Mobigate.getIDsProfiles((success) => {
647 console.log("Profiles: " + success)
648 }, (error) => {
649 console.log(error)
650 })
651 {{/code}}
652 {{/showhide}}
653
654 (% style="color:powderblue" %)
655 ----
656
657 **Mobigate.getAdOceanTargeting(onSuccess, onError)**
658 Getting numerical variables, that can be used for ads targeting. Method must be called from separate thread. Return 3 different identifiers of a user, encoded into a map of AdOcean numerical variables
659
660 (% class="table-bordered table-hover" style="border-color:powderblue" %)
661 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description
662 |onSuccess |Function |returns callback object
663 |onError |Function |returns callback object
664
665 {{showhide id="3" showmessage="Example" hidemessage="Example"}}
666 {{code language="javascript"}}
667 Mobigate.getAdOceanTargeting((success) => {
668 console.log("Adocean targeting: " + success)
669 }, (error) => {
670 console.log(error)
671 })
672 {{/code}}
673 {{/showhide}}
674
675 = 4. Constants =
676
677 The plugin provides many helpful constants for easier implementation.
678
679 == 4.1 User field constants ==
680
681 Used to set custom user fields inside //Mobigate.init()// method:
682
683 * Mobigate.USER_FIELD_EMAIL
684 * Mobigate.USER_FIELD_IMSI
685 * Mobigate.USER_FIELD_IMEI
686 * Mobigate.USER_FIELD_SERIAL
687
688 == 4.2 Data gather policy constants ==
689
690 Used to set how the library collects data:
691
692 * Mobigate.DATA_GATHER_POLICY_DEFAULT
693 * Mobigate.DATA_GATHER_POLICY_HIDE_TRAY
694 * Mobigate.DATA_GATHER_POLICY_BLOCK_DATA_BG
695
696 == 4.3 Data collectors constants ==
697
698 Used to set which data the library should collect:
699
700 * Mobigate.DATA_COLLECTOR_APPS_LIST
701 * Mobigate.DATA_COLLECTOR_APPS_USAGE
702 * Mobigate.DATA_COLLECTOR_BATTERY
703 * Mobigate.DATA_COLLECTOR_BROWSER
704 * Mobigate.DATA_COLLECTOR_CALENDAR_EVENTS
705 * Mobigate.DATA_COLLECTOR_CPU_PROCESS
706 * Mobigate.DATA_COLLECTOR_DICTIONARY
707 * Mobigate.DATA_COLLECTOR_GEOLOCATION
708 * Mobigate.DATA_COLLECTOR_HEADSET_PLUG
709 * Mobigate.DATA_COLLECTOR_MEDIA_FILES
710 * Mobigate.DATA_COLLECTOR_MEMORY_USEAGE
711 * Mobigate.DATA_COLLECTOR_NETWORK_CONNECTION
712 * Mobigate.DATA_COLLECTOR_NETWORK_USEAGE
713 * Mobigate.DATA_COLLECTOR_PACKAGE_CHANGE
714 * Mobigate.DATA_COLLECTOR_PHONE_INFO
715 * Mobigate.DATA_COLLECTOR_ROAMING
716 * Mobigate.DATA_COLLECTOR_SCREEN_ORIENTED
717 * Mobigate.DATA_COLLECTOR_SIGNAL_STRENGTH
718 * Mobigate.DATA_COLLECTOR_PROFILE_MODE
719 * Mobigate.DATA_COLLECTOR_WIFI_DATA_CONNECTION
720 * Mobigate.DATA_COLLECTOR_PERMISSION_COLLECTOR
721 * Mobigate.DATA_COLLECTOR_NFC_COLLECTOR
722 * Mobigate.DATA_COLLECTOR_BLUETOOTH_COLLECTOR
723 * Mobigate.DATA_COLLECTOR_BLUETOOTH_DEVICES_COLLECTOR
724 * Mobigate.DATA_COLLECTOR_MOVEMENT_COLLECTOR
725 * Mobigate.DATA_COLLECTOR_FACEBOOK_NETWORK_COLLECTOR
726 * Mobigate.DATA_COLLECTOR_ROOT_COLLECTOR
727
728 == 4.4 Category and parameter constants ==
729
730 Instead of using defined [[categories>>doc:||anchor="H3.2.3Eventcategories"]] or [[parameters>>doc:||anchor="H3.2.4Eventparameters"]] in the form of text, you can use constants defined in the plugin. All you have to do is add the prefix "CATEGORY_" or "PARAMETER_" to the category name or parameter e.g., Mobigate.CATEGORY_LEVEL_ACCOMPLISHED, Mobigate.CATEGORY_PURCHASE, Mobigate.PARAMETER_PRICE, Mobigate.PARAMETER_LEVEL.
731
732 = 5. Sample app =
733
734 The sample application is located in the github repository [[here>>https://github.com/mobigatesdk/react-native-mobigate]] in //example// folder.
Spicy Mobile
spicymobile.pl