apptrove_sdk_flutter 2.0.0 copy "apptrove_sdk_flutter: ^2.0.0" to clipboard
apptrove_sdk_flutter: ^2.0.0 copied to clipboard

This is AppTrove Flutter SDK for mobile attribution and analytics

example/lib/main.dart

import 'dart:ffi';

import 'package:flutter/material.dart';
import 'dart:async';

import 'package:flutter/services.dart';
import 'package:apptrove_sdk_flutter/apptrovefluttersdk.dart';
import 'package:apptrove_sdk_flutter/apptroveconfig.dart';
import 'package:apptrove_sdk_flutter/apptroveevent.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String _platformVersion = 'Unknown';

  @override
  void initState() {
    super.initState();
    initPlatformState();
  }

  // Platform messages are asynchronous, so we initialize in an async method.
  Future<void> initPlatformState() async {
    AppTroveSDKConfig appTroveSDKConfig = new AppTroveSDKConfig(
        "be82576a-b4e8-40a7-8fe2-c25d924ddc58", "development");
    appTroveSDKConfig.deferredDeeplinkCallback = (uri){
      print('The value of deeplinkUrl is: $uri');
    };
    AppTroveFlutterSdk.updatePostbackConversion(0);
    AppTroveFlutterSdk.setUserId("737263"); //Pass your userid
    AppTroveFlutterSdk.setUserEmail("userEmail@gmail.com");

    var userAdditionalDetails = Map<String, Object>();
    userAdditionalDetails["phoneNumber"] = 9876453210;

    AppTroveFlutterSdk.setUserAdditionalDetails(userAdditionalDetails);

    AppTroveFlutterSdk.initializeSDK(appTroveSDKConfig);

    AppTroveFlutterSdk.sendFcmToken("example_fcm_token_12345");

    var appTroveId = await AppTroveFlutterSdk.getAppTroveId();
    print('The value of appTroveId is: $appTroveId');

    String platformVersion;
    // Platform messages may fail, so we use a try/catch PlatformException.
    // We also handle the message potentially returning null.
    try {
      platformVersion = await AppTroveFlutterSdk.platformVersion ??
          'Unknown platform version';
    } on PlatformException {
      platformVersion = 'Failed to get platform version.';
    }

    // If the widget was removed from the tree while the asynchronous platform
    // message was in flight, we want to discard the reply rather than calling
    // setState to update our non-existent appearance.
    if (!mounted) return;

    setState(() {
      _platformVersion = platformVersion;
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
          appBar: AppBar(
            title: Text('AppTrove Flutter Sample App'),
          ),
          body: Center(
              child: Column(children: <Widget>[
            Container(
              margin: EdgeInsets.all(25),
              child: MaterialButton(
                child: Text(
                  'Track Event',
                  style: TextStyle(fontSize: 20.0),
                ),
                color: Colors.cyan,
                textColor: Colors.black,
                onPressed: _trackSimpleEvent,
              ),
            ),
            Container(
              margin: EdgeInsets.all(25),
              child: MaterialButton(
                child: Text(
                  'Track Revenue Event',
                  style: TextStyle(fontSize: 20.0),
                ),
                color: Colors.cyan,
                textColor: Colors.black,
                onPressed: _trackRevenueEvent,
              ),
            ),
          ]))),
    );
  }

  _trackSimpleEvent() {
    AppTroveEvent appTroveEvent = new AppTroveEvent("1CFfUn3xEY");
    AppTroveFlutterSdk.setUserId("798e9w8ew09e8"); // Pass your userId here
    AppTroveFlutterSdk.setUserName("abc");
    AppTroveFlutterSdk.setUserPhone("6562127727");
    AppTroveFlutterSdk.trackerEvent(appTroveEvent);
  }

  _trackRevenueEvent() {
    AppTroveEvent appTroveEvent = new AppTroveEvent("1CFfUn3xEY");
    appTroveEvent.revenue = 10.0;
    appTroveEvent.currency = "INR";
    appTroveEvent.orderId = "orderID";
    appTroveEvent.param1 = "param1";
    appTroveEvent.param2 = "param2";
    appTroveEvent.discount = 2.0;
    appTroveEvent.couponCode = "test1";
    AppTroveFlutterSdk.setUserName("abc");
    AppTroveFlutterSdk.setUserPhone("6562127727");
    appTroveEvent.setEventValue("ev1", "eventValue1");
    appTroveEvent.setEventValue("ev2", 1);
    AppTroveFlutterSdk.trackerEvent(appTroveEvent);
  }
}
0
likes
120
points
99
downloads

Publisher

unverified uploader

Weekly Downloads

This is AppTrove Flutter SDK for mobile attribution and analytics

Homepage

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on apptrove_sdk_flutter

Packages that implement apptrove_sdk_flutter