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

Summary

Details

Page properties
Content
... ... @@ -4,50 +4,92 @@
4 4  
5 5  = 1. Overview =
6 6  
7 -The plugin is located at pub repositories [[(pub repositories)>>https://pub.dev/packages/flutter_mobigate]]
7 +The plugin is located at npmjs repositories [[(npm repositories)>>https://www.npmjs.com/package/react-native-mobigate]]
8 8  This plugin is built for:
9 9  
10 -* Mobigate SDK version 1.0.6
10 +* Mobigate SDK version 1.0.4
11 11  
12 12  = 2. Adding SDK to the project =
13 13  
14 -**First, add this to your package's pubspec.yaml file**
14 +**First, install library from the repository with**
15 15  
16 16  {{code language=""}}
17 -dependencies:
18 - flutter_mobigate: ^1.0.2
17 +yarn add react-native-mobigate
19 19  {{/code}}
20 20  
21 -**Install packages from the command line**
20 +or
22 22  
23 23  {{code language=""}}
24 -$ flutter pub get
23 +npm install react-native-mobigate --save
25 25  {{/code}}
26 26  
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 +
27 27  = 3. Api methods =
28 28  
29 29  To use any method from the plugin add import:
30 30  
31 -{{code language="dart"}}
32 -import 'package:flutter_mobigate/flutter_mobigate.dart';
67 +{{code language="javascript"}}
68 +import Mobigate from 'react-native-mobigate'
33 33  {{/code}}
34 34  
35 -== 3.1 MobigateSDK class initialization ==
71 +== 3.1 SDK initialization ==
36 36  
37 -Initialize class with //MobigateSDK(MobigateOptions options)//
73 +You must initialize the library before running it. Use //init(apiKey, options, onSuccess, onError)// method for that:
38 38  
39 -//MobigateOptions(apiKey,{appIdentifier, appInstallationSource,email,cusUserId,enableUserFields,dataGatherPolicy,notificationText,enableIdProfiles})//
75 +**Mobigate.init(apiKey, options, onSuccess, onError)**
40 40  
41 -{{showhide id="2" showmessage="MobigateOptions" hidemessage="MobigateOptions"}}
42 42  (% 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" %)
43 43  |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description
44 44  | appIdentifier|String| | Application identifier
45 45  |appInstallationSource |String| | App installation source e.g., google-play, organic.
46 46  |email |String | | Set's user email.
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.
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.
48 48  | 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]].
49 49  | 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.
51 51  | enableIdProfiles|Boolean |false | turns on / off the IDs profiles system.
52 52  {{/showhide}}
53 53  
... ... @@ -55,45 +55,67 @@
55 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  | 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
58 58  {{/showhide}}
59 59  
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 -== 3.2 SDK initialization ==
104 +When the library is already initialized run it. Use //startSDK(onSuccess, onError)// method for that:
69 69  
70 -You must initialize the library before running it. Use //Future<String> init// method for that:
106 +**Mobigate.startSDK(onSuccess, onError)**
71 71  
72 -**mobigateInstance.init()**
73 -
74 -Return:
75 -
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
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
80 80  
81 -When the library is already initialized run it. Use //Future<String> startSdk()// method for that:
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])*/
82 82  
83 -**mobigateInstance.startSdk();**
132 + Mobigate.startSDK((result) => {
133 + this.setState({
134 + status: 'started',
135 + });
84 84  
85 -Return:
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}}
86 86  
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
156 +== 3.2 Tracking in app events ==
91 91  
92 -== 3.3 Tracking in app events ==
93 -
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 ===
160 +=== 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"]]).
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"]]).
107 107  
108 -=== 3.3.2 Implementation ===
172 +=== 3.2.2 Implementation ===
109 109  
110 110  Tracking in-app events is performed by two methods:
111 111  
112 -**void trackEvent(Category category)**
176 +**Mobigate.trackEvent(options)**
113 113  
178 +{{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
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}}
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());
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 + }
126 126  {{/code}}
127 127  {{/showhide}}
128 128  
129 129  
130 -**void trackAppInstall(int timestamp)**
204 +**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 ===
220 +=== 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  
... ... @@ -398,14 +398,14 @@
398 398  
399 399  {{/showhide}}
400 400  
401 -== 3.4 Remaining methods ==
475 +== 3.3 Remaining methods ==
402 402  
403 -**void setCollectAll()**
477 +**Mobigate.setCollectAll()**
404 404  This method enables all data collectors. By default all data collectors are enabled.
405 405  
406 406  {{showhide id="3" showmessage="Example" hidemessage="Example"}}
407 -{{code language="dart"}}
408 -mobigateInstance.setCollectAll();
481 +{{code language="javascript"}}
482 +Mobigate.disableAllDataCollector()
409 409  {{/code}}
410 410  {{/showhide}}
411 411  
... ... @@ -412,7 +412,7 @@
412 412  (% style="color:powderblue" %)
413 413  ----
414 414  
415 -**void configureDataCollectors(bool enable, List<int> collectors)**
489 +**Mobigate.configureDataCollectors(enable, collectors)**
416 416  Enable or disable DataCollector by array collectors input
417 417  
418 418  (% class="table-bordered table-hover" style="border-color:powderblue" %)
... ... @@ -422,11 +422,9 @@
422 422  
423 423  {{showhide id="3" showmessage="Example" hidemessage="Example"}}
424 424  {{code language="javascript"}}
425 -mobigateInstance.configureDataCollectors(true, [
426 - DataCollector.APPS_LIST,
427 - DataCollector.APPS_USAGE,
428 - DataCollector.BROWSER
429 - ])
499 +Mobigate.configureDataCollectors(true, [Mobigate.DATA_COLLECTOR_APPS_LIST,
500 + Mobigate.DATA_COLLECTOR_BATTERY,
501 + Mobigate.DATA_COLLECTOR_PHONE_INFO])
430 430  {{/code}}
431 431  {{/showhide}}
432 432  
Spicy Mobile
spicymobile.pl