Show last authors
1 {{box cssClass="floatinginfobox" title="**Page Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 = Overview =
6
7 The plugin is located at npmjs repositories [[(npm repositories)>>https://www.npmjs.com/package/react-native-mobigate]]
8 This plugin is built for:
9
10 * Mobigate SDK version 1.0.4
11
12 = Adding SDK to the project =
13
14 **First, install library from the repository with**
15
16 {{code language=""}}
17 yarn add react-native-mobigate
18 {{/code}}
19
20 or
21
22 {{code language=""}}
23 npm install react-native-mobigate --save
24 {{/code}}
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 = 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 == 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 | | Set custom User Agent.
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 When the library is already initialized run it. Use //startSDK(onSuccess, onError)// method for that:
104
105 **Mobigate.startSDK(onSuccess, onError)**
106
107 (% class="table-bordered table-hover" style="border-color:powderblue" %)
108 |=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description
109 |onSuccess|Function|returns callback object
110 |onError|Function|returns callback object
111
112 {{showhide id="3" showmessage="Example" hidemessage="Example"}}
113 {{code language="javascript"}}
114 initLibrary = () => {
115 if (Platform.OS === 'android') {
116 Mobigate.init("V0K6jhiIfem6CRWHYZ59Nmj3oFBBKbJsnSsWfR2JNq7ktblOUXwbJoBQTpWnw2uSwW76gpiu2kun50jweTY69B",
117 {
118 /*custom options, check docs for more details
119 appIdentifier: 'customUserAppIdentifier',
120 appInstallationSource: "customAppInstallationSourcexyz",
121 email: 'testemail@gmail.com',
122 userAgent: 'customUserAgent',
123 customUserId: 'customUserId',*/
124 }, (success) => {
125 /* You can configure custom collectors after init
126 Mobigate.disableAllDataCollector()
127 Mobigate.configureDataCollectors(true, [Mobigate.DATA_COLLECTOR_APPS_LIST,
128 Mobigate.DATA_COLLECTOR_BATTERY,
129 Mobigate.DATA_COLLECTOR_PHONE_INFO])*/
130
131 Mobigate.startSDK((result) => {
132 this.setState({
133 status: 'started',
134 });
135
136 }, (errorResult) => {
137 this.setState({
138 status: errorResult,
139 });
140 })
141 }, (initError) => {
142 this.setState({
143 status: initError,
144 });
145 })
146 }else{
147 this.setState({
148 status: 'Mobigate SDK supports only Android'
149 })
150 }
151 }
152 {{/code}}
153 {{/showhide}}
154
155 == Tracking in app events ==
156
157 == Remaining methods ==
158
159
160
161
162
163 (% class="table-bordered table-hover" style="border-color:powderblue" %)
164 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description
165 | | | |
166
167 = Constants =
168
169 = Sample app =
Spicy Mobile
spicymobile.pl