更新记录
1.0.0(2026-09-29)
支持 安卓/iOS TikTok OpenSDK
平台兼容性
uni-app(5.0)
| Vue2 | Vue2插件版本 | Vue3 | Vue3插件版本 | Chrome | Safari | app-vue | app-vue插件版本 | app-nvue | app-nvue插件版本 | Android | Android插件版本 | iOS | iOS插件版本 | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| √ | 1.0.0 | √ | 1.0.0 | × | × | √ | 1.0.0 | √ | 1.0.0 | 5.0 | 1.0.0 | 12 | 1.0.0 | × |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × | × |
uni-app x(5.0)
| Chrome | Safari | Android | Android插件版本 | iOS | iOS插件版本 | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|---|---|
| × | × | 5.0 | 1.0.0 | 12 | 1.0.0 | × | × |
tt-tiktok-sdk
TikTok OpenSDK UTS 插件,为 uni-app / uni-app x 提供 TikTok 登录、安装检测及图片/视频分享能力。
目录
SDK 版本
| 平台 | SDK 版本 | 最低系统 | 支持状态 |
|---|---|---|---|
| Android | 2.2.0 | Android 5.0 / API 21 | ✅ 支持 |
| iOS | 2.5.0 | iOS 12.0 | ✅ 支持 |
| HarmonyOS | - | - | ❌ 不支持 |
重要提示
- 必须使用 App 真机和自定义基座或云打包运行。
- 需要先在 TikTok for Developers 添加 Login Kit;使用分享功能时还需添加 Share Kit。
redirectUri必须与 TikTok 开放平台配置完全一致。- 登录返回的
code和codeVerifier应发送到服务端换取 token,Client Secret 不要写入 App。 - 修改原生配置后需要重新制作自定义基座或重新云打包。
环境配置
前置条件
- 在 TikTok for Developers 创建应用并获取 Client Key。
- 配置 Android 包名、签名和 iOS Bundle ID。
- 添加 Login Kit / Share Kit,并申请业务需要的 scopes。
- 配置 HTTPS Redirect URI。
iOS 配置
编辑插件内的 uni_modules/tt-tiktok-sdk/utssdk/app-ios/Info.plist,将两处 your_client_key 替换为实际 Client Key:
<key>TikTokClientKey</key>
<string>你的 Client Key</string>
<key>CFBundleURLSchemes</key>
<array>
<string>你的 Client Key</string>
</array>
同时在应用签名能力中配置与 Redirect URI 域名对应的 Associated Domains:
applinks:example.com
iOS 的 Redirect URI 必须是已正确配置的 Universal Link。
Android 配置
插件已经配置 OpenSDK 依赖、网络权限、TikTok 包可见性和回调 Activity。
如果使用自己的 Redirect URI,请修改插件内的 uni_modules/tt-tiktok-sdk/utssdk/app-android/AndroidManifest.xml:
<data
android:scheme="https"
android:host="example.com"
android:pathPrefix="/tiktok/callback" />
同时确保该域名的 App Link / Digital Asset Links 已正确配置。
快速开始
获取并初始化 SDK
import * as tiktok from '@/uni_modules/tt-tiktok-sdk'
const sdk = tiktok.getTTTikTokSDK()
sdk.register({
clientKey: '你的 Client Key',
success: () => {
console.log('TikTok SDK 初始化成功')
},
fail: (error) => {
console.error('初始化失败', error)
}
})
功能介绍
检测 TikTok 是否安装
const installed = sdk.isTikTokInstalled()
console.log('TikTok 是否安装:', installed)
TikTok 登录
sdk.login({
redirectUri: 'https://example.com/tiktok/callback',
scopes: ['user.info.basic'],
state: Date.now().toString(),
authMethod: 'tiktokApp',
success: (result) => {
console.log('授权 code:', result.code)
console.log('PKCE codeVerifier:', result.codeVerifier)
console.log('已授权权限:', result.grantedPermissions)
},
fail: (error) => {
console.error('登录失败', error)
}
})
authMethod 支持:
tiktokApp:优先使用 TikTok App 授权。chromeTab:Android 使用浏览器授权,iOS 使用 Web Auth。
分享图片或视频
Android 使用本地绝对路径或 content:// URI:
sdk.share({
mediaType: 'video',
mediaPaths: ['/storage/emulated/0/Movies/demo.mp4'],
redirectUri: 'https://example.com/tiktok/callback',
success: (result) => {
console.log('分享成功', result.state)
},
fail: (error) => {
console.error('分享失败', error)
}
})
iOS 使用系统相册资源的 PHAsset.localIdentifier:
sdk.share({
mediaType: 'image',
mediaPaths: ['PHAsset.localIdentifier'],
redirectUri: 'https://example.com/tiktok/callback',
format: 'normal',
success: (result) => {
console.log('分享成功', result.state)
},
fail: (error) => {
console.error('分享失败', error)
}
})
format 支持:
normal:普通分享,默认值。greenScreen:绿幕分享,只能传入一个媒体。
API
getTTTikTokSDK()
获取 SDK 单例。
register(options)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
clientKey |
string |
是 | TikTok Client Key |
success |
callback |
否 | 初始化成功回调 |
fail |
callback |
否 | 初始化失败回调 |
complete |
callback |
否 | 完成回调 |
isTikTokInstalled()
同步返回 TikTok 是否安装,返回类型为 boolean。
login(options)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
redirectUri |
string |
是 | TikTok 后台配置的 Redirect URI |
scopes |
string[] |
否 | 默认 ['user.info.basic'] |
state |
string |
否 | 登录请求标识 |
authMethod |
'tiktokApp' \| 'chromeTab' |
否 | 默认 tiktokApp |
language |
string |
否 | 仅 Android 生效 |
success |
callback |
否 | 登录成功回调 |
fail |
callback |
否 | 登录失败回调 |
complete |
callback |
否 | 完成回调 |
成功结果包含:
| 字段 | 类型 | 说明 |
|---|---|---|
code |
string |
授权码 |
codeVerifier |
string |
PKCE 验证参数 |
state |
string |
登录请求标识 |
grantedPermissions |
string[] |
用户实际授权的权限 |
share(options)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
mediaType |
'image' \| 'video' |
是 | 媒体类型 |
mediaPaths |
string[] |
是 | Android 文件路径/URI;iOS 相册资源 ID |
redirectUri |
string |
是 | TikTok 后台配置的 Redirect URI |
format |
'normal' \| 'greenScreen' |
否 | 默认 normal |
state |
string |
否 | 分享请求标识 |
success |
callback |
否 | 分享成功回调 |
fail |
callback |
否 | 分享失败回调 |
complete |
callback |
否 | 完成回调 |
错误码
| 错误码 | 说明 |
|---|---|
| 101 | SDK 未初始化 |
| 102 | 无法获取当前原生页面 |
| 103 | 参数或原生配置无效 |
| 104 | OpenSDK 请求未能启动 |
| 105 | 已有同类型请求正在进行 |
| 201 | TikTok 登录失败 |
| 301 | TikTok 分享失败 |
TikTok 原生 SDK 的错误码也可能直接通过 errCode 返回。
常见问题
登录后无法返回 App
- 确认 Redirect URI 与 TikTok 后台配置完全一致。
- Android 检查 App Link 和
AndroidManifest.xml。 - iOS 检查 Universal Link、Associated Domains 和 Client Key。
iOS 分享失败
iOS 只能传入照片库资源的 PHAsset.localIdentifier,不能传普通文件路径。
修改配置后没有生效
删除旧构建缓存,并重新制作自定义基座或重新云打包。

收藏人数:
购买源码授权版(
试用
使用 HBuilderX 导入示例项目
赞赏(0)
下载 1001
赞赏 4
下载 12647142
赞赏 1952
赞赏
京公网安备:11010802035340号