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,32 +28,26 @@ 28 28 29 29 To use any method from the plugin add import: 30 30 31 -{{code language=" javascript"}}32 -import Mobigatefrom 'react-native-mobigate'31 +{{code language="dart"}} 32 +import 'package:flutter_mobigate/flutter_mobigate.dart'; 33 33 {{/code}} 34 34 35 -== 3.1 SDK initialization == 35 +== 3.1 MobigateSDK class initialization == 36 36 37 - You must initializethelibrarybefore running it.Use//init(apiKey, options,onSuccess,onError)//method for that:37 +Initialize class with //MobigateSDK(MobigateOptions options)// 38 38 39 - **Mobigate.init(apiKey,options, onSuccess,onError)**39 +//MobigateOptions(apiKey,{appIdentifier, appInstallationSource,email,cusUserId,enableUserFields,dataGatherPolicy,notificationText,enableIdProfiles})// 40 40 41 +{{showhide id="2" showmessage="MobigateOptions" hidemessage="MobigateOptions"}} 41 41 (% 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" %) 50 50 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 51 51 | appIdentifier|String| | Application identifier 52 52 |appInstallationSource |String| | App installation source e.g., google-play, organic. 53 53 |email |String | | Set's user email. 54 -|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. 55 55 | 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]]. 56 56 | 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. 57 57 | enableIdProfiles|Boolean |false | turns on / off the IDs profiles system. 58 58 {{/showhide}} 59 59 ... ... @@ -61,67 +61,45 @@ 61 61 (% class="table-bordered table-hover" style="border-color:powderblue" %) 62 62 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 63 63 | 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 65 65 {{/showhide}} 66 66 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 - Whenthelibraryis already initialized run it. Use //startSDK(onSuccess,onError)// method for that:68 +== 3.2 SDK initialization == 69 69 70 - **Mobigate.startSDK(onSuccess,onError)**70 +You must initialize the library before running it. Use //Future<String> init// method for that: 71 71 72 +**mobigateInstance.init()** 73 + 74 +Return: 75 + 72 72 (% class="table-bordered table-hover" style="border-color:powderblue" %) 73 -|=(% style="background-color:powderblue" %) Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description74 -| onSuccess|Function|returns callbackobject75 -| 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 76 76 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])*/ 81 +When the library is already initialized run it. Use //Future<String> startSdk()// method for that: 95 95 96 - Mobigate.startSDK((result) => { 97 - this.setState({ 98 - status: 'started', 99 - }); 83 +**mobigateInstance.startSdk();** 100 100 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}} 85 +Return: 119 119 120 -== 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 121 121 92 +== 3.3 Tracking in app events == 93 + 122 122 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. 123 123 124 -=== 3. 2.1 Overview ===96 +=== 3.3.1 Overview === 125 125 126 126 An event consists of two fields that you (% style="display:none" %) (%%)can use to describe a user's interaction with your app content: 127 127 ... ... @@ -131,41 +131,31 @@ 131 131 |(% style="width:200px" %)Parameter|(% style="width:200px" %)String|(% style="width:200px" %)no|(% style="width:200px" %)Event parameter. 132 132 There can be more than one 133 133 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"]]).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"]]). 135 135 136 -=== 3. 2.2 Implementation ===108 +=== 3.3.2 Implementation === 137 137 138 138 Tracking in-app events is performed by two methods: 139 139 140 -** Mobigate.trackEvent(options)**112 +**void trackEvent(Category category)** 141 141 142 -{{showhide id="2" showmessage="Options" hidemessage="Options" effect="slide" effectduration="0.3"}} 143 143 (% class="table-bordered table-hover" style="border-color:powderblue" %) 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}} 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 148 148 149 149 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 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 - } 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()); 164 164 {{/code}} 165 165 {{/showhide}} 166 166 167 167 168 -** Mobigate.trackAppInstall(timestamp)**130 +**void trackAppInstall(int timestamp)** 169 169 170 170 (% class="table-bordered table-hover" style="border-color:powderblue" %) 171 171 |=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description ... ... @@ -181,7 +181,7 @@ 181 181 {{/code}} 182 182 {{/showhide}} 183 183 184 -=== 3. 2.3 Event categories ===146 +=== 3.3.3 Event categories === 185 185 186 186 The following section describes the recommended structure of each event category. In-app events categories are defined as part of plugin String constants. 187 187