microsoft_appcenter_flutter 0.0.6 microsoft_appcenter_flutter: ^0.0.6 copied to clipboard
A new Flutter plugin.
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:microsoft_appcenter_flutter/app_center.dart';
import 'package:microsoft_appcenter_flutter/appcenter_analytics.dart';
import 'package:microsoft_appcenter_flutter/appcenter_crashes.dart';
import 'package:microsoft_appcenter_flutter/microsoft_appcenter_flutter.dart';
import 'package:flutter/foundation.dart' show defaultTargetPlatform;
import 'package:flutter/foundation.dart' show TargetPlatform;
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
String _appSecret;
String _installId = 'Unknown';
bool _areAnalyticsEnabled = false, _areCrashesEnabled = false;
_MyAppState() {
final ios = defaultTargetPlatform == TargetPlatform.iOS;
_appSecret = ios ? "28fa8fe5-9c1d-47f1-a5f3-aba5d198a70a" : "08659add-2109-42a9-b29f-b8f9df362316";
}
@override
void initState() {
super.initState();
initPlatformState();
}
// Platform messages are asynchronous, so we initialize in an async method.
Future<void> initPlatformState() async {
await AppCenter.start(
_appSecret, [AppCenterAnalytics.id]);
if (!mounted) return;
var installId = await AppCenter.installId;
var areAnalyticsEnabled = await AppCenterAnalytics.isEnabledAnalytics;
var areCrashesEnabled = await AppCenterCrashes.isEnabledCrashes;
await AppCenterAnalytics.trackEvent("openApp");
setState(() {
_installId = installId;
_areAnalyticsEnabled = areAnalyticsEnabled;
_areCrashesEnabled = areCrashesEnabled;
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Appcenter plugin example app'),
),
body: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Text('Install identifier:\n $_installId'),
Text('Analytics: $_areAnalyticsEnabled'),
Text('Crashes: $_areCrashesEnabled'),
RaisedButton(
child: Text('Generate test crash'),
onPressed: AppCenterCrashes.generateTestCrash,
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Text('Send events'),
IconButton(
icon: Icon(Icons.map),
tooltip: 'map',
onPressed: () {
AppCenterAnalytics.trackEvent("map");
},
),
IconButton(
icon: Icon(Icons.casino),
tooltip: 'casino',
onPressed: () {
AppCenterAnalytics.trackEvent("casino", {"dollars": "10"});
},
),
],
)
],
),
),
);
}
}