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
-
... ... @@ -24,42 +24,30 @@ 24 24 $ flutter pub get 25 25 {{/code}} 26 26 27 -**Import it in your Dart code** 28 - 29 -{{code language="dart"}} 30 -import 'package:flutter_mobigate/flutter_mobigate.dart'; 31 -{{/code}} 32 - 33 33 = 3. Api methods = 34 34 35 35 To use any method from the plugin add import: 36 36 37 -{{code language=" javascript"}}38 -import Mobigatefrom 'react-native-mobigate'31 +{{code language="dart"}} 32 +import 'package:flutter_mobigate/flutter_mobigate.dart'; 39 39 {{/code}} 40 40 41 -== 3.1 SDK initialization == 35 +== 3.1 MobigateSDK class initialization == 42 42 43 - You must initializethelibrarybefore running it.Use//init(apiKey, options,onSuccess,onError)//method for that:37 +Initialize class with //MobigateSDK(MobigateOptions options)// 44 44 45 - **Mobigate.init(apiKey,options, onSuccess,onError)**39 +//MobigateOptions(apiKey,{appIdentifier, appInstallationSource,email,cusUserId,enableUserFields,dataGatherPolicy,notificationText,enableIdProfiles})// 46 46 41 +{{showhide id="2" showmessage="MobigateOptions" hidemessage="MobigateOptions"}} 47 47 (% class="table-bordered table-hover" style="border-color:powderblue" %) 48 -|=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description 49 -|apiKey|String|Api key provided by your business partner 50 -|options|Json Object|SDK configuration 51 -|onSuccess|Function|returns callback object 52 -|onError|Function|returns callback object 53 - 54 -{{showhide id="2" showmessage="Options" hidemessage="Options"}} 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 | appIdentifier|String| | Application identifier 58 58 |appInstallationSource |String| | App installation source e.g., google-play, organic. 59 59 |email |String | | Set's user email. 60 -|cus tomUserId |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.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. 61 61 | 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]]. 62 62 | 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. 63 63 | enableIdProfiles|Boolean |false | turns on / off the IDs profiles system. 64 64 {{/showhide}} 65 65 ... ... @@ -67,67 +67,45 @@ 67 67 (% class="table-bordered table-hover" style="border-color:powderblue" %) 68 68 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 69 69 | 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]] 70 -|notificationText|String| | if state = Mobigate.DATA_GATHER_POLICY_DEFAULT you can pass custom foreground service notification text 71 71 {{/showhide}} 72 72 60 +{{showhide id="3" showmessage="Example" hidemessage="Example"}} 61 +{{code language="dart"}} 62 + MobigateSDK mobigateInstance = MobigateSDK(MobigateOptions( 63 + "V0K6jhiIfem6CRWHYZ59Nmj3oFBBKbJsnSsWfR2JNq7ktblOUXwbJoBQTpWnw2uSwW76gpiu2kun50jweTY69B" 64 + )); 65 +{{/code}} 66 +{{/showhide}} 73 73 74 - Whenthelibraryis already initialized run it. Use //startSDK(onSuccess,onError)// method for that:68 +== 3.2 SDK initialization == 75 75 76 - **Mobigate.startSDK(onSuccess,onError)**70 +You must initialize the library before running it. Use //Future<String> init// method for that: 77 77 72 +**mobigateInstance.init()** 73 + 74 +Return: 75 + 78 78 (% class="table-bordered table-hover" style="border-color:powderblue" %) 79 -|=(% style="background-color:powderblue" %) Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description80 -| onSuccess|Function|returns callbackobject81 -| onError|Function|returnscallbackobject77 +|=(% style="background-color:powderblue" %)Message|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description 78 +|success|String|returns success message 79 +|error|String|returns error message 82 82 83 -{{showhide id="3" showmessage="Example" hidemessage="Example"}} 84 -{{code language="javascript"}} 85 - initLibrary = () => { 86 - if (Platform.OS === 'android') { 87 - Mobigate.init("V0K6jhiIfem6CRWHYZ59Nmj3oFBBKbJsnSsWfR2JNq7ktblOUXwbJoBQTpWnw2uSwW76gpiu2kun50jweTY69B", 88 - { 89 - /*custom options, check docs for more details 90 - appIdentifier: 'customUserAppIdentifier', 91 - appInstallationSource: "customAppInstallationSourcexyz", 92 - email: 'testemail@gmail.com', 93 - userAgent: 'customUserAgent', 94 - customUserId: 'customUserId',*/ 95 - }, (success) => { 96 - /* You can configure custom collectors after init 97 - Mobigate.disableAllDataCollector() 98 - Mobigate.configureDataCollectors(true, [Mobigate.DATA_COLLECTOR_APPS_LIST, 99 - Mobigate.DATA_COLLECTOR_BATTERY, 100 - Mobigate.DATA_COLLECTOR_PHONE_INFO])*/ 81 +When the library is already initialized run it. Use //Future<String> startSdk()// method for that: 101 101 102 - Mobigate.startSDK((result) => { 103 - this.setState({ 104 - status: 'started', 105 - }); 83 +**mobigateInstance.startSdk();** 106 106 107 - }, (errorResult) => { 108 - this.setState({ 109 - status: errorResult, 110 - }); 111 - }) 112 - }, (initError) => { 113 - this.setState({ 114 - status: initError, 115 - }); 116 - }) 117 - }else{ 118 - this.setState({ 119 - status: 'Mobigate SDK supports only Android' 120 - }) 121 - } 122 - } 123 -{{/code}} 124 -{{/showhide}} 85 +Return: 125 125 126 -== 3.2 Tracking in app events == 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 127 127 92 +== 3.3 Tracking in app events == 93 + 128 128 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. 129 129 130 -=== 3. 2.1 Overview ===96 +=== 3.3.1 Overview === 131 131 132 132 An event consists of two fields that you (% style="display:none" %) (%%)can use to describe a user's interaction with your app content: 133 133 ... ... @@ -137,41 +137,31 @@ 137 137 |(% style="width:200px" %)Parameter|(% style="width:200px" %)String|(% style="width:200px" %)no|(% style="width:200px" %)Event parameter. 138 138 There can be more than one 139 139 140 -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"]]).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"]]). 141 141 142 -=== 3. 2.2 Implementation ===108 +=== 3.3.2 Implementation === 143 143 144 144 Tracking in-app events is performed by two methods: 145 145 146 -** Mobigate.trackEvent(options)**112 +**void trackEvent(Category category)** 147 147 148 -{{showhide id="2" showmessage="Options" hidemessage="Options" effect="slide" effectduration="0.3"}} 149 149 (% class="table-bordered table-hover" style="border-color:powderblue" %) 150 -|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 151 -|name|String | | Event category name. 152 -|parameters|Json array| | Array of parameters. Look below on example. 153 -{{/showhide}} 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 154 154 155 155 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 156 -{{code language="javascript"}} 157 - sendTrackEvent = () => { 158 - if (Platform.OS === 'android') { 159 - Mobigate.trackEvent({ 160 - name: Mobigate.CATEGORY_PURCHASE, 161 - parameters: { 162 - [Mobigate.PARAMETER_CONTENT_ID]: 42313532, 163 - [Mobigate.PARAMETER_PRICE]: 43.23, 164 - [Mobigate.PARAMETER_QUANTITY]: 2, 165 - 'userCustomParameterName':'simpleName' 166 - }, 167 - }) 168 - } 169 - } 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()); 170 170 {{/code}} 171 171 {{/showhide}} 172 172 173 173 174 -** Mobigate.trackAppInstall(timestamp)**130 +**void trackAppInstall(int timestamp)** 175 175 176 176 (% class="table-bordered table-hover" style="border-color:powderblue" %) 177 177 |=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description ... ... @@ -187,7 +187,7 @@ 187 187 {{/code}} 188 188 {{/showhide}} 189 189 190 -=== 3. 2.3 Event categories ===146 +=== 3.3.3 Event categories === 191 191 192 192 The following section describes the recommended structure of each event category. In-app events categories are defined as part of plugin String constants. 193 193 ... ... @@ -360,7 +360,7 @@ 360 360 **Recommended parameters:** CONTENT_ID 361 361 {{/showhide}} 362 362 363 -=== 3. 2.4 Event parameters ===319 +=== 3.3.4 Event parameters === 364 364 365 365 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. 366 366 ... ... @@ -442,14 +442,14 @@ 442 442 443 443 {{/showhide}} 444 444 445 -== 3. 3Remaining methods ==401 +== 3.4 Remaining methods == 446 446 447 -** Mobigate.setCollectAll()**403 +**void setCollectAll()** 448 448 This method enables all data collectors. By default all data collectors are enabled. 449 449 450 450 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 451 -{{code language=" javascript"}}452 - Mobigate.disableAllDataCollector()407 +{{code language="dart"}} 408 +mobigateInstance.setCollectAll(); 453 453 {{/code}} 454 454 {{/showhide}} 455 455 ... ... @@ -456,7 +456,7 @@ 456 456 (% style="color:powderblue" %) 457 457 ---- 458 458 459 -** Mobigate.configureDataCollectors(enable, collectors)**415 +**void configureDataCollectors(bool enable, List<int> collectors)** 460 460 Enable or disable DataCollector by array collectors input 461 461 462 462 (% class="table-bordered table-hover" style="border-color:powderblue" %) ... ... @@ -466,9 +466,11 @@ 466 466 467 467 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 468 468 {{code language="javascript"}} 469 -Mobigate.configureDataCollectors(true, [Mobigate.DATA_COLLECTOR_APPS_LIST, 470 - Mobigate.DATA_COLLECTOR_BATTERY, 471 - Mobigate.DATA_COLLECTOR_PHONE_INFO]) 425 +mobigateInstance.configureDataCollectors(true, [ 426 + DataCollector.APPS_LIST, 427 + DataCollector.APPS_USAGE, 428 + DataCollector.BROWSER 429 + ]) 472 472 {{/code}} 473 473 {{/showhide}} 474 474