finbox_dc_plugin 1.0.4 copy "finbox_dc_plugin: ^1.0.4" to clipboard
finbox_dc_plugin: ^1.0.4 copied to clipboard

outdated

Device Connect Flutter SDK is used to collect anonymised non-PII data from the devices of the users after taking explicit user consent

example/lib/main.dart

import 'package:either_dart/either.dart';
import 'package:finbox_dc_plugin/finbox_dc_plugin.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

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

class MyApp extends StatefulWidget {
  const MyApp({Key key}) : super(key: key);

  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final Future<FirebaseApp> _initialization = Firebase.initializeApp();
  FirebaseMessaging _messaging;

  @override
  Widget build(BuildContext context) {
    return FutureBuilder(
        future: _initialization,
        builder: (context, snapshot) {
          // Check for errors
          if (snapshot.hasError) {
            // return SomethingWentWrong();
            print('Something went wrong in Flutter Fire');
          }

          if (snapshot.connectionState == ConnectionState.done) {
            print('firebase INIT');
            _messaging = FirebaseMessaging.instance;
            _messaging
                .getToken()
                .then((value) => print("=======Fcm token $value"));
            FirebaseMessaging.onMessage.listen((RemoteMessage event) {
              print("=====onMessage====${event.data}");
              FinBoxDcPlugin.forwardFinBoxNotificationToSDK(event.data);
            });
            return MaterialApp(
              title: 'Flutter Demo',
              theme: ThemeData(
                primarySwatch: Colors.blue,
              ),
              home: HomePage(),
            );
          }

          return Container(
            color: Colors.white,
          );
        });
  }
}

class HomePage extends StatelessWidget {
  String _deviceConnectValue = "";
  String customerId = 'user_5485362';
  String apiKey = 'CLIENT_API_KEY';

  _createUser() {
    try {
      final hello = FinBoxDcPlugin.createUser(apiKey, customerId);
      hello.fold(
          (left) => {
                // error response
                print("Error: $left")
              },
          (right) => {
                // success response
                print("Access Token: $right")
              });
    } on PlatformException catch (e) {
      _deviceConnectValue = 'Failed to fetch data';
    }
  }

  _startPeriodicSync() {
    FinBoxDcPlugin.startPeriodicSync();
  }

  _stopPeriodicSync() {
    FinBoxDcPlugin.stopPeriodicSync();
  }

  _setSyncFrequency() {
    FinBoxDcPlugin.setSyncFrequency(36000);
  }

  _resetData() {
    FinBoxDcPlugin.resetData();
  }

  _setDeviceMatch() {
    FinBoxDcPlugin.setDeviceMatch("email", "userName", "phone");
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Device Connect Sample"),
      ),
      body: Center(
        child: Column(
          children: [
            RaisedButton(
              onPressed: _createUser,
              child: Text("Create User"),
            ),
            RaisedButton(
              onPressed: _setDeviceMatch,
              child: Text("Set Device Data"),
            ),
            RaisedButton(
              onPressed: _setSyncFrequency,
              child: Text("Set Sync Frequency"),
            ),
            RaisedButton(
              onPressed: _startPeriodicSync,
              child: Text("Start Periodic Sync"),
            ),
            RaisedButton(
              onPressed: _stopPeriodicSync,
              child: Text("Stop Periodic Sync"),
            ),
            RaisedButton(
              onPressed: _resetData,
              child: Text("Reset Data"),
            ),
          ],
        ),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}
0
likes
0
pub points
90%
popularity

Publisher

verified publisherfinbox.in

Device Connect Flutter SDK is used to collect anonymised non-PII data from the devices of the users after taking explicit user consent

Repository (GitLab)
View/report issues

License

unknown (LICENSE)

Dependencies

either_dart, flutter

More

Packages that depend on finbox_dc_plugin