rdc_flutter_sdk 0.0.10 copy "rdc_flutter_sdk: ^0.0.10" to clipboard
rdc_flutter_sdk: ^0.0.10 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:permission_handler/permission_handler.dart';
import 'package:shop_app/controllers/example_controller.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 'helper/storage_helper.dart';

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

  await _getPermission();

  var config = RabbitDataConfig(
      apiKey: 'GUawtArmlVOSlNbaTzwUMxBxlVqirqTc',
      dbType: DBType.realm,
      debugMode: true);
  // remeber for test
  config = await StorageHelper.initStorageConfig(config);
  var rabbitData = await RabbitData.initializeInstance(config);

  Get.put(rabbitData, tag: 'rabbit_data');

  // example controller
  Get.put(ExampleController());

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      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,
    );
  }
}

_getPermission() async {
  await Permission.location.request();
}