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,156 @@ 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 +=== 3.2.4 Event parameters === 223 + 224 +== 3.3 Remaining methods == 225 + 226 + 227 + 228 + 229 + 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 = 234 += 4. Constants = 116 116 117 -= Sample app = 236 += 5. Sample app =