/tencent_kit

Flutter版QQ登录/分享

Primary LanguageDartMIT LicenseMIT

tencent_kit

Pub Package License

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 模式登录,auth code 在 accessToken 字段,获取后可自行在后端使用

项目中 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

分享类型 说说(图/文/视频) 文本 图片 音乐 视频 网页
QQ 不支持 不支持 支持 支持 不支持 支持
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

示例

示例

Star History

stars