当前位置: 首页 > news >正文

实战|使用环信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 23F79darwin-arm64, locale zh-Hans-CN)! Upstream repository git.com:harmonycommando_flutter/flutter.git isnot a standard remote.Set environment variable "FLUTTER_GIT_URL" togit.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环境下创建鸿蒙项目的基本流程,还深入了解了环信推送在鸿蒙系统上的配置与应用,这是一次富有挑战性和收获性的探索之旅。

帮助文档:

  • 注册环信即时通讯IM
  • 环信IM集成文档
  • 环信即时通讯IM SDK下载

相关文章:

  • 首席人工智能官(Chief Artificial Intelligence Officer,CAIO)的详细解析
  • 【Linux】第九章 控制服务和守护进程
  • 常见的低代码策略整理
  • Hbuilder 上的水印相机实现方案 (vue3 + vite + hbuilder)
  • Unity URP Moblie AR示例工程,真机打包出来,没阴影
  • iOS15描述文件在哪下载?iOS15测试版描述文件下载与升级教程
  • 笔试专题(十)
  • 再论火车实验-11
  • 合成数据赋能AI:从生成到闭环的全景图谱
  • SAP HANA使用命令行快速导出导入
  • 设计模式入门:从 GoF 分类到 SOLID 原则实战
  • 08软件测试需求分析案例-删除用户
  • EuroCropsML:首个面向少样本时间序列作物分类的多国基准数据集
  • Qt核心知识总结
  • TDengine 存储引擎剖析:数据文件与索引设计(一)
  • 用于协同显著目标检测的小组协作学习 2021 GCoNet(翻译)
  • 【17】数据结构之图及图的存储篇章
  • STL简介(了解)
  • 前端面试题---GET跟POST的区别(Ajax)
  • Linux:显示 -bash-4.2$ 问题(CentOS 7)
  • 人民日报任平:从“地瓜经济”理论到民营经济促进法,读懂中国经济的成长壮大之道
  • 完善劳动关系协商协调机制,《共同保障劳动者合法权益工作指引》发布
  • 山东发布高温橙警:预计19日至21日局地可达40℃
  • 常州新型碳材料集群产值近二千亿,请看《浪尖周报》第24期
  • 荣盛发展:新增未支付债务11.05亿元
  • 大环线呼之欲出,“金三角”跑起来了