Unofficial development repository for the App Center SDK for Flutter
MIT License
[!WARNING] Visual Studio App Center is scheduled for retirement on March 31, 2025. Learn more about support timelines and recommended alternatives.
This package supports only the Analytics and Crashes parts of the sdk.
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'),
),
),
),
);
}
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();
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);
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 |
---|---|
Since I always forget the command, I noted it here.
flutter pub run pigeon --input pigeons/messages.dart