Flutter集成Appsonair服务插件appsonair_flutter_sdk的使用

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

Flutter集成Appsonair服务插件appsonair_flutter_sdk的使用

安装

在项目的 pubspec.yaml 文件中添加以下依赖:

dependencies:
  appsonair_flutter_sdk: ^0.2.2

然后在 Dart 文件中导入插件:

import 'package:appsonair_flutter_sdk/apps_on_air_service.dart';

集成

首先,在初始化 MaterialApp 之后调用以下代码。如果要使用默认(原生)UI,则将 showNativeUI 设置为 true;如果要使用自定义 UI,则将其设置为 false

void main() async {
  AppsOnAir.setAppId('*********-e640-477c-aa48-***********', showNativeUI: true); ///appId From https://appsonair.com/
  WidgetsFlutterBinding.ensureInitialized();
  runApp(const MyApp());
}

如果要使用默认(原生)UI,可以这样调用:

AppsOnAir.checkForAppUpdate(
  context,
);

如果要使用自定义 UI,则可以这样调用:

AppsOnAir.checkForAppUpdate(
  context,
  customWidget: (response) {
    /// 返回你的自定义小部件
    return Container();
  },
);

使用

要使用此插件,请参阅核心使用文档

应用更新模式(Android / iOS)

该功能允许你直接通过AoA配置应用的版本更新。

如果要在Android/iOS上向用户显示应用更新对话框,需要执行以下步骤:

  1. 转到应用详情页面,从应用仪表板。
  2. 在应用详情页面,转到应用服务标签,然后转到更新标签。
  3. 使用开关启用Android和/或iOS的更新,并填写所需信息。
  4. 设置详细信息:
    • 默认模式是软更新,用户会收到任何可用更新的通知,并可以选择更新或跳过。
    • 如果启用了强制更新模式,用户将收到可用更新的通知,并必须强制安装更新。
    • 最低构建版本:如果安装的应用版本低于AOA仪表板中提到的最低构建版本,则用户将收到应用更新对话框。
    • 商店链接:如果用户点击更新按钮,它将重定向用户到相关的商店链接。

更多细节请访问Android/iOS更新模式文档

维护模式

如果项目需要进入维护模式以修复部署问题、错误修复或项目升级,AoA维护模式将帮助你。以下是配置应用维护模式的方法:

  1. 进入你要配置维护模式的应用。
  2. 在应用详情页面,转到应用服务标签,然后转到维护模式标签。
  3. 使用开关启用此模式。
  4. 启用后,填写必要信息并点击保存按钮。此时应用已进入维护模式。
  5. 如果用户打开应用,它将显示一个维护屏幕,不会让用户使用任何移动应用功能。

更多细节请访问维护模式文档

问题与反馈

如需报告FlutterFire相关的问题、错误或功能请求,请在我们的问题跟踪器中提交。

示例代码

以下是完整的示例代码:

import 'package:appsonair_flutter_sdk/apps_on_air_service.dart';
import 'package:flutter/material.dart';

void main() async {
  AppsOnAir.setAppId('*********-e640-477c-aa48-***********', showNativeUI: true);
  WidgetsFlutterBinding.ensureInitialized();
  runApp(const MyApp());
}

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

  [@override](/user/override)
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  [@override](/user/override)
  void initState() {
    super.initState();
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('插件示例应用'),
        ),
        body: const DemoApp(),
      ),
    );
  }
}

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

  [@override](/user/override)
  State<DemoApp> createState() => _DemoAppState();
}

class _DemoAppState extends State<DemoApp> {
  [@override](/user/override)
  void initState() {
    AppsOnAir.checkForAppUpdate(
      context,

      /// 使用自定义小部件只有在你想使用自定义UI时,确保传递 `showNativeUI` 参数为 `false`
      customWidget: (response) {
        return Column(children: [
          Text("应用程序名称 : ${response["appName"]}"),
          Text(
            "应用程序版本 : ${response["updateData"]["androidBuildNumber"]}",
          ),
          MaterialButton(
            onPressed: () {},
          )
        ]);
      },
    );
    super.initState();
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(),
    );
  }
}

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

1 回复

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


在Flutter项目中集成appsonair_flutter_sdk插件,可以让你的应用使用Appsonair服务,如实时更新、A/B测试等功能。以下是一个基本的集成步骤和代码示例,展示如何在Flutter应用中集成并使用appsonair_flutter_sdk

1. 添加依赖

首先,在你的pubspec.yaml文件中添加appsonair_flutter_sdk依赖:

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

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

2. 初始化插件

在你的Flutter应用的入口文件(通常是main.dart)中,导入appsonair_flutter_sdk并进行初始化。你需要提供Appsonair服务的SDK Key。

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

void main() {
  // 初始化Appsonair SDK
  AppsonairFlutter.initialize(
    sdkKey: '你的Appsonair SDK Key',  // 请替换为你的实际SDK Key
    onInitializationComplete: (success) {
      if (success) {
        print('Appsonair SDK 初始化成功');
      } else {
        print('Appsonair SDK 初始化失败');
      }
    },
  );

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter App with Appsonair',
      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('Appsonair Integration'),
      ),
      body: Center(
        child: Text('Check the console for Appsonair SDK initialization status.'),
      ),
    );
  }
}

3. 使用Appsonair功能

一旦SDK初始化成功,你可以使用Appsonair提供的各种功能,比如获取配置、进行A/B测试等。以下是一个获取配置的简单示例:

// 在你的某个组件或方法中调用获取配置的方法
void fetchConfiguration() async {
  try {
    var config = await AppsonairFlutter.getConfig();
    print('获取到的配置: $config');
    // 根据获取到的配置更新UI或执行其他逻辑
  } catch (e) {
    print('获取配置失败: $e');
  }
}

你可以在MyHomePage的某个按钮点击事件中调用fetchConfiguration方法,以便在实际应用中测试配置获取功能。

// 在_MyHomePageState类中添加一个按钮来调用fetchConfiguration方法
class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Appsonair Integration'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text('Check the console for Appsonair SDK initialization status.'),
            SizedBox(height: 20),
            ElevatedButton(
              onPressed: fetchConfiguration,
              child: Text('获取配置'),
            ),
          ],
        ),
      ),
    );
  }
}

注意事项

  • 确保你的Appsonair SDK Key是正确的,并且已经在Appsonair平台上配置了相应的应用信息。
  • 根据实际需求,查阅Appsonair Flutter SDK的官方文档,了解更多高级功能和配置选项。
  • 在实际发布前,进行充分的测试以确保所有功能按预期工作。

通过上述步骤,你应该能够在Flutter应用中成功集成并使用appsonair_flutter_sdk插件。

回到顶部