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
-
... ... @@ -4,92 +4,50 @@ 4 4 5 5 = 1. Overview = 6 6 7 -The plugin is located at npmjsrepositories [[(npmrepositories)>>https://www.npmjs.com/package/react-native-mobigate]]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. 410 +* Mobigate SDK version 1.0.6 11 11 12 12 = 2. Adding SDK to the project = 13 13 14 -**First, i nstalllibraryfromtherepositorywith**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 - or21 +**Install packages from the command line** 21 21 22 22 {{code language=""}} 23 - npminstall react-native-mobigate--save24 +$ 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 Mobigatefrom '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 initializethelibrarybefore 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 -|cus tomUserId |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,62 +97,40 @@ 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 - Whenthelibraryis 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" %)Description110 -| onSuccess|Function|returns callbackobject111 -| onError|Function|returnscallbackobject77 +|=(% 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 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 91 + 156 156 == 3.2 Tracking in app events == 157 157 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.