更新记录
1.2.0(2026-04-15)
支持 抖音分享、发布投稿等功能
1.1.1(2026-02-22)
修复 iOS审核问题
1.1.0(2026-02-22)
修复iOS审核问题
查看更多平台兼容性
uni-app(4.36)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | Android插件版本 | iOS | iOS插件版本 | 鸿蒙 | 鸿蒙插件版本 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | 5.0 | 1.0.0 | 12 | 1.0.0 | 12 | 1.0.0 |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × | × |
uni-app x(4.36)
| Chrome | Safari | Android | Android插件版本 | iOS | iOS插件版本 | 鸿蒙 | 鸿蒙插件版本 | 微信小程序 |
|---|---|---|---|---|---|---|---|---|
| × | × | 5.0 | 1.0.0 | 12 | 1.0.0 | 12 | 1.0.0 | × |
tt-douyin-open
抖音开放平台 UTS 原生插件,支持 uni-app x 与 uni-app。提供 初始化(register)、授权登录(login)、分享(share)。
share 能力:支持 向抖音投稿发布(scene: 'publish' + contentType: 'media',含 feed 投稿、转发日常 等,配合 publishMode、publishTargetPage、useNewForwardAbility 及鸿蒙 harmonyLandingPage 等,见 utssdk/interface.uts);Android / iOS 另支持 私信分享(scene: 'im')。业务通过 getTTDouyinSDK() 取单例。
📚 官方文档:抖音开放平台 - 移动应用
📖 目录
SDK 版本信息
| 平台 | 版本号 |
|---|---|
| iOS | 4.2.4 |
| Android | 0.2.0.9 |
| HarmonyOS | 0.0.5 |
🚨 重要提示
⚠️ 必须使用自定义基座(或正式包),否则无法调用原生插件方法。
⚠️ 先 register 再 login / share。
⚠️ 鸿蒙:login、share 需配置 redirectUri,且与 harmony-configs/entry/src/main/module.json5 里 skills / uris 一致。
⚠️ Android:分享/授权回调依赖抖音文档中的 包名、签名、Entry Activity 等配置,请在开放平台与工程中按官方说明对齐。
环境配置
前置条件
- 在 抖音开放平台 创建移动应用,获取 ClientKey(代码里
register的appid传此值)。 - 按平台在开放平台配置 包名、签名(Android)、Bundle ID(iOS)、鸿蒙应用信息等。
iOS
- 编辑
uni_modules/tt-douyin-open/utssdk/app-ios/Info.plist:DouyinAppID、URL Types 的CFBundleURLSchemes填写 ClientKey;LSApplicationQueriesSchemes含douyinopensdk、snssdk1128等(以插件内模板为准)。 - 在应用 生命周期 中接入插件 Hook(
TTDouyinSDKHookProxy),保证抖音 SDK 能收到 冷启动与 URL 回调(与 uni 工程 manifest 配置一致即可)。
Android
在开放平台配置 签名与包名;工程需能拉取插件 config.json 中的 AwemeOpenSDK Maven 仓库。其余按 抖音 Android 集成文档 配置 FileProvider、回调 Activity 等。
HarmonyOS
- ohpm:项目根
harmony-configs/.ohpmrc需能访问字节仓库,例如:
registry=https://ohpm.byted.org/repos/ohpm/,http://artifact.bytedance.com/repository/byted-ohpm/
harmony-configs/entry/src/main/module.json5:querySchemes包含抖音相关 scheme;skills / uris(https applinks) 与代码里redirectUri一致;声明 网络权限。完整模板请以 抖音鸿蒙 / OpenHarmony 官方说明 为准。
快速开始
1. 导入插件
uni-app x
import * as douyinSDK from "@/uni_modules/tt-douyin-open";
export default {
data() {
return {
douyin: null as douyinSDK.TTDouyinSDK | null,
};
},
onLoad() {
this.douyin = douyinSDK.getTTDouyinSDK();
this.initDouyinSDK();
},
methods: {
initDouyinSDK() {
/* 见下方「2. 初始化 SDK」 */
},
},
};
uni-app
import * as douyinSDK from "@/uni_modules/tt-douyin-open";
export default {
data() {
return { douyin: null };
},
onLoad() {
this.douyin = douyinSDK.getTTDouyinSDK();
this.initDouyinSDK();
},
methods: {
initDouyinSDK() {
/* 见下方「2. 初始化 SDK」 */
},
},
};
2. 初始化 SDK
uni-app x
initDouyinSDK() {
if (this.douyin == null) return;
this.douyin.register({
appid: "你的ClientKey",
success: () => {
console.log("抖音初始化成功");
},
fail: (err) => {
console.error("抖音初始化失败", err);
},
} as douyinSDK.TTDouyinRegisterOptions);
}
uni-app
initDouyinSDK() {
if (!this.douyin) return;
this.douyin.register({
appid: "你的ClientKey",
success: () => {
console.log("抖音初始化成功");
},
fail: (err) => {
console.error("抖音初始化失败", err);
},
});
}
功能介绍
抖音授权登录
流程:客户端拿到
code→ 服务端用code换access_token→ 再取用户信息(见 开放平台服务端文档)。
参数说明(TTDouyinLoginOptions)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | string | null | 否 | 防重放,会原样带回 |
| permissions | string[] | null | 否 | 默认 ["user_info"] |
| redirectUri | string | null | 鸿蒙必填 | applinks,须与 module.json5 中 uris 一致;Android / iOS 可传 null |
| callerLocalEntry | string | null | 否 | 鸿蒙回调 UIAbility 名,默认 EntryAbility |
| success / fail / complete | 回调 | 否 | 与类型定义一致 |
uni-app x 示例
this.douyin!.login({
state: String(Date.now()),
permissions: ["user_info"],
redirectUri: "https://你的域名/你的path",
callerLocalEntry: "EntryAbility",
success: (res) => {
console.log(res.code, res.state);
},
fail: (err) => {
console.error(err);
},
} as douyinSDK.TTDouyinLoginOptions);
uni-app 示例
this.douyin.login({
state: String(Date.now()),
permissions: ["user_info"],
redirectUri: "https://你的域名/你的path",
callerLocalEntry: "EntryAbility",
success: (res) => {
uni.request({
url: "https://你的服务端/api/douyin/login",
method: "POST",
data: { code: res.code, state: res.state },
});
},
fail: (err) => {
uni.showToast({ title: "授权失败", icon: "none" });
},
});
抖音分享
统一调用:this.douyin.share(options),options 类型为 TTDouyinShareOptions。
能力概览:
- 投稿发布:三端均支持通过
scene: 'publish'+contentType: 'media'走抖音 投稿 / 发布 流程(标题、音乐、贴纸、publishMode(feed/forwardDaily)、publishTargetPage(edit/publish)、鸿蒙harmonyLandingPage(edit/record)等以interface.uts为准)。 - 私信分享:Android / iOS 支持
scene: 'im'(media/link/microApp);鸿蒙 当前不支持im。
字段较多(scene、contentType、mediaContent、linkContent、publishMode、harmonyLandingPage、redirectUri、state 等),请以 utssdk/interface.uts 中注释为准。
平台行为简述:
| 平台 | 说明 |
|---|---|
| Android / iOS | 支持投稿发布(publish + media)与 私信分享(im)。Android 在从抖音返回应用后才会触发 success / fail,不要在调用 share 的同一同步流程里当作已发布完成。 |
| HarmonyOS | 支持投稿发布(publish + media);im 会失败。需 redirectUri、mediaContent.filePaths(本地可读路径,可用选图/选视频返回的路径)。 |
投稿发布示例:鸿蒙(uni-app x)
this.douyin!.share({
scene: "publish",
contentType: "media",
state: "业务或开放平台 ShareID",
redirectUri: "https://你的域名/applink路径",
callerLocalEntry: "EntryAbility",
harmonyLandingPage: "edit",
mediaContent: {
filePaths: ["/本地绝对路径/demo.jpg"],
mediaType: "image",
},
success: () => {},
fail: (e) => {
console.error(e);
},
} as douyinSDK.TTDouyinShareOptions);
投稿发布示例:鸿蒙(uni-app)
this.douyin.share({
scene: "publish",
contentType: "media",
state: "业务或开放平台 ShareID",
redirectUri: "https://你的域名/applink路径",
callerLocalEntry: "EntryAbility",
harmonyLandingPage: "edit",
mediaContent: {
filePaths: ["/本地绝对路径/demo.jpg"],
mediaType: "image",
},
success: () => {
uni.showToast({ title: "已发起分享", icon: "none" });
},
fail: (e) => {
uni.showToast({ title: (e && e.errMsg) || "分享失败", icon: "none" });
},
});
mediaType 为 mix 时:filePaths 需多个路径,具体条数与能力以抖音客户端与开放平台为准。
错误处理
常见 errCode(详见 utssdk/unierror.uts 中 TTDouyinSDKErrors):
| errCode | 说明 |
|---|---|
| 101 | 未初始化或初始化失败 |
| 201 | 参数或场景不支持(如鸿蒙缺 redirectUri) |
| 202 | 缺少有效 mediaContent |
| 203~206 | 媒体 / 链接 / 小程序参数问题 |
| 208 | 当前平台不支持该能力(如鸿蒙 im 分享) |
| 209 / 210 | 客户端或抖音版本、媒体类型限制 |
| 999 | 其它错误,可看 cause 中抖音侧信息 |
常见问题
-
找不到插件方法
使用 自定义基座 或正式包,不要用未包含本插件的标准基座。 -
iOS 登录无响应
检查 ClientKey、URL Scheme。 -
Android 授权或分享无回调
核对开放平台 签名、包名 及文档要求的 回调 Activity 配置。 -
鸿蒙 ohpm 安装失败(ECONNRESET 等)
多为本机访问ohpm.byted.org网络问题,需换网络、代理或放行域名;日志里 CaseSensitive 相关 DEBUG 可忽略。 -
鸿蒙提示 redirectUri
与module.json5中 applinks(uris) 及开放平台配置保持一致。
更多排障请对照 抖音开放平台文档。
祝您开发愉快! 🎉

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