NeroSong / appcenter_sdk_flutter

Unofficial development repository for the App Center SDK for Flutter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

App Center SDK for Flutter

This package supports only the Analytics and Crashes parts of the sdk.

Usage

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

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await AppCenter.start(secret: '<APP-SECRET>');
  FlutterError.onError = (final details) async {
    await AppCenterCrashes.trackException(
      message: details.exception.toString(),
      type: details.exception.runtimeType,
      stackTrace: details.stack,
    );
  };
  runApp(const MyApp());
}

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

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(final BuildContext context) => MaterialApp(
        home: Scaffold(
          appBar: AppBar(
            title: const Text('App Center Sdk'),
          ),
          body: Center(
            child: ElevatedButton(
              onPressed: () {
                int.parse('not a number');
              },
              child: const Text('TrackException'),
            ),
          ),
        ),
      );
}

AppCenter

await AppCenter.start('secret');
await AppCenter.enable();
await AppCenter.disable();
final isEnabled = await AppCenter.isEnabled();
final isConfigured = await AppCenter.isConfigured();
final installId = await AppCenter.getInstallId();
final isRunningInAppCenterTestCloud = await AppCenter.isRunningInAppCenterTestCloud();

AppCenter Analytics

  await AppCenterAnalytics.trackEvent(name: 'A Event', properties: {'property':'value'}, flags: 1);
  await AppCenterAnalytics.pause();
  await AppCenterAnalytics.resume();
  await AppCenterAnalytics.enable();
  await AppCenterAnalytics.disable();
  final isEnabled = await AppCenterAnalytics.isEnabled();
  await AppCenterAnalytics.enableManualSessionTracker();
  await AppCenterAnalytics.startSession();
  final isSetted =  AppCenterAnalytics.setTransmissionInterval(3);

AppCenter Crashes

  await generateTestCrash();
  final hasReceivedMemoryWarningInLastSession = AppCenterCrashes.hasReceivedMemoryWarningInLastSession();
  final hasCrashedInLastSession = AppCenterCrashes.hasCrashedInLastSession();
  await AppCenterCrashes.enable();
  await AppCenterCrashes.disable();
  final isEnabled = AppCenterCrashes.isEnabled();
  await AppCenterCrashes.trackException(message: 'MessageException', type: MessageException.runtimeType, stackTrace: StackTrace.fromString('stackTraceString'), properties: {'property':'value'});

When using the trackException, the flutter stack trace will appear in App Center.

Android iOS
App Center Android App Center iOS

Pigeon

Since I always forget the command, I noted it here. flutter pub run pigeon --input pigeons/messages.dart

About

Unofficial development repository for the App Center SDK for Flutter

License:MIT License


Languages

Language:Dart 55.9%Language:Kotlin 22.0%Language:Swift 19.0%Language:Ruby 2.3%Language:Objective-C 0.8%