Flutter应用分发插件firebase_app_distribution_ios的使用

firebase_app_distribution #

此Flutter插件用于检测Firebase应用分发上是否有新的版本。

使用方法 #

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

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

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

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

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

示例代码 #

以下是一个完整的示例,展示了如何使用firebase_app_distribution插件来检测并提示用户更新应用。

// 导入必要的包
import 'package:flutter/material.dart';
import 'package:firebase_app_distribution/firebase_app_distribution.dart';

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

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Firebase App Distribution 示例'),
        ),
        body: Center(
          child: UpdateButton(),
        ),
      ),
    );
  }
}

class UpdateButton extends StatefulWidget {
  [@override](/user/override)
  _UpdateButtonState createState() => _UpdateButtonState();
}

class _UpdateButtonState extends State<UpdateButton> {

  bool _isNewReleaseAvailable = false;

  [@override](/user/override)
  void initState() {
    super.initState();
    // 初始化时检查是否有新版本
    checkForNewRelease();
  }

  Future<void> checkForNewRelease() async {
    try {
      // 检查是否有新版本
      final bool isNewRelease = await FirebaseAppDistribution.isNewReleaseAvailable();
      setState(() {
        _isNewReleaseAvailable = isNewRelease;
      });
    } catch (e) {
      print('检查新版本失败: $e');
    }
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return ElevatedButton(
      onPressed: () {
        // 按钮点击时检查新版本并提示用户更新
        updateIfNewRelease();
      },
      child: Text(_isNewReleaseAvailable ? '有新版本,点击更新' : '检查更新'),
    );
  }

  Future<void> updateIfNewRelease() async {
    try {
      // 检查是否有新版本并提示用户更新
      await FirebaseAppDistribution.updateIfNewReleaseAvailable();
    } catch (e) {
      print('更新失败: $e');
    }
  }
}

贡献指南 #

  • ❌ Fork 仓库
  • ❌ 在你的分支上推送一些更改
  • ❌ 在你自己的应用中,在pubspec.yaml文件中指向你的分支,像这样:
dependencies:
  ...
  firebase_app_distribution:
    git:
      ref: main
      url: https://github.com/YOUR_GITHUB/firebase_app_distribution.git
  • ❌ 在你自己的应用中测试你的贡献
  • ❌ 提交包含测试记录的拉取请求 🙏

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

1 回复

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


firebase_app_distribution_ios 是一个 Flutter 插件,用于将 Flutter 应用分发到 iOS 设备上进行测试。它允许开发者通过 Firebase App Distribution 将应用分发给测试人员。以下是使用该插件的详细步骤:

1. 创建 Firebase 项目

首先,你需要在 Firebase 控制台中创建一个新的项目。

  1. 打开 Firebase 控制台
  2. 点击“添加项目”并按照提示创建项目。
  3. 在项目创建完成后,点击“添加应用”并选择 iOS 平台。

2. 配置 iOS 应用

在 Firebase 控制台中,配置 iOS 应用时,你需要提供应用的 Bundle ID。确保 Bundle ID 与你的 Flutter 项目中的 ios/Runner/Info.plist 文件中的 CFBundleIdentifier 一致。

3. 下载 GoogleService-Info.plist 文件

在 Firebase 控制台中配置 iOS 应用后,下载 GoogleService-Info.plist 文件,并将其添加到你的 Flutter 项目的 ios/Runner 目录中。

4. 添加 Firebase 依赖

pubspec.yaml 文件中添加 firebase_app_distribution_ios 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  firebase_app_distribution_ios: ^0.1.0 # 使用最新版本

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

5. 配置 iOS 项目

ios/Podfile 文件中,确保你添加了 Firebase 相关的依赖:

target 'Runner' do
  use_frameworks!
  
  # Pods for Runner
  pod 'Firebase/Core'
  pod 'FirebaseAppDistribution'
end

然后运行 pod install 来安装依赖。

6. 初始化 Firebase

ios/Runner/AppDelegate.swift 文件中,初始化 Firebase:

import UIKit
import Flutter
import Firebase

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    FirebaseApp.configure()
    GeneratedPluginRegistrant.register(with: self)
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}

7. 分发应用

在 Flutter 项目中,你可以使用 firebase_app_distribution_ios 插件来分发应用。以下是一个简单的示例:

import 'package:firebase_app_distribution_ios/firebase_app_distribution_ios.dart';

void distributeApp() async {
  final firebaseAppDistribution = FirebaseAppDistributionIOS();

  try {
    await firebaseAppDistribution.checkForUpdate();
    await firebaseAppDistribution.signInTester();
    await firebaseAppDistribution.updateApp();
  } catch (e) {
    print('Error: $e');
  }
}

8. 构建和分发

在终端中运行以下命令来构建 iOS 应用并分发到 Firebase App Distribution:

flutter build ios --release
flutter pub run firebase_app_distribution_ios:distribute
回到顶部