rdc_flutter_sdk 0.0.2 copy "rdc_flutter_sdk: ^0.0.2" to clipboard
rdc_flutter_sdk: ^0.0.2 copied to clipboard

Flutter plugin for sending user event data to Rabbit Data Collection platform

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:shop_app/routes.dart';
import 'package:shop_app/screens/splash/splash_screen.dart';
import 'package:shop_app/theme.dart';
import 'package:rdc_flutter_sdk/rabbit_data.dart';
import 'package:get/get.dart';
import 'package:geolocator/geolocator.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await _getPermission();

  var config = RabbitDataConfig(
      apiKey: 'GUawtArmlVOSlNbaTzwUMxBxlVqirqTc', dbType: DBType.realm);
  var rabbitData = await RabbitData.initializeInstance(config);
  await rabbitData.setUserInfo('', ''); // clear memberId, ssoId
  Get.put(rabbitData, tag: 'rabbit_data');

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Flutter Demo',
      theme: theme(),
      // home: SplashScreen(),
      // We use routeName so that we dont need to remember the name
      initialRoute: SplashScreen.routeName,
      routes: routes,
    );
  }
}

Future _getPermission() async {
  bool serviceEnabled;
  LocationPermission permission;

  // Test if location services are enabled.
  serviceEnabled = await Geolocator.isLocationServiceEnabled();
  if (!serviceEnabled) {
    // Location services are not enabled don't continue
    // accessing the position and request users of the
    // App to enable the location services.
    return Future.error('Location services are disabled.');
  }

  permission = await Geolocator.checkPermission();
  if (permission == LocationPermission.denied) {
    permission = await Geolocator.requestPermission();
    if (permission == LocationPermission.denied) {
      return Future.error('Location permissions are denied');
    }
  }

  if (permission == LocationPermission.deniedForever) {
    // Permissions are denied forever, handle appropriately.
    return Future.error(
        'Location permissions are permanently denied, we cannot request permissions.');
  }
}