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
-
... ... @@ -67,94 +67,33 @@ 67 67 68 68 == 3.2 SDK initialization == 69 69 70 -You must initialize the library before running it. Use // init(apiKey, options,onSuccess, onError)// method for that:70 +You must initialize the library before running it. Use //Future<String> init// method for that: 71 71 72 -** Mobigate.init(apiKey, options, onSuccess, onError)**72 +**mobigateInstance.init()** 73 73 74 -(% class="table-bordered table-hover" style="border-color:powderblue" %) 75 -|=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description 76 -|apiKey|String|Api key provided by your business partner 77 -|options|Json Object|SDK configuration 78 -|onSuccess|Function|returns callback object 79 -|onError|Function|returns callback object 74 +Return: 80 80 81 -{{showhide id="2" showmessage="Options" hidemessage="Options"}} 82 82 (% class="table-bordered table-hover" style="border-color:powderblue" %) 83 -|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 84 -| appIdentifier|String| | Application identifier 85 -|appInstallationSource |String| | App installation source e.g., google-play, organic. 86 -|email |String | | Set's user email. 87 -|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. 88 -| 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]]. 89 -| 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. 90 -| enableIdProfiles|Boolean |false | turns on / off the IDs profiles system. 91 -{{/showhide}} 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 92 92 93 -{{showhide id="3" showmessage="DataGatherPolicy options" hidemessage="DataGatherPolicy options"}} 94 -(% class="table-bordered table-hover" style="border-color:powderblue" %) 95 -|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 96 -| 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]] 97 -|notificationText|String| | if state = Mobigate.DATA_GATHER_POLICY_DEFAULT you can pass custom foreground service notification text 98 -{{/showhide}} 81 +When the library is already initialized run it. Use //Future<String> startSdk()// method for that: 99 99 83 +**mobigateInstance.startSdk();** 100 100 101 - Whenthe library is already initialized run it. Use //startSDK(onSuccess, onError)// method for that:85 +Return: 102 102 103 -**Mobigate.startSDK(onSuccess, onError)** 104 - 105 105 (% class="table-bordered table-hover" style="border-color:powderblue" %) 106 -|=(% style="background-color:powderblue" %) Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description107 -| onSuccess|Function|returns callbackobject108 -| onError|Function|returnscallbackobject88 +|=(% 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 109 109 110 -{{showhide id="3" showmessage="Example" hidemessage="Example"}} 111 -{{code language="javascript"}} 112 - initLibrary = () => { 113 - if (Platform.OS === 'android') { 114 - Mobigate.init("V0K6jhiIfem6CRWHYZ59Nmj3oFBBKbJsnSsWfR2JNq7ktblOUXwbJoBQTpWnw2uSwW76gpiu2kun50jweTY69B", 115 - { 116 - /*custom options, check docs for more details 117 - appIdentifier: 'customUserAppIdentifier', 118 - appInstallationSource: "customAppInstallationSourcexyz", 119 - email: 'testemail@gmail.com', 120 - userAgent: 'customUserAgent', 121 - customUserId: 'customUserId',*/ 122 - }, (success) => { 123 - /* You can configure custom collectors after init 124 - Mobigate.disableAllDataCollector() 125 - Mobigate.configureDataCollectors(true, [Mobigate.DATA_COLLECTOR_APPS_LIST, 126 - Mobigate.DATA_COLLECTOR_BATTERY, 127 - Mobigate.DATA_COLLECTOR_PHONE_INFO])*/ 92 +== 3.3 Tracking in app events == 128 128 129 - Mobigate.startSDK((result) => { 130 - this.setState({ 131 - status: 'started', 132 - }); 133 - 134 - }, (errorResult) => { 135 - this.setState({ 136 - status: errorResult, 137 - }); 138 - }) 139 - }, (initError) => { 140 - this.setState({ 141 - status: initError, 142 - }); 143 - }) 144 - }else{ 145 - this.setState({ 146 - status: 'Mobigate SDK supports only Android' 147 - }) 148 - } 149 - } 150 -{{/code}} 151 -{{/showhide}} 152 - 153 -== 3.2 Tracking in app events == 154 - 155 155 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. 156 156 157 -=== 3. 2.1 Overview ===96 +=== 3.3.1 Overview === 158 158 159 159 An event consists of two fields that you (% style="display:none" %) (%%)can use to describe a user's interaction with your app content: 160 160 ... ... @@ -164,41 +164,31 @@ 164 164 |(% style="width:200px" %)Parameter|(% style="width:200px" %)String|(% style="width:200px" %)no|(% style="width:200px" %)Event parameter. 165 165 There can be more than one 166 166 167 -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"]]). 168 168 169 -=== 3. 2.2 Implementation ===108 +=== 3.3.2 Implementation === 170 170 171 171 Tracking in-app events is performed by two methods: 172 172 173 -** Mobigate.trackEvent(options)**112 +**void trackEvent(Category category)** 174 174 175 -{{showhide id="2" showmessage="Options" hidemessage="Options" effect="slide" effectduration="0.3"}} 176 176 (% class="table-bordered table-hover" style="border-color:powderblue" %) 177 -|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Default|=(% style="background-color:powderblue" %)Description 178 -|name|String | | Event category name. 179 -|parameters|Json array| | Array of parameters. Look below on example. 180 -{{/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 181 181 182 182 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 183 -{{code language="javascript"}} 184 - sendTrackEvent = () => { 185 - if (Platform.OS === 'android') { 186 - Mobigate.trackEvent({ 187 - name: Mobigate.CATEGORY_PURCHASE, 188 - parameters: { 189 - [Mobigate.PARAMETER_CONTENT_ID]: 42313532, 190 - [Mobigate.PARAMETER_PRICE]: 43.23, 191 - [Mobigate.PARAMETER_QUANTITY]: 2, 192 - 'userCustomParameterName':'simpleName' 193 - }, 194 - }) 195 - } 196 - } 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()); 197 197 {{/code}} 198 198 {{/showhide}} 199 199 200 200 201 -** Mobigate.trackAppInstall(timestamp)**130 +**void trackAppInstall(int timestamp)** 202 202 203 203 (% class="table-bordered table-hover" style="border-color:powderblue" %) 204 204 |=(% style="background-color:powderblue" %)Parameter|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description ... ... @@ -214,7 +214,7 @@ 214 214 {{/code}} 215 215 {{/showhide}} 216 216 217 -=== 3. 2.3 Event categories ===146 +=== 3.3.3 Event categories === 218 218 219 219 The following section describes the recommended structure of each event category. In-app events categories are defined as part of plugin String constants. 220 220 ... ... @@ -387,7 +387,7 @@ 387 387 **Recommended parameters:** CONTENT_ID 388 388 {{/showhide}} 389 389 390 -=== 3. 2.4 Event parameters ===319 +=== 3.3.4 Event parameters === 391 391 392 392 In addition each category that is passed with event may have optional parameters defined as part of the plugin constants, or custom defined as String. Below is a list of recommended parameters. 393 393 ... ... @@ -469,14 +469,14 @@ 469 469 470 470 {{/showhide}} 471 471 472 -== 3. 3Remaining methods ==401 +== 3.4 Remaining methods == 473 473 474 -** Mobigate.setCollectAll()**403 +**void setCollectAll()** 475 475 This method enables all data collectors. By default all data collectors are enabled. 476 476 477 477 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 478 -{{code language=" javascript"}}479 - Mobigate.disableAllDataCollector()407 +{{code language="dart"}} 408 +mobigateInstance.setCollectAll(); 480 480 {{/code}} 481 481 {{/showhide}} 482 482 ... ... @@ -483,19 +483,21 @@ 483 483 (% style="color:powderblue" %) 484 484 ---- 485 485 486 -** Mobigate.configureDataCollectors(enable, collectors)**415 +**void configureDataCollectors(bool enable, List<int> collectors)** 487 487 Enable or disable DataCollector by array collectors input 488 488 489 489 (% class="table-bordered table-hover" style="border-color:powderblue" %) 490 490 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description 491 -|enable|boolean|true if enable, false if disable |492 -|collectors|array of [[data collector const>>doc:||anchor="H4.3Datacollectorsconstants"]]|e.g.,[Mobigate.DATA_COLLECTOR_BATTERY, DATA_COLLECTOR_GEOLOCATION] |420 +|enable|boolean|true if enable, false if disable 421 +|collectors|array of [[data collector const>>doc:||anchor="H4.3Datacollectorsconstants"]]|e.g.,[Mobigate.DATA_COLLECTOR_BATTERY, DATA_COLLECTOR_GEOLOCATION] 493 493 494 494 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 495 -{{code language="javascript"}} 496 -Mobigate.configureDataCollectors(true, [Mobigate.DATA_COLLECTOR_APPS_LIST, 497 - Mobigate.DATA_COLLECTOR_BATTERY, 498 - Mobigate.DATA_COLLECTOR_PHONE_INFO]) 424 +{{code language="dart"}} 425 +mobigateInstance.configureDataCollectors(true, [ 426 + DataCollector.APPS_LIST, 427 + DataCollector.APPS_USAGE, 428 + DataCollector.BROWSER 429 + ]); 499 499 {{/code}} 500 500 {{/showhide}} 501 501 ... ... @@ -502,12 +502,12 @@ 502 502 (% style="color:powderblue" %) 503 503 ---- 504 504 505 -** Mobigate.disableAllDataCollector()**436 +**void disableAllDataCollector()** 506 506 Disable all data collectors 507 507 508 508 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 509 -{{code language=" javascript"}}510 - Mobigate.disableAllDataCollector()440 +{{code language="dart"}} 441 +mobigateInstance.disableAllDataCollector(); 511 511 {{/code}} 512 512 {{/showhide}} 513 513 ... ... @@ -514,16 +514,16 @@ 514 514 (% style="color:powderblue" %) 515 515 ---- 516 516 517 -** Mobigate.setEmail(email)**448 +**void setEmail(String email)** 518 518 Set user's email 519 519 520 520 (% class="table-bordered table-hover" style="border-color:powderblue" %) 521 521 |=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description 522 -|email |String |user's email address |453 +|email |String |user's email address 523 523 524 524 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 525 -{{code language=" javascript"}}526 - Mobigate.setEmail('emailExample@spicymobile.pl')456 +{{code language="dart"}} 457 +mobigateInstance.setEmail('test@spicymobile.pl'); 527 527 {{/code}} 528 528 {{/showhide}} 529 529 ... ... @@ -530,21 +530,12 @@ 530 530 (% style="color:powderblue" %) 531 531 ---- 532 532 533 -** Mobigate.getEmail(onSuccess, onError)**534 -Get previously set user email 464 +**Future<String> getEmail()** 465 +Get previously set user email. Return email on success, error otherwise. 535 535 536 -(% class="table-bordered table-hover" style="border-color:powderblue" %) 537 -|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description 538 -|onSuccess |Function |returns callback object 539 -|onError |Function |returns callback object 540 - 541 541 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 542 -{{code language="javascript"}} 543 -Mobigate.getEmail((success) => { 544 - console.log("user email: " + success) 545 - }, (error) => { 546 - console.log(error) 547 - }) 468 +{{code language="dart"}} 469 +final String email = await mobigateInstance.getEmail(); 548 548 {{/code}} 549 549 {{/showhide}} 550 550 ... ... @@ -551,7 +551,7 @@ 551 551 (% style="color:powderblue" %) 552 552 ---- 553 553 554 -** Mobigate.setFbToken(token)**476 +**void setFbToken(String token)** 555 555 Set fb token for social network collector 556 556 557 557 (% class="table-bordered table-hover" style="border-color:powderblue" %) ... ... @@ -559,49 +559,20 @@ 559 559 |token |string |facebook token 560 560 561 561 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 562 -{{code language=" javascript"}}563 - Mobigate.setFbToken('9dsf87ds98978das98d7893u12rj808d0j09012jd012')484 +{{code language="dart"}} 485 +mobigateInstance.setFbToken('dsf87esy789fys9dfu08sds54s6547c8s8doc4'); 564 564 {{/code}} 565 565 {{/showhide}} 566 566 567 -((( 568 -(% class="showhidebutton" %) 569 -((( 570 -{{html clean="false"}} 571 -<a href="javascript:void(0)" id="showhidebuttontext3" data-show-duration="0" data-show-effect="toggle" data-show-message="Example" data-hide-message="Example">Example</a> 572 -{{/html}} 573 -))) 574 - 575 -(% class="showhidecontent" id="showhidecontent3" style="display: none;" %) 576 -((( 577 -((( 578 -{{code language="javascript"}} 579 -Mobigate.setFbToken('9dsf87ds98978das98d7893u12rj808d0j09012jd012') 580 -{{/code}} 581 -))) 582 -))) 583 -))) 584 - 585 - 586 - 587 587 (% style="color:powderblue" %) 588 588 ---- 589 589 590 -** Mobigate.getSDKInfo(onSuccess, onError)**591 -Getting information about the library 492 +**Future<String> getSDKInfo()** 493 +Getting information about the library. Return on success sdk info string, error otherwise. 592 592 593 -(% class="table-bordered table-hover" style="border-color:powderblue" %) 594 -|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description 595 -|onSuccess |Function |returns callback object 596 -|onError |Function |returns callback object 597 - 598 598 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 599 -{{code language="javascript"}} 600 -Mobigate.getSDKInfo((success) => { 601 - console.log("sdk info: " + success) 602 - }, (error) => { 603 - console.log(error) 604 - }) 496 +{{code language="dart"}} 497 +final String sdkInfo = await mobigateInstance.getSDKInfo(); 605 605 {{/code}} 606 606 {{/showhide}} 607 607 ... ... @@ -608,21 +608,12 @@ 608 608 (% style="color:powderblue" %) 609 609 ---- 610 610 611 -** Mobigate.getSDKUniqueIdentifier(onSuccess, onError)**612 -Return unique SDK identificator 504 +**Future<String> getSDKUniqueIdentifier()** 505 +Return unique SDK identificator. Return on success sdk unique identifier, error otherwise. 613 613 614 -(% class="table-bordered table-hover" style="border-color:powderblue" %) 615 -|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description 616 -|onSuccess |Function |returns callback object 617 -|onError |Function |returns callback object 618 - 619 619 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 620 -{{code language="javascript"}} 621 -Mobigate.getSDKUniqueIdentifier((success) => { 622 - console.log("UUID: " + success) 623 - }, (error) => { 624 - console.log(error) 625 - }) 508 +{{code language="dart"}} 509 +final String sdkUniqueIdentifier = await mobigateInstance.getSDKUniqueIdentifier(); 626 626 {{/code}} 627 627 {{/showhide}} 628 628 ... ... @@ -629,22 +629,12 @@ 629 629 (% style="color:powderblue" %) 630 630 ---- 631 631 632 -** Mobigate.getIDsProfiles(onSuccess, onError)**516 +**Future<List<int>> getIDsProfiles()** 633 633 Method returns IDs profiles. List of IDs profiles in the application memory is updated (synchronized with the server) at specified intervals. To enable functionality, use the 'enableIDsProfiles (boolean enable)' method. Returns the identifiers of IDs profiles (ex. 5,9,20), returns '0' if list of user IDs profiles is empty, returns 'null' if the system has not yet communicated 634 634 635 - 636 -(% class="table-bordered table-hover" style="border-color:powderblue" %) 637 -|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description 638 -|onSuccess |Function |returns callback object 639 -|onError |Function |returns callback object 640 - 641 641 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 642 -{{code language="javascript"}} 643 -Mobigate.getIDsProfiles((success) => { 644 - console.log("Profiles: " + success) 645 - }, (error) => { 646 - console.log(error) 647 - }) 520 +{{code language="dart"}} 521 +final List<int> idsProfiles = await mobigateInstance.getIDsProfiles(); 648 648 {{/code}} 649 649 {{/showhide}} 650 650 ... ... @@ -651,21 +651,12 @@ 651 651 (% style="color:powderblue" %) 652 652 ---- 653 653 654 -**M obigate.getAdOceanTargeting(onSuccess, onError)**528 +**Future<Map<String, int>> getAdOceanTargeting()** 655 655 Getting numerical variables, that can be used for ads targeting. Method must be called from separate thread. Return 3 different identifiers of a user, encoded into a map of AdOcean numerical variables 656 656 657 -(% class="table-bordered table-hover" style="border-color:powderblue" %) 658 -|=(% style="background-color:powderblue" %)Name|=(% style="background-color:powderblue" %)Type|=(% style="background-color:powderblue" %)Description 659 -|onSuccess |Function |returns callback object 660 -|onError |Function |returns callback object 661 - 662 662 {{showhide id="3" showmessage="Example" hidemessage="Example"}} 663 -{{code language="javascript"}} 664 -Mobigate.getAdOceanTargeting((success) => { 665 - console.log("Adocean targeting: " + success) 666 - }, (error) => { 667 - console.log(error) 668 - }) 532 +{{code language="dart"}} 533 +final Map<String,int> adOceanTargeting = await mobigateInstance.getAdOceanTargeting(); 669 669 {{/code}} 670 670 {{/showhide}} 671 671