Flutter应用中心集成插件app_center_bundle_sdk的使用

发布于 1周前 作者 htzhanglong 来自 Flutter

Flutter应用中心集成插件app_center_bundle_sdk的使用

AppCenter Plugin for flutter

This is an updated plugin that currently bundles appcenter analytics, crashes, and distribute functionalities. You can find the original pub here.

Getting Started

To get started, go to AppCenter and register your apps.

For detailed AppCenter API reference, please visit App Center Documentation.

Usage

Basic usage

Below is a simple example of how to initialize and use flutter_appcenter_bundle in your Flutter application:

import 'package:flutter_appcenter_bundle/flutter_appcenter_bundle.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  await AppCenter.startAsync(
    appSecretAndroid: 'your_android_secret',
    appSecretIOS: 'your_ios_secret',
    enableAnalytics: true, // Defaults to true
    enableCrashes: true, // Defaults to true
    enableDistribute: true, // Defaults to false
    usePrivateDistributeTrack: false, // Defaults to false
    disableAutomaticCheckForUpdate: false, // Defaults to false
  );

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Plugin example app'),
        ),
        body: Center(
          child: Text('App center SDK test'),
        ),
      ),
    );
  }
}

Turn feature on / off at runtime

You can dynamically enable or disable specific features like Analytics, Crashes, and Distribute during runtime as shown below:

await AppCenter.configureAnalyticsAsync(enabled: true);

await AppCenter.configureCrashesAsync(enabled: true);

await AppCenter.configureDistributeAsync(enabled: true);

// Android Only
await AppCenter.configureDistributeDebugAsync(enabled: true); 

// Manually check for update
await AppCenter.checkForUpdateAsync();

Track Events

To track custom events within your application:

await AppCenter.trackEventAsync('my event', <String, String> {
  'prop1': 'value1',
  'prop2': 'value2',
});

Complete Example

Here’s a complete example integrating all the above aspects into a simple Flutter application:

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

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // Initialize AppCenter with secrets from AppCenter dashboard
  await AppCenter.startAsync(
    appSecretAndroid: "your_android_secret",
    appSecretIOS: "your_ios_secret",
    enableAnalytics: true,
    enableCrashes: true,
    enableDistribute: true,
  );

  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();

    // Optionally configure services after initialization
    AppCenter.configureAnalyticsAsync(enabled: true);
    AppCenter.configureCrashesAsync(enabled: true);
    AppCenter.configureDistributeAsync(enabled: true);
    AppCenter.configureDistributeDebugAsync(enabled: true); // Android Only

    // Track an event when the app starts
    AppCenter.trackEventAsync('AppStart', <String, String> {
      'Platform': 'Flutter',
      'Version': '1.0.0',
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              Text('App center SDK test'),
              ElevatedButton(
                onPressed: () async {
                  // Manually check for updates
                  await AppCenter.checkForUpdateAsync();
                },
                child: Text('Check for Updates'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Make sure you replace "your_android_secret" and "your_ios_secret" with actual secrets obtained from the AppCenter dashboard for your applications.

This guide should help you integrate and utilize app_center_bundle_sdk in your Flutter projects effectively.


更多关于Flutter应用中心集成插件app_center_bundle_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter应用中心集成插件app_center_bundle_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter应用中集成app_center_bundle_sdk插件,可以帮助你实现应用中心相关的功能。以下是一个基本的代码案例,展示了如何在Flutter项目中集成和使用这个插件。

1. 添加依赖

首先,你需要在pubspec.yaml文件中添加app_center_bundle_sdk的依赖。确保你的Flutter环境已经配置正确,然后打开你的pubspec.yaml文件,并添加以下依赖:

dependencies:
  flutter:
    sdk: flutter
  app_center_bundle_sdk: ^最新版本号  # 请替换为实际的最新版本号

然后运行flutter pub get来获取依赖。

2. 配置Android和iOS

Android

对于Android,通常不需要额外的配置,因为插件会自动处理大部分集成工作。但是,确保你的AndroidManifest.xml文件中已经包含了必要的权限和配置(如果有的话)。

iOS

对于iOS,你可能需要在Info.plist中添加一些配置,具体取决于app_center_bundle_sdk插件的要求。此外,你可能还需要在Podfile中添加一些配置来确保CocoaPods能够正确解析和安装依赖。

3. 初始化插件

在你的Flutter应用的入口文件(通常是main.dart)中,初始化app_center_bundle_sdk插件。以下是一个简单的初始化示例:

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

void main() {
  // 初始化插件
  AppCenterBundleSdk.instance.init();

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter App Center Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('App Center Demo'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            // 调用插件提供的方法,例如检查更新
            AppCenterBundleSdk.instance.checkForUpdates().then((result) {
              // 处理结果
              print('Update check result: $result');
            }).catchError((error) {
              // 处理错误
              print('Error checking for updates: $error');
            });
          },
          child: Text('Check for Updates'),
        ),
      ),
    );
  }
}

4. 使用插件功能

在上面的代码中,我们展示了如何初始化app_center_bundle_sdk插件,并在按钮点击时调用checkForUpdates方法来检查应用更新。当然,app_center_bundle_sdk插件可能提供了更多的功能,比如下载更新、安装更新等,你需要参考插件的官方文档来了解并使用这些功能。

注意事项

  • 确保你阅读并遵循了app_center_bundle_sdk插件的官方文档,因为不同版本的插件可能会有不同的API和配置要求。
  • 在生产环境中,务必进行充分的测试,以确保插件的稳定性和兼容性。
  • 如果遇到任何问题,可以查看插件的GitHub仓库或社区论坛寻求帮助。

以上就是在Flutter应用中集成和使用app_center_bundle_sdk插件的基本步骤和代码示例。希望这对你有所帮助!

回到顶部