Flutter应用分发插件firebase_app_distribution的使用

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

Flutter应用分发插件firebase_app_distribution的使用

firebase_app_distribution 插件用于检测托管在Firebase应用分发上的应用程序的新版本。

使用

以下是一些主要的方法:

/// 检查是否有新版本可用,并提示用户更新。
/// 如果用户尚未作为测试者登录,则此方法将邀请用户成为测试者。
Future<void> updateIfNewReleaseAvailable()

/// 检查是否有新版本可用。
Future<bool> isNewReleaseAvailable()

/// 检查测试者是否已登录。
Future<bool> isTesterSignedIn()

/// 登录测试者,不自动检查更新。
Future<void> signInTester()

/// 注销测试者,不自动检查更新。
Future<void> signOutTester()

示例代码

以下是一个完整的示例,演示如何使用 firebase_app_distribution 插件进行应用分发。

步骤1:添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  firebase_core: ^2.10.0
  firebase_app_distribution: ^0.1.0

确保你已经配置了 Firebase 并初始化了 Firebase SDK。

步骤2:初始化Firebase

在应用启动时初始化 Firebase。通常在 main.dart 中:

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

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MyApp());
}

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

步骤3:使用firebase_app_distribution插件

创建一个页面来处理登录、注销和检查更新的操作:

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

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  bool _isNewReleaseAvailable = false;
  bool _isTesterSignedIn = false;

  @override
  void initState() {
    super.initState();
    checkForUpdates();
  }

  Future<void> checkForUpdates() async {
    // 检查是否有新版本可用
    final bool isNewReleaseAvailable = await FirebaseAppDistribution.isNewReleaseAvailable();
    setState(() {
      _isNewReleaseAvailable = isNewReleaseAvailable;
    });

    // 如果有新版本,提示用户更新
    if (isNewReleaseAvailable) {
      await FirebaseAppDistribution.updateIfNewReleaseAvailable();
    }
  }

  Future<void> loginTester() async {
    // 登录测试者
    await FirebaseAppDistribution.signInTester();
    setState(() {
      _isTesterSignedIn = true;
    });
  }

  Future<void> logoutTester() async {
    // 注销测试者
    await FirebaseAppDistribution.signOutTester();
    setState(() {
      _isTesterSignedIn = false;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Firebase App Distribution'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            ElevatedButton(
              onPressed: _isTesterSignedIn ? null : loginTester,
              child: Text(_isTesterSignedIn ? '已登录' : '登录测试者'),
            ),
            ElevatedButton(
              onPressed: _isTesterSignedIn ? logoutTester : null,
              child: Text(_isTesterSignedIn ? '注销测试者' : '未登录'),
            ),
            SizedBox(height: 20),
            ElevatedButton(
              onPressed: _isNewReleaseAvailable ? checkForUpdates : null,
              child: Text(_isNewReleaseAvailable ? '更新应用' : '无新版本'),
            ),
          ],
        ),
      ),
    );
  }
}

贡献

贡献指南:

  • ❌ 分叉仓库
  • ❌ 将更改推送到你的分叉
  • ❌ 在你的应用中,在 pubspec.yaml 文件中指向你的分叉:
dependencies:
  ...
  firebase_app_distribution:
    git:
      ref: main
      url: https://github.com/YOUR_GITHUB/firebase_app_distribution.git

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

1 回复

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


firebase_app_distribution 是一个用于将 Flutter 应用分发给测试人员的插件。它允许开发者将应用程序的测试版本直接分发到测试人员的设备上,并且与 Firebase 紧密集成,提供了简单而强大的分发流程。

安装与配置

1. 添加依赖

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

dependencies:
  firebase_app_distribution: ^1.0.0  # 请根据实际情况选择最新版本

然后运行 flutter pub get 来安装依赖。

2. 配置 Firebase 项目

在 Firebase 控制台中创建一个新项目(如果还没有),然后添加你的 Flutter 应用。

  • 打开 Firebase 控制台
  • 点击 “添加项目”,然后按照提示创建一个新项目。
  • 在项目中,点击 “添加应用”,选择 AndroidiOS,并按照步骤添加你的应用。
  • 下载 google-services.json(对于 Android)或 GoogleService-Info.plist(对于 iOS)文件,并将它们分别放在你的 Flutter 项目的以下位置:
    • Android: android/app/
    • iOS: ios/Runner/

3. 配置 Android 项目

android/app/build.gradle 文件中,确保已经应用了 google-services 插件:

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'  // 添加这行

同时,在 android/build.gradle 文件中,确保添加了 Google 服务依赖:

buildscript {
    dependencies {
        classpath 'com.google.gms:google-services:4.3.10'  // 确保使用最新版本
    }
}

4. 配置 iOS 项目

对于 iOS,确保你已经将 GoogleService-Info.plist 文件添加到 ios/Runner/ 目录中,并且在 ios/Runner.xcodeproj/project.pbxproj 文件中正确配置了 Firebase。

使用 firebase_app_distribution 插件

1. 初始化插件

在你的 Flutter 代码中,导入并初始化 firebase_app_distribution 插件:

import 'package:firebase_app_distribution/firebase_app_distribution.dart';

final firebaseAppDistribution = FirebaseAppDistribution.instance;

2. 检查更新

你可以在应用的某个地方检查是否有新版本的分发:

Future<void> checkForUpdate() async {
  try {
    bool updateAvailable = await firebaseAppDistribution.checkForUpdate();
    if (updateAvailable) {
      // 提示用户更新
      print("A new version is available!");
    } else {
      print("No updates available.");
    }
  } catch (e) {
    print("Error checking for updates: $e");
  }
}

3. 分发应用

要将应用分发给测试人员,可以使用 Firebase 控制台或 Firebase CLI。

通过 Firebase 控制台:

  1. 在 Firebase 控制台中,进入你的项目。
  2. 导航到 App Distribution
  3. 点击 上传应用程序,然后选择你的 APK 或 IPA 文件。
  4. 上传完成后,你可以选择测试人员或将应用发布给特定群组。

通过 Firebase CLI:

  1. 安装 Firebase CLI:

    npm install -g firebase-tools
  2. 登录 Firebase:

    firebase login
  3. 分发应用:

    对于 Android:

    firebase appdistribution:distribute path/to/your/app.apk \
      --app 1:1234567890:android:abcdef1234567890 \
      --testers-file testers.txt

    对于 iOS:

    firebase appdistribution:distribute path/to/your/app.ipa \
      --app 1:1234567890:ios:abcdef1234567890 \
      --testers-file testers.txt
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!