Skip to content

Unofficial development repository for the App Center SDK for Flutter

License

Notifications You must be signed in to change notification settings

markst/appcenter_sdk_flutter

 
 

Repository files navigation

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 AppCenter.trackEvent(name: 'A Event', properties: {'property':'value'}, flags: 1);
  await AppCenter.pause();
  await AppCenter.resume();
  await AppCenter.enable();
  await AppCenter.disable();
  final isEnabled = await AppCenter.isEnabled();
  await AppCenter.enableManualSessionTracker();
  await AppCenter.startSession();
  final isSetted =  AppCenter.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

About

Unofficial development repository for the App Center SDK for Flutter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 58.2%
  • Kotlin 22.0%
  • Swift 16.6%
  • Ruby 2.4%
  • Objective-C 0.8%