实战|使用环信Flutter SDK构建鸿蒙HarmonyOS应用及推送配置

本文为大家介绍如何在 Flutter 环境创建 Harmony 项目并集成环信即时通讯IM以及环信 Flutter Harmony 推送配置。

已经基于环信的 Flutter 项目也可以参考本文适配鸿蒙端。

一、开发环境要求
前置条件

1.安装DevEco-Studio
2.安装模拟器
DevEco-Studio 下载与操作指导

oh环境变量
export TOOL_HOME=/Applications/DevEco-Studio.app/Contents # mac环境
export DEVECO_SDK_HOME=$TOOL_HOME/sdk # command-line-tools/sdk
export PATH=$TOOL_HOME/tools/ohpm/bin:$PATH # command-line-tools/ohpm/bin
export PATH=$TOOL_HOME/tools/hvigor/bin:$PATH # command-line-tools/hvigor/bin
export PATH=$TOOL_HOME/tools/node/bin:$PATH # command-line-tools/tool/node/bin
Flutter 环境变量
export PATH="$HOME/Settings/flutter/bin:$PATH"
环境验证
flutter doctor
成功结果
[!] Flutter (Channel oh-3.22.0, 3.22.1-0.0.pre.32, on macOS 14.5 23F79
    darwin-arm64, locale zh-Hans-CN)
    ! Upstream repository git.com:harmonycommando_flutter/flutter.git is
      not a standard remote.
      Set environment variable "FLUTTER_GIT_URL" to
      git.com:harmonycommando_flutter/flutter.git to dismiss this error.
[] HarmonyOS toolchain - develop for HarmonyOS devices
[] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
[] Xcode - develop for iOS and macOS (Xcode 16.0)
[] Chrome - develop for the web
[] Android Studio (version 2024.1)
[] VS Code (version 1.97.2)

至此说明环境已经搭建成功

二、鸿蒙im_flutter_sdk快速入门
向已存在的项目中添加鸿蒙支持

需要先进入到项目中,之后执行命令

flutter create  --platforms=ohos .

注意:后面有.
如果之前设置了org,此时可能会报org冲突,此时需要在命令中指定 org。

flutter create  --platforms=ohos . --org="xxx.xxx"

其中 xxx.xxx 为您 org 的名称。

新建支持鸿蒙的项目
flutter create new_project_name --org="xxx.xxx" --platforms=ios,android,ohos
添加 im_flutter_sdk

自 SDK 4.13.0 开始支持鸿蒙。若要在鸿蒙平台使用,需进行以下配置:

1、使用支持鸿蒙的 Flutter,详情请参见相关文档
2、在工程的 pubspec.yaml 中添加 sdk 依赖。或在环信官网下载IM Flutter SDK

im_flutter_sdk: ^4.13.0
im_flutter_sdk_ohos:
  git:
    url: "https://github.com/easemob/im_flutter_sdk_oh.git"
    ref: 1.5.3
修改 useNormalizedOHMUrl 模式

因为 环信 sdk 只支持 useNormalizedOHMUrl模式,需要在你的项目中配置 useNormalizedOHMUrl 为 true
打开 app/ohos/build-profile.json5 文件,找到 app:products:, 并向其中添加 buildOption

"products": [
  {
    "name": "default",
    "signingConfig": "default",
    "compatibleSdkVersion": "5.0.0(12)",
    "runtimeOS": "HarmonyOS",
    // 添加内容
    "buildOption": {
      "strictMode": {
        "useNormalizedOHMUrl": true
      }
    }
  }
]

运行项目时需要先 build hap包。 执行

flutter build hap --debug

注意:使用Visual studio code 可能会出现识别不到harmony 模拟器的情况
进入项目运行

flutter run

选择要执行的设备

[1]: sdk gphone64 arm64 (emulator-5556)
[2]: iPhone 15 Pro (99ECBD72-FCB5-4FD1-ADC8-0E0D52AE9B70)
[3]: Mac Designed for iPad (mac-designed-for-ipad)
Please choose one (or "q" to quit): 

至此成功集成了环信Flutter Harmony

三、推送配置
在Flutter层初始化的时候进行配置AppID
 EMOptions options = EMOptions.withAppKey(
      "appkey",
      extSettings: {
        ExtSettings.kAppIDForOhOS: "appid",
      },

    );

harmony 检查包名是否与开放平台一致

project--->AppScope--->appjson5--->bundleName
手动签名

手动签名参考华为开发文档

手动配置签名信息

1、点击DevEco Studio右上角的File 打开Project Structure窗口,进入Signing Config页签,取消勾选Automatically generate signature
Signing下分别配置密钥(.p12文件)、Profile(.p7b文件)和数字证书(.cer文件)的路径等信息。

2、勾选Show restricted permissions,即可看到配置成功的权限。
3、配置完毕后,点击Apply
4、进入工程级build-profile.json5文件,在signingConfigs下可查看到配置成功的签名信息,点击右上角的Run按钮运行应用/元服务。

至此,我们完成了环信Flutter Harmony 集成与推送。通过本次环信Flutter Harmony项目的实践,我们不仅掌握了在Flutter环境下创建鸿蒙项目的基本流程,还深入了解了环信推送在鸿蒙系统上的配置与应用,这是一次富有挑战性和收获性的探索之旅。

帮助文档:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值