tencent_kit 6.2.0  tencent_kit: ^6.2.0 copied to clipboard
tencent_kit: ^6.2.0 copied to clipboard
A powerful Flutter plugin allowing developers to auth/share with natvie Android & iOS & HarmonyOS Tencent SDKs.
tencent_kit #
Flutter 版腾讯(QQ)SDK
相关工具 #
Dart/Flutter Pub 私服 #
相关文档 #
开始使用 #
Android #
# 不需要做任何额外接入工作
# 配置已集成到脚本里
# 混淆已打入 Library,随 Library 引用,自动添加到 apk 打包混淆
iOS #
暂不支持 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 #
- 当前在 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",
      }
    ]
  }
]
Flutter #
| 分享类型 | 说说(图/文/视频) | 文本 | 图片 | 音乐 | 视频 | 网页 | 
|---|---|---|---|---|---|---|
| 不支持 | 不支持 | 支持 | 支持 | 不支持 | 支持 | |
| QZone | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 支持 | 
- 注意
⚠️⚠️⚠️ registerApp 前必须先调用 setIsPermissionGranted issues/60 issues/79
- 兼容
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