当前位置: 首页 > 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下载
http://www.xdnf.cn/news/793.html

相关文章:

  • vue MarkdownIt标签多出了<p>标签导致高度变丑
  • 前端路由缓存实现
  • ServletContextAttributeListener 的用法笔记250417
  • MYSQL “Too Many Connections“ 错误解决
  • 【Python入门】文件读取全攻略:5种常用格式(csv/excel/word/ppt/pdf)一键搞定 | 附完整代码示例
  • Java基础系列-LinkedList源码解析
  • Vue项目Webpack Loader全解析:从原理到实战配置指南
  • MYOJ_11700(UVA10591)Happy Number(快乐数)(超快解法:图论思想解题)
  • JVM考古现场(二十二):降维打击·用二向箔优化内存模型
  • android如何在生产环境中做到详实的日志收集而不影响性能?
  • 算法之贪心算法
  • 【音视频】音视频FLV合成实战
  • Pikachu靶场-CSRF
  • Golang errors 包快速上手
  • 使用Qt multimedia模块实现简易的视频播放器
  • AI在能源消耗管理及能源效率提升中的核心应用场景及技术实现
  • Java性能剖析工具箱
  • 数据结构——反射、枚举以及lambda表达式
  • Qt 性能优化总结
  • Django 实现物联网管理系统的详细方案
  • 使用 OpenRewrite 简化 Java 和 SpringBoot 迁移
  • SDL基础
  • MATLAB 控制系统设计与仿真 - 34
  • 机器学习 | 细说Deep Q-Network(DQN)
  • 学习笔记十六——Rust Monad从头学
  • 【音视频】FLV格式分析
  • 让SQL飞起来:搭建企业AI应用的SQL性能优化实战
  • 2025年4月16日华为留学生笔试第二题200分
  • VS2022+QT环境配置及基本操作
  • Prometheus thanos架构