Flutter 版腾讯(QQ)SDK
# 不需要做任何额外接入工作 # 配置已集成到脚本里 # 混淆已打入 Library,随 Library 引用,自动添加到 apk 打包混淆
暂不支持 SceneDelegate,详见文档 iOS_SDK环境搭建
# 不需要做任何额外接入工作 # 配置已集成到脚本里
- Universal Links
apple-app-site-association - 通过 https://${your applinks domain}/.well-known/apple-app-site-association 链接可访问
示例:
https://${your applinks domain}/universal_link/${example_app}/qq_conn/${appId}
{
"applinks": {
"apps": [],
"details": [
{
"appID": "${your team id}.${your app bundle id}",
"paths": [
"/universal_link/${example_app}/qq_conn/${your tencent app id}/*"
]
}
]
}
}
⚠️ 很多 SDK 都会用到 universal_link,可为不同 SDK 分配不同的 path 以作区分
- 当前在
HarmonyOS平台, 仅支持setIsPermissionGranted/registerApp/isQQInstalled/loginServerSide - 由于 SDK 限制,当前仅支持 Server-Side 模式登录,请调用
loginServerSide方法登录, 支持拉起 App 授权或 H5 授权 (qrcode 为 true 即可) - 为了 API 统一, Server-Side 模式授权返回的 auth code 存储在
TencentLoginResp.accessToken(不要当成客户端的 token 使用) - 详情阅读官方文档: harmonyos_sdk 环境搭建, 并阅读最后的说明
- 关于在后端使用 code 换取 access_token 的问题, 请参考官方文档: 通过Authorization Code获取Access Token ,
redirect_uri一般为auth://tauth.qq.com/
项目中 module.json5 的 "module" 节点下配置 querySchemes
"querySchemes": [ "https", "qqopenapi" ]
在 Ability 的 skills 节点中配置 scheme
"skills": [ { "entities": [ "entity.system.browsable" ], "actions": [ "ohos.want.action.viewData" ], "uris": [ { "scheme": "qqopenapi", // 接收 QQ 回调数据 "host": "102061317", // 业务申请的互联 appId "path": "auth", "linkFeature": "Login", } ] } ]
| 分享类型 | 说说(图/文/视频) | 文本 | 图片 | 音乐 | 视频 | 网页 |
|---|---|---|---|---|---|---|
| 不支持 | 不支持 | 支持 | 支持 | 不支持 | 支持 | |
| QZone | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 支持 |
- 注意
- 兼容
flutter 2.5 兼容问题 issues/54
post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) # 兼容 Flutter 2.5 target.build_configurations.each do |config| # config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0' config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'i386 arm64' end end end
- 配置
dependencies: tencent_kit: ^${latestTag} # tencent_kit: # git: # url: https://github.com/RxReader/tencent_kit.git tencent_kit: app_id: ${your tencent app id} universal_link: https://${your applinks domain}/universal_link/${example_app}/qq_conn/${your tencent app id}/ # 可选项目
- 安装(仅iOS)
# step.1 安装必要依赖 sudo gem install plist # step.2 切换工作目录,插件里为 example/ios/,普通项目为 ios/ cd example/ios/ # step.3 执行脚本 pod install