敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多。
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20251019.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
clientKey:
jsBridge.dy.initSdk({
//
clientKey: "{{initSdk.clientKey}}"
}, function(success, res) {
alert(success ? "成功" : JSON.stringify(res));
});
jsBridge.dy.isAppInstalled(function(installed) {
alert(installed ? "已安装" : "未安装");
});
scope:
state:
//1.申请上线之前的测试需在移动应用 设置 -> 白名单管理 页面添加测试用的白名单抖音号。 //2.首次授权登录测试号需增加 trial.whitelist 加入白名单权限范围 //3.取得 res.authCode 后需调用抖音服务器端接口才能绑定白名单 jsBridge.dy.authorize({ //必须,权限范围,多个用逗号分割 //在抖音移动应用 能力管理 -> 用户权限 页面查看或申请,已默认获得授权登录能力 user_info scope: "{{authorize.scope}}", //可选,状态码,回调时原样返回 state: "{{authorize.state}}" }, function(success, res) { if (success) { //用授权码调用抖音服务器端接口获取 access_token 及 open_id、用户信息 jsBridge.setClipboardText(res.authCode); alert("已复制 " + res.authCode); } else { alert("失败\n" + JSON.stringify(res)); } }); /* 成功时回调 res 参数结构 { authCode: 授权码,调用抖音服务器端接口获取 access_token 及 open_id、用户信息 state : 原样返回的状态码 grantedPermissions: 用户已同意的授权范围 errorCode: 错误码 errorMsg : 错误说明 } */
// 需申请开通:能力管理 -> 视频权限 -> 发布内容至抖音(aweme.share)权限
// images、videos、mix 参数必传且仅可传其一
// iOS 以相册作为中转站,需要相册的完全访问权限
jsBridge.dy.share({
//可选,标题
title: "美好的一天",
//可选,图片链接组
images: [
"https://www.example.com/image1.jpg",
"https://www.example.com/image2.jpg",
"https://www.example.com/image3.jpg",
//...
],
//可选,视频链接组
videos: [
"https://www.example.com/video1.mp4",
"https://www.example.com/video2.mp4",
"https://www.example.com/video3.mp4",
//...
],
//可选,图片、视频混合链接组,仅支持 Android
mix: [
{ image: "https://www.example.com/image1.jpg" },
{ image: "https://www.example.com/image2.jpg" },
{ video: "https://www.example.com/video1.mp4" },
//...
],
//可选,抖音小程序信息,会在分享的内容左下角带小程序入口
miniProgram: {
//必须,抖音小程序ID
appId: "aabb1122",
//必须,名称
title: "hello world",
//必须,摘要
desc : "你好世界",
//可选,小程序页面地址
appUrl: "pages/movie/index?id=123"
},
//可选,话题
hashtags: [
"话题1",
"话题2",
//...
],
//可选,分享到哪里,默认 publish
//edit 编辑页
//publish 发布页
shareTo: "publish"
//可选,任意字符,分享成功时原样返回,可为 share_id 以便查询发布结果
state: ""
}, function(success, res) {
if (success) {
alert("成功");
} else {
alert("失败\n" + JSON.stringify(res));
}
});
/*
成功时回调 res 参数结构
{
state : 原样返回的状态码
errorCode: 错误码
errorMsg : 错误说明
}
*/
shareTo:
jsBridge.dy.share({
title: "美好的一天",
images: [
"http://i.yimenyun.net/sys/1.jpg",
"http://i.yimenyun.net/sys/2.jpg",
"http://i.yimenyun.net/sys/3.jpg"
],
hashtags: [
"话题1",
"话题2"
],
shareTo: "{{shareImages.shareTo}}",
state: ""
}, function(success, res) {
if (success) {
alert("成功");
} else {
alert("失败\n" + JSON.stringify(res));
}
});
shareTo:
jsBridge.dy.share({
title: "美好的一天",
videos: [
"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4"
],
hashtags: [
"话题1",
"话题2"
],
shareTo: "{{shareVideos.shareTo}}",
state: ""
}, function(success, res) {
if (success) {
alert("成功");
} else {
alert("失败\n" + JSON.stringify(res));
}
});
shareTo:
jsBridge.dy.share({
title: "美好的一天",
mix: [
{ image: "https://www.example.com/image1.jpg" },
{ image: "https://www.example.com/image2.jpg" },
{ video: "https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4" }
],
hashtags: [
"话题1",
"话题2"
],
shareTo: "{{shareMix.shareTo}}",
state: ""
}, function(success, res) {
if (success) {
alert("成功");
} else {
alert("失败\n" + JSON.stringify(res));
}
});
// image、webPage 参数必传且仅可传其一
jsBridge.dy.shareToContacts({
//可选,图片
//iOS 以相册作为中转站,需要相册的完全访问权限
image: "http://i.yimenyun.net/sys/1.jpg",
//可选,网页
webPage: {
//必须,网址
//需在抖音平台进入应用:
//能力管理 -> 视频权限 -> 分享给抖音好友/群 增加分享链接 提交审核你的链接域名
link: "https://www.example.com",
//必须,标题
title: "hello world",
//必须,摘要
desc : "你好世界",
//可选,缩略图,默认为抖音平台上所申请应用的图标
imgUrl: "http://i.yimenyun.net/sys/2.jpg"
},
//可选,状态,分享成功时回调中原样返回
state: ""
}, function(success, res) {
if (success) {
alert("成功");
} else {
alert("失败\n" + JSON.stringify(res));
}
});
/*
成功时回调 res 参数结构
{
state : 原样返回的状态码
errorCode: 错误码
errorMsg : 错误说明
}
*/
jsBridge.dy.shareToContacts({
image: "http://i.yimenyun.net/sys/1.jpg",
state: ""
}, function(success, res) {
if (success) {
alert("成功");
} else {
alert("失败\n" + JSON.stringify(res));
}
});
jsBridge.dy.shareToContacts({
webPage: {
//必须,网址
//需在抖音平台进入应用:
//能力管理 -> 视频权限 -> 分享给抖音好友/群 增加分享链接 提交审核你的链接域名
link: "https://www.example.com",
//必须,标题
title: "hello world",
//必须,摘要
desc : "你好世界",
//可选,缩略图,默认为抖音平台上所申请应用的图标
imgUrl: "http://i.yimenyun.net/sys/2.jpg"
},
state: ""
}, function(success, res) {
if (success) {
alert("成功");
} else {
alert("失败\n" + JSON.stringify(res));
}
});
jsBridge.dy.openRecordPage({
//可选
shareTitle: "分享标题",
//可选,抖音小程序信息,会在分享的内容左下角带小程序入口
miniProgram: {
//必须,抖音小程序ID,未填则忽略小程序信息
appId: "",
//必须,名称
title: "hello world",
//必须,摘要
desc : "你好世界",
//可选,小程序页面地址
appUrl: "pages/movie/index?id=123"
},
//可选,话题
hashtags: [
"话题1",
"话题2",
//...
],
//可选,任意字符,分享成功时原样返回,可为 share_id 以便查询获取用户发布的内容
state: ""
}, function(success, res) {
if (success) {
alert("成功");
} else {
alert("失败\n" + JSON.stringify(res));
}
});
/*
成功时回调 res 参数结构
{
state : 原样返回的状态码
errorCode: 错误码
errorMsg : 错误说明
}
*/