Changes for page React native integration
Last modified by Developer on 2020/01/03 12:47
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -2,7 +2,7 @@ 2 2 {{toc/}} 3 3 {{/box}} 4 4 5 -= Overview = 5 += 1. Overview = 6 6 7 7 The plugin is located at npmjs repositories [[(npm repositories)>>https://www.npmjs.com/package/react-native-mobigate]] 8 8 This plugin is built for: ... ... @@ -9,7 +9,7 @@ 9 9 10 10 * Mobigate SDK version 1.0.4 11 11 12 -= Adding SDK to the project = 12 += 2. Adding SDK to the project = 13 13 14 14 **First, install library from the repository with** 15 15 ... ... @@ -60,7 +60,7 @@ 60 60 } 61 61 {{/code}}{{/showhide}} 62 62 63 -= Api methods = 63 += 3. Api methods = 64 64 65 65 To use any method from the plugin add import: 66 66 ... ... @@ -68,7 +68,7 @@ 68 68 import Mobigate from 'react-native-mobigate' 69 69 {{/code}} 70 70 71 -== SDK initialization == 71 +== 3.1 SDK initialization == 72 72 73 73 You must initialize the library before running it. Use //init(apiKey, options, onSuccess, onError)// method for that: 74 74 ... ... @@ -81,37 +81,327 @@ 81 81 |onSuccess|Function|returns callback object 82 82 |onError|Function|returns callback object 83 83 84 -Options 85 - 84 +{{showhide id="2" showmessage="Options" hidemessage="Options"}} 86 86 (% class="table-bordered table-hover" style="border-color:powderblue" %) 87 87 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 88 88 | appIdentifier|String| | Application identifier 89 89 |appInstallationSource |String| | App installation source e.g., google-play, organic. 90 90 |email |String | | Set's user email. 91 -|customUserId |String | | SetcustomUserAgent.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. 92 92 | 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"] DODAĆ LINKA DO CONSTANTS. 93 93 | 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. 94 94 | enableIdProfiles|Boolean |false | turns on / off the IDs profiles system. 94 +{{/showhide}} 95 95 96 -DataGatherPolicy options 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: DODAĆ LINKA DO CONSTANTS. 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}} 97 97 103 + 104 +When the library is already initialized run it. Use //startSDK(onSuccess, onError)// method for that: 105 + 106 +**Mobigate.startSDK(onSuccess, onError)** 107 + 98 98 (% 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"}} 179 +(% class="table-bordered table-hover" style="border-color:powderblue" %) 99 99 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 100 -| monitorState|String| | Application identifier 101 -|notificationText|String| | if state = "DEFAULT" you can pass custom foreground service notification text 181 +|name|String | | Event category name. 182 +|parameters|Json array| | Array of parameters. Look below on example. 183 +{{/showhide}} 102 102 103 -== Tracking in app events == 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}} 104 104 105 -== Remaining methods == 106 106 204 +**Mobigate.trackAppInstall(timestamp)** 107 107 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 108 108 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}} 109 109 220 +=== 3.2.3 Event categories === 110 110 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 +== 3.3 Remaining methods == 396 + 397 + 398 + 399 + 400 + 111 111 (% class="table-bordered table-hover" style="border-color:powderblue" %) 112 112 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 113 113 | | | | 114 114 115 -= Constants = 405 += 4. Constants = 116 116 117 -= Sample app = 407 += 5. Sample app =