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
-
... ... @@ -67,33 +67,94 @@ 67 67 68 68 == 3.2 SDK initialization == 69 69 70 -You must initialize the library before running it. Use // Future<String>init// method for that:70 +You must initialize the library before running it. Use //init(apiKey, options, onSuccess, onError)// method for that: 71 71 72 -** mobigateInstance.init()**72 +**Mobigate.init(apiKey, options, onSuccess, onError)** 73 73 74 -Return: 74 +(% class="table-bordered table-hover" style="border-color:powderblue" %) 75 +|=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description 76 +|apiKey|String|Api key provided by your business partner 77 +|options|Json Object|SDK configuration 78 +|onSuccess|Function|returns callback object 79 +|onError|Function|returns callback object 75 75 81 +{{showhide id="2" showmessage="Options" hidemessage="Options"}} 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" %)Description 78 -|success|String|returns success message 79 -|error|String|returns error message 83 +|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 84 +| appIdentifier|String| | Application identifier 85 +|appInstallationSource |String| | App installation source e.g., google-play, organic. 86 +|email |String | | Set's user email. 87 +|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. 88 +| 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]]. 89 +| 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. 90 +| enableIdProfiles|Boolean |false | turns on / off the IDs profiles system. 91 +{{/showhide}} 80 80 81 -When the library is already initialized run it. Use //Future<String> startSdk()// method for that: 93 +{{showhide id="3" showmessage="DataGatherPolicy options" hidemessage="DataGatherPolicy options"}} 94 +(% class="table-bordered table-hover" style="border-color:powderblue" %) 95 +|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 96 +| 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]] 97 +|notificationText|String| | if state = Mobigate.DATA_GATHER_POLICY_DEFAULT you can pass custom foreground service notification text 98 +{{/showhide}} 82 82 83 -**mobigateInstance.startSdk();** 84 84 85 - Return:101 +When the library is already initialized run it. Use //startSDK(onSuccess, onError)// method for that: 86 86 103 +**Mobigate.startSDK(onSuccess, onError)** 104 + 87 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" %)Description89 -| success|String|returnssuccessmessage90 -| error|String|returnserrormessage106 +|=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description 107 +|onSuccess|Function|returns callback object 108 +|onError|Function|returns callback object 91 91 92 -== 3.3 Tracking in app events == 110 +{{showhide id="3" showmessage="Example" hidemessage="Example"}} 111 +{{code language="javascript"}} 112 + initLibrary = () => { 113 + if (Platform.OS === 'android') { 114 + Mobigate.init("V0K6jhiIfem6CRWHYZ59Nmj3oFBBKbJsnSsWfR2JNq7ktblOUXwbJoBQTpWnw2uSwW76gpiu2kun50jweTY69B", 115 + { 116 + /*custom options, check docs for more details 117 + appIdentifier: 'customUserAppIdentifier', 118 + appInstallationSource: "customAppInstallationSourcexyz", 119 + email: 'testemail@gmail.com', 120 + userAgent: 'customUserAgent', 121 + customUserId: 'customUserId',*/ 122 + }, (success) => { 123 + /* You can configure custom collectors after init 124 + Mobigate.disableAllDataCollector() 125 + Mobigate.configureDataCollectors(true, [Mobigate.DATA_COLLECTOR_APPS_LIST, 126 + Mobigate.DATA_COLLECTOR_BATTERY, 127 + Mobigate.DATA_COLLECTOR_PHONE_INFO])*/ 93 93 129 + Mobigate.startSDK((result) => { 130 + this.setState({ 131 + status: 'started', 132 + }); 133 + 134 + }, (errorResult) => { 135 + this.setState({ 136 + status: errorResult, 137 + }); 138 + }) 139 + }, (initError) => { 140 + this.setState({ 141 + status: initError, 142 + }); 143 + }) 144 + }else{ 145 + this.setState({ 146 + status: 'Mobigate SDK supports only Android' 147 + }) 148 + } 149 + } 150 +{{/code}} 151 +{{/showhide}} 152 + 153 +== 3.2 Tracking in app events == 154 + 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 ===157 +=== 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"]]).167 +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 ===169 +=== 3.2.2 Implementation === 109 109 110 110 Tracking in-app events is performed by two methods: 111 111 112 -** voidtrackEvent(Category category)**173 +**Mobigate.trackEvent(options)** 113 113 175 +{{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 177 +|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 178 +|name|String | | Event category name. 179 +|parameters|Json array| | Array of parameters. Look below on example. 180 +{{/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()); 183 +{{code language="javascript"}} 184 + sendTrackEvent = () => { 185 + if (Platform.OS === 'android') { 186 + Mobigate.trackEvent({ 187 + name: Mobigate.CATEGORY_PURCHASE, 188 + parameters: { 189 + [Mobigate.PARAMETER_CONTENT_ID]: 42313532, 190 + [Mobigate.PARAMETER_PRICE]: 43.23, 191 + [Mobigate.PARAMETER_QUANTITY]: 2, 192 + 'userCustomParameterName':'simpleName' 193 + }, 194 + }) 195 + } 196 + } 126 126 {{/code}} 127 127 {{/showhide}} 128 128 129 129 130 -** voidtrackAppInstall(inttimestamp)**201 +**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 ===217 +=== 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