在 Flutter 跨平台开发中,tencent_kit 插件为 Android、iOS 及 HarmonyOS 提供了统一的腾讯(QQ)SDK 接入能力。针对 HarmonyOS 平台,该插件受底层 SDK 限制,仅支持服务端模式登录及部分基础功能,本文将严格遵循 pub.dev 官方文档规范,详细拆解接入流程、核心功能实现及注意事项,帮助开发者规避常见报错。
一、核心能力说明(HarmonyOS 平台专属限制)
根据 tencent_kit 6.2.0 版本官方定义,HarmonyOS 平台仅支持以下 4 个核心方法,其他功能(如客户端直接登录、分享拓展类型等)暂不支持:
setIsPermissionGranted:设置权限授权状态(必须在注册应用前调用)registerApp:初始化并注册应用(关联腾讯开放平台 AppID)isQQInstalled:判断设备是否安装 QQ 客户端loginServerSide:服务端模式登录(唯一支持的登录方式,返回授权码用于后端换取 Token)
关键提醒:服务端模式下,插件返回的'授权码'存储在 TencentLoginResp.accessToken 字段中,不可直接当作客户端 Token 使用,需通过后端接口换取正式的 access_token 和 openid。
二、接入前置准备
2.1 环境要求
- Flutter 版本:支持 Flutter 2.5 及以上(兼容配置见下文)
- HarmonyOS 版本:支持 HarmonyOS NEXT 系统及以上(模拟器版本≥0.0.68 或真机)
- tencent_kit 版本:^6.2.0(最新稳定版)
- 开发工具:DevEco Studio 4.0+ + Android Studio/VS Code(Flutter 开发环境)
2.2 开发者资质与配置
- 腾讯开放平台配置:
- 登录 腾讯开放平台,创建鸿蒙平台应用,获取
AppID(纯数字字符串) - 完善应用配置:提交鸿蒙应用的
BundleName、签名指纹(参考应用签名配置方法),审核通过后生效
- 登录 腾讯开放平台,创建鸿蒙平台应用,获取
HarmonyOS 应用配置(module.json5):必须按以下格式配置 Scheme 和权限,否则 QQ 回调会失败(字段不可遗漏或修改):
{
"module": {
"name": "entry",
"type": "entry",
"package": "com.example.flutterharmony",
"versionCode": 1000000,

