Flutter App Installer 鸿蒙使用指南

1. 插件介绍

Flutter App Installer 是一个用于控制应用商店跳转和APK文件安装的 Flutter 插件。该插件提供了简洁的API,允许开发者在应用程序中轻松实现打开应用商店和安装APK文件的功能。

核心功能

  • 应用商店跳转:支持跳转到 Android、iOS 和 HarmonyOS 平台的应用商店
  • APK文件安装:支持直接安装本地APK文件
  • 跨平台支持:统一的API接口,支持 Android、iOS 和 HarmonyOS 平台
  • 简单易用:仅需几行代码即可实现应用商店跳转和APK安装功能

鸿蒙平台适配

本版本的 Flutter App Installer 是专门为 HarmonyOS 平台定制修改的版本,提供了完整的应用商店跳转和APK安装功能。所有核心 API 在 HarmonyOS 平台上都能正常工作,确保开发者能够获得一致的开发体验。

2. 包的引入

由于本版本的 Flutter App Installer 是自定义修改版本,需要通过 Git 形式引入。以下是在 Flutter 项目中引入该插件的步骤:

修改 pubspec.yaml

在项目的 pubspec.yaml 文件中的 dependencies 部分添加以下配置:

dependencies:
  flutter:
    sdk: flutter

  # 添加 App Installer 鸿蒙版本依赖
  app_installer_ohos:
    git:
      url: "https://gitcode.com/openharmony-sig/fluttertpc_app_installer.git"
      path: "ohos"

执行依赖获取

在项目根目录下执行以下命令,获取插件依赖:

flutter pub get

3. 权限配置

在 HarmonyOS 平台上使用 App Installer 插件需要添加特定的权限。请按照以下步骤进行配置:

修改 module.json5

打开项目 entry/src/main/module.json5 文件,在 requestPermissions 部分添加以下权限配置:

"requestPermissions": [
  {
    "name": "ohos.permission.ENTERPRISE_INSTALL_BUNDLE"
  }
]

该权限是安装应用所需的企业级安装权限,确保应用能够正常安装APK文件。

4. API 调用示例

Flutter App Installer 提供了简洁易用的 API,以下是常用功能的使用示例:

导入包

首先,在需要使用 App Installer 的 Dart 文件中导入包:

import 'package:app_installer_ohos/app_installer_ohos.dart';

跳转到应用商店

使用 goStore() 方法可以跳转到指定平台的应用商店:

// 跳转到应用商店
String androidAppId = 'com.example.android';   // Android 应用包名
String iOSAppId = '1234567890';                // iOS 应用 ID
String ohosAppId = 'com.example.ohos';         // HarmonyOS 应用 ID

AppInstaller.goStore(androidAppId, iOSAppId, ohosAppId);

跳转到应用商店评论页面

可以通过设置 review 参数为 true 跳转到应用商店的评论页面:

// 跳转到应用商店评论页面
AppInstaller.goStore(androidAppId, iOSAppId, ohosAppId, review: true);

安装APK文件

使用 installApk() 方法可以安装本地APK文件:

// 安装APK文件
String apkPath = '/sdcard/app/my_app.apk';   // APK文件路径
AppInstaller.installApk(apkPath);

完整示例

以下是一个完整的 Flutter Widget 示例,展示了如何使用 App Installer 插件:

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

void main() => runApp(MyApp());

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

class _MyAppState extends State<MyApp> {
  /// 应用市场信息
  String androidAppId = 'com.example.android';
  String iOSAppId = '1234567890';
  String ohosAppId = 'com.example.ohos';
  TextEditingController controller = TextEditingController();

  
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('App Installer 示例应用'),
        ),
        body: Center(
          child: Column(
            children: <Widget>[
              SizedBox(height: 80),
              TextButton.icon(
                onPressed: () {
                  // 跳转到应用商店
                  AppInstaller.goStore(androidAppId, iOSAppId, ohosAppId);
                },
                icon: Icon(Icons.store),
                label: Text('跳转到应用商店'),
              ),
              SizedBox(height: 40),
              TextField(
                controller: controller,
                decoration: InputDecoration(
                  hintText: '请输入APK文件地址:sdcard/app/xxx.apk',
                ),
              ),
              SizedBox(height: 40),
              TextButton.icon(
                onPressed: () {
                  // 安装APK文件
                  String apkPath = controller.text;
                  if (apkPath != null && apkPath != '') {
                    AppInstaller.installApk(apkPath);
                  }
                },
                icon: Icon(Icons.arrow_downward),
                label: Text('安装APK文件'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

5. 约束与限制

兼容性

本版本的 Flutter App Installer 在以下环境中已测试通过:

  1. Flutter: 3.7.12-ohos-1.1.3; SDK: 5.0.0(12); IDE: DevEco Studio: 5.1.0.828; ROM: 5.1.0.130 SP8;
  2. Flutter: 3.22.1-ohos-1.0.3; SDK: 5.0.0(12); IDE: DevEco Studio: 5.1.0.828; ROM: 5.1.0.130 SP8;

API 支持情况

所有核心 API 在 HarmonyOS 平台上都能正常工作:

API 方法描述HarmonyOS 支持情况
goStore(androidAppId, iOSAppId, ohosAppId, {review = false})跳转到应用商店
installApk(apkPath)安装APK文件

6. 总结

Flutter App Installer 是一个功能实用且易于使用的应用商店跳转和APK安装插件,为开发者提供了跨平台的应用分发能力。本定制版本特别为 HarmonyOS 平台进行了适配,确保在鸿蒙设备上能够正常工作。

使用场景

  • 应用内更新:在应用内部提供更新功能,下载APK后直接安装
  • 应用推广:通过跳转到应用商店的方式推广其他应用
  • 应用评价引导:引导用户到应用商店对应用进行评价
  • 企业应用分发:在企业内部应用中实现应用的快速安装和更新

优势

  • 简单易用:仅需几行代码即可实现应用商店跳转和APK安装功能
  • 跨平台兼容:同一套代码可在 Android、iOS 和 HarmonyOS 平台上运行
  • 鸿蒙适配:完全支持 HarmonyOS 平台的特性和权限要求
  • 灵活配置:支持自定义应用商店跳转和APK安装路径

通过使用 Flutter App Installer 插件,开发者可以轻松实现应用商店跳转和APK安装功能,提升用户体验,满足各种应用分发场景的需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值