Changes for page Flutter integration
Last modified by Developer on 2020/03/19 15:21
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -28,26 +28,32 @@ 28 28 29 29 To use any method from the plugin add import: 30 30 31 -{{code language=" dart"}}32 -import 'package:flutter_mobigate/flutter_mobigate.dart';31 +{{code language="javascript"}} 32 +import Mobigate from 'react-native-mobigate' 33 33 {{/code}} 34 34 35 -== 3.1 MobigateSDKclassinitialization ==35 +== 3.1 SDK initialization == 36 36 37 - Initializeclasswith//MobigateSDK(MobigateOptions options)//37 +You must initialize the library before running it. Use //init(apiKey, options, onSuccess, onError)// method for that: 38 38 39 - //MobigateOptions(apiKey,{appIdentifier, appInstallationSource,email,cusUserId,enableUserFields,dataGatherPolicy,notificationText,enableIdProfiles})//39 +**Mobigate.init(apiKey, options, onSuccess, onError)** 40 40 41 -{{showhide id="2" showmessage="MobigateOptions" hidemessage="MobigateOptions"}} 42 42 (% class="table-bordered table-hover" style="border-color:powderblue" %) 42 +|=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description 43 +|apiKey|String|Api key provided by your business partner 44 +|options|Json Object|SDK configuration 45 +|onSuccess|Function|returns callback object 46 +|onError|Function|returns callback object 47 + 48 +{{showhide id="2" showmessage="Options" hidemessage="Options"}} 49 +(% class="table-bordered table-hover" style="border-color:powderblue" %) 43 43 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 44 44 | appIdentifier|String| | Application identifier 45 45 |appInstallationSource |String| | App installation source e.g., google-play, organic. 46 46 |email |String | | Set's user email. 47 -|cusUserId |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. 54 +|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. 48 48 | 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]]. 49 49 | 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. 50 -| notificationText|String | | if state = Mobigate.DATA_GATHER_POLICY_DEFAULT you can pass custom foreground service notification text. 51 51 | enableIdProfiles|Boolean |false | turns on / off the IDs profiles system. 52 52 {{/showhide}} 53 53 ... ... @@ -55,45 +55,67 @@ 55 55 (% class="table-bordered table-hover" style="border-color:powderblue" %) 56 56 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 57 57 | 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]] 64 +|notificationText|String| | if state = Mobigate.DATA_GATHER_POLICY_DEFAULT you can pass custom foreground service notification text 58 58 {{/showhide}} 59 59 60 -{{showhide id="3" showmessage="Example" hidemessage="Example"}} 61 -{{code language="dart"}} 62 - MobigateSDK mobigateInstance = MobigateSDK(MobigateOptions( 63 - "V0K6jhiIfem6CRWHYZ59Nmj3oFBBKbJsnSsWfR2JNq7ktblOUXwbJoBQTpWnw2uSwW76gpiu2kun50jweTY69B" 64 - )); 65 -{{/code}} 66 -{{/showhide}} 67 67 68 - ==3.2SDKinitialization==68 +When the library is already initialized run it. Use //startSDK(onSuccess, onError)// method for that: 69 69 70 - You must initialize the library before runningit.Use //Future<String> init// methodforthat:70 +**Mobigate.startSDK(onSuccess, onError)** 71 71 72 -**mobigateInstance.init()** 73 - 74 -Return: 75 - 76 76 (% class="table-bordered table-hover" style="border-color:powderblue" %) 77 -|=(% style="background-color:powderblue" %) Message|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description78 -| success|String|returnssuccessmessage79 -| error|String|returnserrormessage73 +|=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description 74 +|onSuccess|Function|returns callback object 75 +|onError|Function|returns callback object 80 80 81 -When the library is already initialized run it. Use //Future<String> startSdk()// method for that: 77 +{{showhide id="3" showmessage="Example" hidemessage="Example"}} 78 +{{code language="javascript"}} 79 + initLibrary = () => { 80 + if (Platform.OS === 'android') { 81 + Mobigate.init("V0K6jhiIfem6CRWHYZ59Nmj3oFBBKbJsnSsWfR2JNq7ktblOUXwbJoBQTpWnw2uSwW76gpiu2kun50jweTY69B", 82 + { 83 + /*custom options, check docs for more details 84 + appIdentifier: 'customUserAppIdentifier', 85 + appInstallationSource: "customAppInstallationSourcexyz", 86 + email: 'testemail@gmail.com', 87 + userAgent: 'customUserAgent', 88 + customUserId: 'customUserId',*/ 89 + }, (success) => { 90 + /* You can configure custom collectors after init 91 + Mobigate.disableAllDataCollector() 92 + Mobigate.configureDataCollectors(true, [Mobigate.DATA_COLLECTOR_APPS_LIST, 93 + Mobigate.DATA_COLLECTOR_BATTERY, 94 + Mobigate.DATA_COLLECTOR_PHONE_INFO])*/ 82 82 83 -**mobigateInstance.startSdk();** 96 + Mobigate.startSDK((result) => { 97 + this.setState({ 98 + status: 'started', 99 + }); 84 84 85 -Return: 101 + }, (errorResult) => { 102 + this.setState({ 103 + status: errorResult, 104 + }); 105 + }) 106 + }, (initError) => { 107 + this.setState({ 108 + status: initError, 109 + }); 110 + }) 111 + }else{ 112 + this.setState({ 113 + status: 'Mobigate SDK supports only Android' 114 + }) 115 + } 116 + } 117 +{{/code}} 118 +{{/showhide}} 86 86 87 -(% class="table-bordered table-hover" style="border-color:powderblue" %) 88 -|=(% style="background-color:powderblue" %)Message|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description 89 -|success|String|returns success message 90 -|error|String|returns error message 120 +== 3.2 Tracking in app events == 91 91 92 -== 3.3 Tracking in app events == 93 - 94 94 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. 95 95 96 -=== 3. 3.1 Overview ===124 +=== 3.2.1 Overview === 97 97 98 98 An event consists of two fields that you (% style="display:none" %) (%%)can use to describe a user's interaction with your app content: 99 99 ... ... @@ -103,31 +103,41 @@ 103 103 |(% style="width:200px" %)Parameter|(% style="width:200px" %)String|(% style="width:200px" %)no|(% style="width:200px" %)Event parameter. 104 104 There can be more than one 105 105 106 -You can use any event category or parameter string of your choice. However, flutter_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"]]).134 +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"]]). 107 107 108 -=== 3. 3.2 Implementation ===136 +=== 3.2.2 Implementation === 109 109 110 110 Tracking in-app events is performed by two methods: 111 111 112 -** voidtrackEvent(Category category)**140 +**Mobigate.trackEvent(options)** 113 113 142 +{{showhide id="2" showmessage="Options" hidemessage="Options" effect="slide" effectduration="0.3"}} 114 114 (% class="table-bordered table-hover" style="border-color:powderblue" %) 115 -|=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description 116 -|Category|Category class |Category class built with help of CategoryBuilder 144 +|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 145 +|name|String | | Event category name. 146 +|parameters|Json array| | Array of parameters. Look below on example. 147 +{{/showhide}} 117 117 118 118 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 119 -{{code language="dart"}} 120 -mobigateInstance.trackEvent((CategoryBuilder(EventCategory.BEGIN_TRIAL) 121 - ..setParameter(EventParameter.CITY, "Warsaw") 122 - ..setParameter(EventParameter.CONTENT_ID, 523456) 123 - ..setParameter(EventParameter.COUPON_CODE, 97636572) 124 - ..setParameter(EventParameter.CUSTOMER_SEGMENT, [1, 2, 4])) 125 - .build()); 150 +{{code language="javascript"}} 151 + sendTrackEvent = () => { 152 + if (Platform.OS === 'android') { 153 + Mobigate.trackEvent({ 154 + name: Mobigate.CATEGORY_PURCHASE, 155 + parameters: { 156 + [Mobigate.PARAMETER_CONTENT_ID]: 42313532, 157 + [Mobigate.PARAMETER_PRICE]: 43.23, 158 + [Mobigate.PARAMETER_QUANTITY]: 2, 159 + 'userCustomParameterName':'simpleName' 160 + }, 161 + }) 162 + } 163 + } 126 126 {{/code}} 127 127 {{/showhide}} 128 128 129 129 130 -** voidtrackAppInstall(inttimestamp)**168 +**Mobigate.trackAppInstall(timestamp)** 131 131 132 132 (% class="table-bordered table-hover" style="border-color:powderblue" %) 133 133 |=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description ... ... @@ -143,7 +143,7 @@ 143 143 {{/code}} 144 144 {{/showhide}} 145 145 146 -=== 3. 3.3 Event categories ===184 +=== 3.2.3 Event categories === 147 147 148 148 The following section describes the recommended structure of each event category. In-app events categories are defined as part of plugin String constants. 149 149 ... ... @@ -316,7 +316,7 @@ 316 316 **Recommended parameters:** CONTENT_ID 317 317 {{/showhide}} 318 318 319 -=== 3. 3.4 Event parameters ===357 +=== 3.2.4 Event parameters === 320 320 321 321 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. 322 322 ... ... @@ -398,14 +398,14 @@ 398 398 399 399 {{/showhide}} 400 400 401 -== 3. 4Remaining methods ==439 +== 3.3 Remaining methods == 402 402 403 -** voidsetCollectAll()**441 +**Mobigate.setCollectAll()** 404 404 This method enables all data collectors. By default all data collectors are enabled. 405 405 406 406 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 407 -{{code language=" dart"}}408 - mobigateInstance.setCollectAll();445 +{{code language="javascript"}} 446 +Mobigate.disableAllDataCollector() 409 409 {{/code}} 410 410 {{/showhide}} 411 411 ... ... @@ -412,7 +412,7 @@ 412 412 (% style="color:powderblue" %) 413 413 ---- 414 414 415 -** voidconfigureDataCollectors(boolenable,List<int>collectors)**453 +**Mobigate.configureDataCollectors(enable, collectors)** 416 416 Enable or disable DataCollector by array collectors input 417 417 418 418 (% class="table-bordered table-hover" style="border-color:powderblue" %) ... ... @@ -422,11 +422,9 @@ 422 422 423 423 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 424 424 {{code language="javascript"}} 425 -mobigateInstance.configureDataCollectors(true, [ 426 - DataCollector.APPS_LIST, 427 - DataCollector.APPS_USAGE, 428 - DataCollector.BROWSER 429 - ]) 463 +Mobigate.configureDataCollectors(true, [Mobigate.DATA_COLLECTOR_APPS_LIST, 464 + Mobigate.DATA_COLLECTOR_BATTERY, 465 + Mobigate.DATA_COLLECTOR_PHONE_INFO]) 430 430 {{/code}} 431 431 {{/showhide}} 432 432