Wiki source code of React native integration
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 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 | |||
| 478 | |||
| 479 | |||
| 480 | |||
| 481 | (% class="table-bordered table-hover" style="border-color:powderblue" %) | ||
| 482 | |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description | ||
| 483 | | | | | | ||
| 484 | |||
| 485 | = 4. Constants = | ||
| 486 | |||
| 487 | The plugin provides many helpful constants for easier implementation. | ||
| 488 | |||
| 489 | == 4.1 User field constants == | ||
| 490 | |||
| 491 | Used to set custom user fields inside //Mobigate.init()// method: | ||
| 492 | |||
| 493 | * Mobigate.USER_FIELD_EMAIL | ||
| 494 | * Mobigate.USER_FIELD_IMSI | ||
| 495 | * Mobigate.USER_FIELD_IMEI | ||
| 496 | * Mobigate.USER_FIELD_SERIAL | ||
| 497 | |||
| 498 | == 4.2 Data gather policy constants == | ||
| 499 | |||
| 500 | Used to set how the library collects data: | ||
| 501 | |||
| 502 | * Mobigate.DATA_GATHER_POLICY_DEFAULT | ||
| 503 | * Mobigate.DATA_GATHER_POLICY_HIDE_TRAY | ||
| 504 | * Mobigate.DATA_GATHER_POLICY_BLOCK_DATA_BG | ||
| 505 | |||
| 506 | == 4.3 Data collectors constants == | ||
| 507 | |||
| 508 | Used to set which data the library should collect: | ||
| 509 | |||
| 510 | * Mobigate.DATA_COLLECTOR_APPS_LIST | ||
| 511 | * Mobigate.DATA_COLLECTOR_APPS_USAGE | ||
| 512 | * Mobigate.DATA_COLLECTOR_BATTERY | ||
| 513 | * Mobigate.DATA_COLLECTOR_BROWSER | ||
| 514 | * Mobigate.DATA_COLLECTOR_CALENDAR_EVENTS | ||
| 515 | * Mobigate.DATA_COLLECTOR_CPU_PROCESS | ||
| 516 | * Mobigate.DATA_COLLECTOR_DICTIONARY | ||
| 517 | * Mobigate.DATA_COLLECTOR_GEOLOCATION | ||
| 518 | * Mobigate.DATA_COLLECTOR_HEADSET_PLUG | ||
| 519 | * Mobigate.DATA_COLLECTOR_MEDIA_FILES | ||
| 520 | * Mobigate.DATA_COLLECTOR_MEMORY_USEAGE | ||
| 521 | * Mobigate.DATA_COLLECTOR_NETWORK_CONNECTION | ||
| 522 | * Mobigate.DATA_COLLECTOR_NETWORK_USEAGE | ||
| 523 | * Mobigate.DATA_COLLECTOR_PACKAGE_CHANGE | ||
| 524 | * Mobigate.DATA_COLLECTOR_PHONE_INFO | ||
| 525 | * Mobigate.DATA_COLLECTOR_ROAMING | ||
| 526 | * Mobigate.DATA_COLLECTOR_SCREEN_ORIENTED | ||
| 527 | * Mobigate.DATA_COLLECTOR_SIGNAL_STRENGTH | ||
| 528 | * Mobigate.DATA_COLLECTOR_PROFILE_MODE | ||
| 529 | * Mobigate.DATA_COLLECTOR_WIFI_DATA_CONNECTION | ||
| 530 | * Mobigate.DATA_COLLECTOR_PERMISSION_COLLECTOR | ||
| 531 | * Mobigate.DATA_COLLECTOR_NFC_COLLECTOR | ||
| 532 | * Mobigate.DATA_COLLECTOR_BLUETOOTH_COLLECTOR | ||
| 533 | * Mobigate.DATA_COLLECTOR_BLUETOOTH_DEVICES_COLLECTOR | ||
| 534 | * Mobigate.DATA_COLLECTOR_MOVEMENT_COLLECTOR | ||
| 535 | * Mobigate.DATA_COLLECTOR_FACEBOOK_NETWORK_COLLECTOR | ||
| 536 | * Mobigate.DATA_COLLECTOR_ROOT_COLLECTOR | ||
| 537 | |||
| 538 | = 5. Sample app = | ||
| 539 | |||
| 540 | The sample application is located in the github repository [[here>>https://github.com/mobigatesdk/react-native-mobigate]] in //example// folder. |