From version < 3.1 >
edited by Developer
on 2019/12/31 10:20
To version < 12.1 >
edited by Developer
on 2020/01/03 07:00
< >
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -2,20 +2,187 @@
2 2  {{toc/}}
3 3  {{/box}}
4 4  
5 -= Overview =
5 += 1. Overview =
6 +
6 6  The plugin is located at npmjs repositories [[(npm repositories)>>https://www.npmjs.com/package/react-native-mobigate]]
7 -= Adding SDK to the project =
8 +This plugin is built for:
8 8  
9 -= SDK Initialization =
10 +* Mobigate SDK version 1.0.4
10 10  
11 -= Api methods =
12 += 2. Adding SDK to the project =
12 12  
13 -== SDK initialization ==
14 +**First, install library from the repository with**
14 14  
15 -== Tracking in app events ==
16 +{{code language=""}}
17 +yarn add react-native-mobigate
18 +{{/code}}
16 16  
17 -== Remaining methods ==
20 +or
18 18  
19 -= Constants =
22 +{{code language=""}}
23 +npm install react-native-mobigate --save
24 +{{/code}}
20 20  
21 -= Sample app =
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 += 3. Api methods =
64 +
65 +To use any method from the plugin add import:
66 +
67 +{{code language="javascript"}}
68 +import Mobigate from 'react-native-mobigate'
69 +{{/code}}
70 +
71 +== 3.1 SDK initialization ==
72 +
73 +You must initialize the library before running it. Use //init(apiKey, options, onSuccess, onError)// method for that:
74 +
75 +**Mobigate.init(apiKey, options, onSuccess, onError)**
76 +
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 +|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description
87 +| appIdentifier|String| | Application identifier
88 +|appInstallationSource |String| | App installation source e.g., google-play, organic.
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.
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"] DODAĆ LINKA DO CONSTANTS.
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.
93 +| enableIdProfiles|Boolean |false | turns on / off the IDs profiles system.
94 +{{/showhide}}
95 +
96 +{{showhide id="3" showmessage="DataGatherPolicy options" hidemessage="DataGatherPolicy options"}}
97 +(% class="table-bordered table-hover" style="border-color:powderblue" %)
98 +|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description
99 +| monitorState|String| | Possible monitor states: DODAĆ LINKA DO CONSTANTS. 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 +{{/showhide}}
102 +
103 +
104 +When the library is already initialized run it. Use //startSDK(onSuccess, onError)// method for that:
105 +
106 +**Mobigate.startSDK(onSuccess, onError)**
107 +
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
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])*/
131 +
132 + Mobigate.startSDK((result) => {
133 + this.setState({
134 + status: 'started',
135 + });
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}}
155 +
156 +== 3.2 Tracking in app events ==
157 +
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 +
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 +
162 +(% class="table-bordered table-hover" %)
163 +|(% style="background-color:powderblue; width:200px" %)**Field name**|(% style="background-color:powderblue; width:200px" %)**Type**|(% style="background-color:powderblue; width:200px" %)**Required**|(% style="background-color:powderblue; width:200px" %)**Description**
164 +|(% style="width:200px" %)Category|(% style="width:200px" %)String/EventCategory|(% style="width:200px" %)yes|(% style="width:200px" %)Event category
165 +|(% style="width:200px" %)Parameter|(% style="width:200px" %)String/EventParameter|(% style="width:200px" %)no|(% style="width:200px" %)Event parameter. 
166 +There can be more than one
167 +
168 +=== 3.2.1 Overview ===
169 +
170 +=== 3.2.2 Implementation ===
171 +
172 +=== 3.2.3 Event categories ===
173 +
174 +=== 3.2.4 Event parameters ===
175 +
176 +== 3.3 Remaining methods ==
177 +
178 +
179 +
180 +
181 +
182 +(% class="table-bordered table-hover" style="border-color:powderblue" %)
183 +|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description
184 +| | | |
185 +
186 += 4. Constants =
187 +
188 += 5. Sample app =
Spicy Mobile
spicymobile.pl