Flutter新版本通知插件at_newversion_notification的使用

Flutter新版本通知插件at_newversion_notification的使用

概述

at_newversion_notification 是一个用于在 Flutter 应用中提醒用户更新应用的插件。通过弹出窗口,用户可以轻松导航到相应的商店(如 App Store 或 Play Store)来更新应用。

UI

弹窗的界面是一个简单的卡片。

安装

首先,在 pubspec.yaml 文件中添加 at_newversion_notification 作为依赖项。

dependencies:
  at_newversion_notification: ^0.0.2

然后运行 flutter pub get 命令以安装该插件。

使用

以下是使用 at_newversion_notification 插件的具体步骤:

  1. main.dart 或其他文件中,首先在 initState() 方法中创建 AtNewVersionNotification 类的实例。

    final AtNewVersionNotification atNewVersionNotification = AtNewVersionNotification(
        iOSAppId: 'com.example.yourapp', // 替换为你的iOS应用包名
        androidAppId: 'com.example.yourapp', // 替换为你的Android应用包名
        minimumVersion: '1.0.0' // 替换为你希望强制用户更新的最小版本号
    );
    
  2. 调用 showAlertDialog 方法显示弹窗。

    atNewVersionNotification.showAlertDialog(context: context);
    

如果商店中有更新版本的应用,启动应用时将出现一个包含更新选项的弹窗。点击更新按钮后,用户将被重定向到相应的商店(App Store 或 Play Store)。

示例代码

以下是一个完整的示例代码,展示了如何使用 at_newversion_notification 插件。

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:at_newversion_notification/at_newversion_notification.dart'; // 确保你已经添加了依赖项

class Example extends StatefulWidget {
  const Example({Key? key}) : super(key: key);

  [@override](/user/override)
  _ExampleState createState() => _ExampleState();
}

class _ExampleState extends State<Example> {
  [@override](/user/override)
  void initState() {
    super.initState();

    final AtNewVersionNotification atNewVersionNotification = AtNewVersionNotification(
        iOSAppId: 'com.example.yourapp', // 替换为你的iOS应用包名
        androidAppId: 'com.example.yourapp', // 替换为你的Android应用包名
        minimumVersion: '1.0.0' // 替换为你希望强制用户更新的最小版本号
    );

    atNewVersionNotification.showAlertDialog(context: context);
  }

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

更多关于Flutter新版本通知插件at_newversion_notification的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter新版本通知插件at_newversion_notification的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中使用at_newversion_notification插件的详细步骤和相关代码示例。这个插件主要用于在应用有新版本时向用户展示通知。

1. 添加依赖

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

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

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

2. 导入插件

在你的Dart文件中导入插件:

import 'package:at_newversion_notification/at_newversion_notification.dart';

3. 初始化插件

在应用启动时,你可以初始化插件并设置新版本信息。例如,在main.dart中:

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

void main() {
  runApp(MyApp());
}

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

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

class _MyHomePageState extends State<MyHomePage> {
  @override
  void initState() {
    super.initState();
    // 初始化新版本通知插件
    initNewVersionNotification();
  }

  void initNewVersionNotification() {
    // 模拟新版本信息
    final newVersion = NewVersion(
      version: "2.0.0",  // 新版本号
      changeLog: "新增功能A,修复了B问题",  // 更新日志
      forceUpdate: false,  // 是否强制更新
      updateUrl: "https://example.com/download",  // 下载地址(可选)
    );

    // 配置并显示新版本通知
    AtNewVersionNotification.instance.init(
      context: context,
      newVersion: newVersion,
      onConfirm: () async {
        // 用户确认更新时的回调,可以在这里处理跳转到下载页面等逻辑
        // 例如:
        // await launchUrl(Uri.parse(newVersion.updateUrl!));
        print("User confirmed the update.");
      },
      onCancel: () {
        // 用户取消更新时的回调
        print("User cancelled the update.");
      },
    );

    // 检查当前版本是否需要更新
    AtNewVersionNotification.instance.checkVersion(newVersion: newVersion);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("新版本通知示例"),
      ),
      body: Center(
        child: Text("检查新版本通知"),
      ),
    );
  }
}

// 定义新版本信息的类(如果需要自定义)
class NewVersion {
  final String version;
  final String changeLog;
  final bool forceUpdate;
  final String? updateUrl;

  NewVersion({
    required this.version,
    required this.changeLog,
    required this.forceUpdate,
    this.updateUrl,
  });
}

4. 处理通知逻辑

在上面的代码中,initNewVersionNotification方法初始化了插件并设置了新版本信息。AtNewVersionNotification.instance.checkVersion方法用于检查当前版本是否需要更新,并根据需要显示通知。

用户点击确认更新或取消更新时,会分别调用onConfirmonCancel回调,你可以在这些回调中处理相应的逻辑,例如跳转到下载页面或显示提示信息。

注意事项

  1. 权限处理:如果你的应用需要在后台显示通知,请确保在Android和iOS平台上正确配置了通知权限。
  2. 自定义样式:插件通常允许自定义通知的样式和内容,具体可以参考插件的官方文档。
  3. 版本控制:确保在发布新版本时,更新pubspec.yaml中的版本号,并在代码中正确设置新版本信息。

通过这些步骤,你就可以在Flutter应用中使用at_newversion_notification插件来展示新版本通知了。希望这些信息对你有帮助!

回到顶部