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
-
... ... @@ -36,6 +36,8 @@ 36 36 37 37 Initialize class with //MobigateSDK(MobigateOptions options)// 38 38 39 +//MobigateOptions(apiKey,{appIdentifier, appInstallationSource,email,cusUserId,enableUserFields,dataGatherPolicy,notificationText,enableIdProfiles})// 40 + 39 39 {{showhide id="2" showmessage="MobigateOptions" hidemessage="MobigateOptions"}} 40 40 (% class="table-bordered table-hover" style="border-color:powderblue" %) 41 41 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description ... ... @@ -45,7 +45,7 @@ 45 45 |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. 46 46 | 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]]. 47 47 | 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. 48 -| notificationText|String | | Foreground service notification text. 50 +| notificationText|String | | if state = Mobigate.DATA_GATHER_POLICY_DEFAULT you can pass custom foreground service notification text. 49 49 | enableIdProfiles|Boolean |false | turns on / off the IDs profiles system. 50 50 {{/showhide}} 51 51 ... ... @@ -53,12 +53,9 @@ 53 53 (% class="table-bordered table-hover" style="border-color:powderblue" %) 54 54 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 55 55 | 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]] 56 -|notificationText|String| | if state = Mobigate.DATA_GATHER_POLICY_DEFAULT you can pass custom foreground service notification text 57 57 {{/showhide}} 58 58 59 59 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 60 -//MobigateOptions(apiKey,{appIdentifier, appInstallationSource,email,cusUserId,enableUserFields,dataGatherPolicy,notificationText,enableIdProfiles})// 61 - 62 62 {{code language="dart"}} 63 63 MobigateSDK mobigateInstance = MobigateSDK(MobigateOptions( 64 64 "V0K6jhiIfem6CRWHYZ59Nmj3oFBBKbJsnSsWfR2JNq7ktblOUXwbJoBQTpWnw2uSwW76gpiu2kun50jweTY69B" ... ... @@ -68,94 +68,33 @@ 68 68 69 69 == 3.2 SDK initialization == 70 70 71 -You must initialize the library before running it. Use // init(apiKey, options,onSuccess, onError)// method for that:70 +You must initialize the library before running it. Use //Future<String> init// method for that: 72 72 73 -** Mobigate.init(apiKey, options, onSuccess, onError)**72 +**mobigateInstance.init()** 74 74 75 -(% class="table-bordered table-hover" style="border-color:powderblue" %) 76 -|=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description 77 -|apiKey|String|Api key provided by your business partner 78 -|options|Json Object|SDK configuration 79 -|onSuccess|Function|returns callback object 80 -|onError|Function|returns callback object 74 +Return: 81 81 82 -{{showhide id="2" showmessage="Options" hidemessage="Options"}} 83 83 (% class="table-bordered table-hover" style="border-color:powderblue" %) 84 -|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 85 -| appIdentifier|String| | Application identifier 86 -|appInstallationSource |String| | App installation source e.g., google-play, organic. 87 -|email |String | | Set's user email. 88 -|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. 89 -| 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]]. 90 -| 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. 91 -| enableIdProfiles|Boolean |false | turns on / off the IDs profiles system. 92 -{{/showhide}} 77 +|=(% 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 93 93 94 -{{showhide id="3" showmessage="DataGatherPolicy options" hidemessage="DataGatherPolicy options"}} 95 -(% class="table-bordered table-hover" style="border-color:powderblue" %) 96 -|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 97 -| 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]] 98 -|notificationText|String| | if state = Mobigate.DATA_GATHER_POLICY_DEFAULT you can pass custom foreground service notification text 99 -{{/showhide}} 81 +When the library is already initialized run it. Use //Future<String> startSdk()// method for that: 100 100 83 +**mobigateInstance.startSdk();** 101 101 102 - Whenthe library is already initialized run it. Use //startSDK(onSuccess, onError)// method for that:85 +Return: 103 103 104 -**Mobigate.startSDK(onSuccess, onError)** 105 - 106 106 (% class="table-bordered table-hover" style="border-color:powderblue" %) 107 -|=(% style="background-color:powderblue" %) Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description108 -| onSuccess|Function|returns callbackobject109 -| onError|Function|returnscallbackobject88 +|=(% 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 110 110 111 -{{showhide id="3" showmessage="Example" hidemessage="Example"}} 112 -{{code language="javascript"}} 113 - initLibrary = () => { 114 - if (Platform.OS === 'android') { 115 - Mobigate.init("V0K6jhiIfem6CRWHYZ59Nmj3oFBBKbJsnSsWfR2JNq7ktblOUXwbJoBQTpWnw2uSwW76gpiu2kun50jweTY69B", 116 - { 117 - /*custom options, check docs for more details 118 - appIdentifier: 'customUserAppIdentifier', 119 - appInstallationSource: "customAppInstallationSourcexyz", 120 - email: 'testemail@gmail.com', 121 - userAgent: 'customUserAgent', 122 - customUserId: 'customUserId',*/ 123 - }, (success) => { 124 - /* You can configure custom collectors after init 125 - Mobigate.disableAllDataCollector() 126 - Mobigate.configureDataCollectors(true, [Mobigate.DATA_COLLECTOR_APPS_LIST, 127 - Mobigate.DATA_COLLECTOR_BATTERY, 128 - Mobigate.DATA_COLLECTOR_PHONE_INFO])*/ 92 +== 3.3 Tracking in app events == 129 129 130 - Mobigate.startSDK((result) => { 131 - this.setState({ 132 - status: 'started', 133 - }); 134 - 135 - }, (errorResult) => { 136 - this.setState({ 137 - status: errorResult, 138 - }); 139 - }) 140 - }, (initError) => { 141 - this.setState({ 142 - status: initError, 143 - }); 144 - }) 145 - }else{ 146 - this.setState({ 147 - status: 'Mobigate SDK supports only Android' 148 - }) 149 - } 150 - } 151 -{{/code}} 152 -{{/showhide}} 153 - 154 -== 3.2 Tracking in app events == 155 - 156 156 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. 157 157 158 -=== 3. 2.1 Overview ===96 +=== 3.3.1 Overview === 159 159 160 160 An event consists of two fields that you (% style="display:none" %) (%%)can use to describe a user's interaction with your app content: 161 161 ... ... @@ -165,41 +165,31 @@ 165 165 |(% style="width:200px" %)Parameter|(% style="width:200px" %)String|(% style="width:200px" %)no|(% style="width:200px" %)Event parameter. 166 166 There can be more than one 167 167 168 -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"]]). 169 169 170 -=== 3. 2.2 Implementation ===108 +=== 3.3.2 Implementation === 171 171 172 172 Tracking in-app events is performed by two methods: 173 173 174 -** Mobigate.trackEvent(options)**112 +**void trackEvent(Category category)** 175 175 176 -{{showhide id="2" showmessage="Options" hidemessage="Options" effect="slide" effectduration="0.3"}} 177 177 (% class="table-bordered table-hover" style="border-color:powderblue" %) 178 -|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 179 -|name|String | | Event category name. 180 -|parameters|Json array| | Array of parameters. Look below on example. 181 -{{/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 182 182 183 183 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 184 -{{code language="javascript"}} 185 - sendTrackEvent = () => { 186 - if (Platform.OS === 'android') { 187 - Mobigate.trackEvent({ 188 - name: Mobigate.CATEGORY_PURCHASE, 189 - parameters: { 190 - [Mobigate.PARAMETER_CONTENT_ID]: 42313532, 191 - [Mobigate.PARAMETER_PRICE]: 43.23, 192 - [Mobigate.PARAMETER_QUANTITY]: 2, 193 - 'userCustomParameterName':'simpleName' 194 - }, 195 - }) 196 - } 197 - } 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()); 198 198 {{/code}} 199 199 {{/showhide}} 200 200 201 201 202 -** Mobigate.trackAppInstall(timestamp)**130 +**void trackAppInstall(int timestamp)** 203 203 204 204 (% class="table-bordered table-hover" style="border-color:powderblue" %) 205 205 |=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description ... ... @@ -215,7 +215,7 @@ 215 215 {{/code}} 216 216 {{/showhide}} 217 217 218 -=== 3. 2.3 Event categories ===146 +=== 3.3.3 Event categories === 219 219 220 220 The following section describes the recommended structure of each event category. In-app events categories are defined as part of plugin String constants. 221 221