From version < 3.1 >
edited by Developer
on 2020/03/19 13:47
To version < 12.1 >
edited by Developer
on 2020/03/19 14:55
< >
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -7,89 +7,47 @@
7 7  The plugin is located at pub repositories [[(pub repositories)>>https://pub.dev/packages/flutter_mobigate]]
8 8  This plugin is built for:
9 9  
10 -* Mobigate SDK version 1.0.2
10 +* Mobigate SDK version 1.0.6
11 11  
12 12  = 2. Adding SDK to the project =
13 13  
14 -**First, install library from the repository with**
14 +**First, add this to your package's pubspec.yaml file**
15 15  
16 16  {{code language=""}}
17 -yarn add react-native-mobigate
17 +dependencies:
18 + flutter_mobigate: ^1.0.2
18 18  {{/code}}
19 19  
20 -or
21 +**Install packages from the command line**
21 21  
22 22  {{code language=""}}
23 -npm install react-native-mobigate --save
24 +$ flutter pub get
24 24  {{/code}}
25 25  
26 -**Link newly added plugin**
27 -
28 -* **React Native >= 0.60**
29 -Starting from React Native 0.60, [[autolinking>>https://github.com/react-native-community/cli/blob/master/docs/autolinking.md]] makes the installation process simpler
30 -
31 -* **React Native <= 0.59**
32 -** Mostly automatic installation:
33 -{{code language=""}}react-native link react-native-mobigate{{/code}}
34 -** Manual installation:{{showhide id="1" showmessage="Manually link the library on Android" hidemessage="Manually link the library on Android"}}* Add to: android/settings.gradle
35 -
36 -{{code language="groovy"}}
37 -include ':react-native-mobigate'
38 -project(':react-native-mobigate').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-mobigate/android')
39 -{{/code}}
40 -* Add to: android/app/build.gradle
41 -
42 -{{code language="groovy"}}
43 -dependencies {
44 -implementation project(':react-native-mobigate')
45 -}
46 -{{/code}}
47 -* Add the MobigatePackage class to your list of exported packages into: android/app/src/main/.../MainApplication.java
48 -
49 -{{code language="java"}}
50 -...
51 -import pl.spicymobile.reactmobigate.MobigatePackage;
52 -
53 -
54 -@Override
55 -protected List<ReactPackage> getPackages() {
56 - return Arrays.<ReactPackage>asList(
57 - new MainReactPackage(),
58 - new MobigatePackage()
59 - );
60 -}
61 -{{/code}}{{/showhide}}
62 -
63 63  = 3. Api methods =
64 64  
65 65  To use any method from the plugin add import:
66 66  
67 -{{code language="javascript"}}
68 -import Mobigate from 'react-native-mobigate'
31 +{{code language="dart"}}
32 +import 'package:flutter_mobigate/flutter_mobigate.dart';
69 69  {{/code}}
70 70  
71 -== 3.1 SDK initialization ==
35 +== 3.1 MobigateSDK class initialization ==
72 72  
73 -You must initialize the library before running it. Use //init(apiKey, options, onSuccess, onError)// method for that:
37 +Initialize class with //MobigateSDK(MobigateOptions options)//
74 74  
75 -**Mobigate.init(apiKey, options, onSuccess, onError)**
39 +//MobigateOptions(apiKey,{appIdentifier, appInstallationSource,email,cusUserId,enableUserFields,dataGatherPolicy,notificationText,enableIdProfiles})//
76 76  
41 +{{showhide id="2" showmessage="MobigateOptions" hidemessage="MobigateOptions"}}
77 77  (% class="table-bordered table-hover" style="border-color:powderblue" %)
78 -|=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description
79 -|apiKey|String|Api key provided by your business partner
80 -|options|Json Object|SDK configuration
81 -|onSuccess|Function|returns callback object
82 -|onError|Function|returns callback object
83 -
84 -{{showhide id="2" showmessage="Options" hidemessage="Options"}}
85 -(% class="table-bordered table-hover" style="border-color:powderblue" %)
86 86  |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description
87 87  | appIdentifier|String| | Application identifier
88 88  |appInstallationSource |String| | App installation source e.g., google-play, organic.
89 89  |email |String | | Set's user email.
90 -|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.
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.
91 91  | 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]].
92 92  | 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.
93 93  | enableIdProfiles|Boolean |false | turns on / off the IDs profiles system.
94 94  {{/showhide}}
95 95  
... ... @@ -97,67 +97,45 @@
97 97  (% class="table-bordered table-hover" style="border-color:powderblue" %)
98 98  |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description
99 99  | 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]]
100 -|notificationText|String| | if state = Mobigate.DATA_GATHER_POLICY_DEFAULT you can pass custom foreground service notification text
101 101  {{/showhide}}
102 102  
60 +{{showhide id="3" showmessage="Example" hidemessage="Example"}}
61 +{{code language="dart"}}
62 + MobigateSDK mobigateInstance = MobigateSDK(MobigateOptions(
63 + "V0K6jhiIfem6CRWHYZ59Nmj3oFBBKbJsnSsWfR2JNq7ktblOUXwbJoBQTpWnw2uSwW76gpiu2kun50jweTY69B"
64 + ));
65 +{{/code}}
66 +{{/showhide}}
103 103  
104 -When the library is already initialized run it. Use //startSDK(onSuccess, onError)// method for that:
68 +== 3.2 SDK initialization ==
105 105  
106 -**Mobigate.startSDK(onSuccess, onError)**
70 +You must initialize the library before running it. Use //Future<String> init// method for that:
107 107  
72 +**mobigateInstance.init()**
73 +
74 +Return:
75 +
108 108  (% class="table-bordered table-hover" style="border-color:powderblue" %)
109 -|=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description
110 -|onSuccess|Function|returns callback object
111 -|onError|Function|returns callback object
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
112 112  
113 -{{showhide id="3" showmessage="Example" hidemessage="Example"}}
114 -{{code language="javascript"}}
115 - initLibrary = () => {
116 - if (Platform.OS === 'android') {
117 - Mobigate.init("V0K6jhiIfem6CRWHYZ59Nmj3oFBBKbJsnSsWfR2JNq7ktblOUXwbJoBQTpWnw2uSwW76gpiu2kun50jweTY69B",
118 - {
119 - /*custom options, check docs for more details
120 - appIdentifier: 'customUserAppIdentifier',
121 - appInstallationSource: "customAppInstallationSourcexyz",
122 - email: 'testemail@gmail.com',
123 - userAgent: 'customUserAgent',
124 - customUserId: 'customUserId',*/
125 - }, (success) => {
126 - /* You can configure custom collectors after init
127 - Mobigate.disableAllDataCollector()
128 - Mobigate.configureDataCollectors(true, [Mobigate.DATA_COLLECTOR_APPS_LIST,
129 - Mobigate.DATA_COLLECTOR_BATTERY,
130 - Mobigate.DATA_COLLECTOR_PHONE_INFO])*/
81 +When the library is already initialized run it. Use //Future<String> startSdk()// method for that:
131 131  
132 - Mobigate.startSDK((result) => {
133 - this.setState({
134 - status: 'started',
135 - });
83 +**mobigateInstance.startSdk();**
136 136  
137 - }, (errorResult) => {
138 - this.setState({
139 - status: errorResult,
140 - });
141 - })
142 - }, (initError) => {
143 - this.setState({
144 - status: initError,
145 - });
146 - })
147 - }else{
148 - this.setState({
149 - status: 'Mobigate SDK supports only Android'
150 - })
151 - }
152 - }
153 -{{/code}}
154 -{{/showhide}}
85 +Return:
155 155  
156 -== 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
157 157  
92 +== 3.3 Tracking in app events ==
93 +
158 158  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.
159 159  
160 -=== 3.2.1 Overview ===
96 +=== 3.3.1 Overview ===
161 161  
162 162  An event consists of two fields that you (% style="display:none" %) (%%)can use to describe a user's interaction with your app content:
163 163  
... ... @@ -167,41 +167,31 @@
167 167  |(% style="width:200px" %)Parameter|(% style="width:200px" %)String|(% style="width:200px" %)no|(% style="width:200px" %)Event parameter. 
168 168  There can be more than one
169 169  
170 -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"]]).
171 171  
172 -=== 3.2.2 Implementation ===
108 +=== 3.3.2 Implementation ===
173 173  
174 174  Tracking in-app events is performed by two methods:
175 175  
176 -**Mobigate.trackEvent(options)**
112 +**void trackEvent(Category category)**
177 177  
178 -{{showhide id="2" showmessage="Options" hidemessage="Options" effect="slide" effectduration="0.3"}}
179 179  (% class="table-bordered table-hover" style="border-color:powderblue" %)
180 -|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description
181 -|name|String | | Event category name.
182 -|parameters|Json array| | Array of parameters. Look below on example.
183 -{{/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
184 184  
185 185  {{showhide id="3" showmessage="Example" hidemessage="Example"}}
186 -{{code language="javascript"}}
187 - sendTrackEvent = () => {
188 - if (Platform.OS === 'android') {
189 - Mobigate.trackEvent({
190 - name: Mobigate.CATEGORY_PURCHASE,
191 - parameters: {
192 - [Mobigate.PARAMETER_CONTENT_ID]: 42313532,
193 - [Mobigate.PARAMETER_PRICE]: 43.23,
194 - [Mobigate.PARAMETER_QUANTITY]: 2,
195 - 'userCustomParameterName':'simpleName'
196 - },
197 - })
198 - }
199 - }
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());
200 200  {{/code}}
201 201  {{/showhide}}
202 202  
203 203  
204 -**Mobigate.trackAppInstall(timestamp)**
130 +**void trackAppInstall(int timestamp)**
205 205  
206 206  (% class="table-bordered table-hover" style="border-color:powderblue" %)
207 207  |=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description
... ... @@ -217,7 +217,7 @@
217 217  {{/code}}
218 218  {{/showhide}}
219 219  
220 -=== 3.2.3 Event categories ===
146 +=== 3.3.3 Event categories ===
221 221  
222 222  The following section describes the recommended structure of each event category. In-app events categories are defined as part of plugin String constants.
223 223  
... ... @@ -472,14 +472,14 @@
472 472  
473 473  {{/showhide}}
474 474  
475 -== 3.3 Remaining methods ==
401 +== 3.4 Remaining methods ==
476 476  
477 -**Mobigate.setCollectAll()**
403 +**void setCollectAll()**
478 478  This method enables all data collectors. By default all data collectors are enabled.
479 479  
480 480  {{showhide id="3" showmessage="Example" hidemessage="Example"}}
481 -{{code language="javascript"}}
482 -Mobigate.disableAllDataCollector()
407 +{{code language="dart"}}
408 +mobigateInstance.setCollectAll();
483 483  {{/code}}
484 484  {{/showhide}}
485 485  
... ... @@ -486,7 +486,7 @@
486 486  (% style="color:powderblue" %)
487 487  ----
488 488  
489 -**Mobigate.configureDataCollectors(enable, collectors)**
415 +**void configureDataCollectors(bool enable, List<int> collectors)**
490 490  Enable or disable DataCollector by array collectors input
491 491  
492 492  (% class="table-bordered table-hover" style="border-color:powderblue" %)
... ... @@ -496,9 +496,11 @@
496 496  
497 497  {{showhide id="3" showmessage="Example" hidemessage="Example"}}
498 498  {{code language="javascript"}}
499 -Mobigate.configureDataCollectors(true, [Mobigate.DATA_COLLECTOR_APPS_LIST,
500 - Mobigate.DATA_COLLECTOR_BATTERY,
501 - Mobigate.DATA_COLLECTOR_PHONE_INFO])
425 +mobigateInstance.configureDataCollectors(true, [
426 + DataCollector.APPS_LIST,
427 + DataCollector.APPS_USAGE,
428 + DataCollector.BROWSER
429 + ])
502 502  {{/code}}
503 503  {{/showhide}}
504 504  
Spicy Mobile
spicymobile.pl