更新记录
v1.0.0(2023-02-12)
第一版支持Android
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 12.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:支持 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
WYR-DouYinSdk
此插件完整集成了抖音SDK的授权,发布,分享,拍照功能,只能选择本地文件,网络文件请先下载到本地,IOS版本会在后面版本中发布,敬请期待,有问题可以给我发邮箱1169824159@qq.com
使用说明
1.引入插件
const douyinsdk = uni.requireNativePlugin('WYR-DouYinSdk');
2.初始化
douyinsdk.init(/* 你申请的抖音的ClientKey */);
3.授权登陆
douyinsdk.authorize({
scope: 'user_info,trial.whitelist',//请求的授权域,开发测试需要加上白名单trial.whitelist
//optionalScope0: 'mobile', //用户可选授权域,默认不勾选
//optionalScope1: 'mobile', //用户可选授权域,默认勾选
//state: '' //用于保持请求和回调的状态,授权请求后原样带回给第三方
}, function(res) {
console.log(res);
/*
授权完成回调
{
errorCode: '',//0:授权成功
errorMsg: '', //错误信息
authCode: '', //临时票据 code,用来换取 access_token
state: '', //对应请求的state
grantedPermissions: ''//请求的授权域
}
*/
})
授权成功后拿到authCode,就可以拿来通过抖音的OpenAPI换取access_token
4.发布
4.1发布图片(多张)
douyinsdk.shareImages({
files: [//必填,你要发布的图片,可以从uni.chooseImage返回的tempFilePaths传入
''//你要发布的图片
],
hashTags: [//可选,你要携带的话题
'话题'//你要携带的话题
],
microAppInfo: {//可选,你要携带的微信小程序
appTitle: '',
appId: '',
appUrl: '',
description: ''
},
state: ''
}, function(res) {
console.log(res);
/*
完成回调
{
errorCode: '',//0:正常
subErrorCode: '',
errorMsg: '', //错误信息
}
*/
})
举个例子
uni.chooseImage({
success: function(res) {
douyinsdk.publishImage({
files: res.tempFilePaths
}, function(rs) {
console.log(rs)
});
}
})
4.2发布视频(多个)
douyinsdk.shareVideos({
files: [//必填,你要发布的视频,可以从uni.chooseMedia返回的tempFiles传入
''//你要发布的视频
],
hashTags: [//可选,你要携带的话题
'话题'//你要携带的话题
],
microAppInfo: {//可选,你要携带的微信小程序
appTitle: '',
appId: '',
appUrl: '',
description: ''
},
state: '',
shareToPublish: false//是否直接分享到发布页,false分享到编辑页,true直接发布,只能一个视频
}, function(res) {
console.log(res);
/*
完成回调
{
errorCode: '',//0:正常
subErrorCode: '',
errorMsg: '', //错误信息
}
*/
})
4.3混合发布(包含视频和图片)
douyinsdk.shareMix({
files: [//必填,你要发布的视频和图片,可以从uni.chooseMedia返回的tempFiles传入
''//你要发布的视频和图片
],
hashTags: [//可选,你要携带的话题
'话题'//你要携带的话题
],
microAppInfo: {//可选,你要携带的微信小程序
appTitle: '',
appId: '',
appUrl: '',
description: ''
},
state: ''
}, function(res) {
console.log(res);
/*
完成回调
{
errorCode: '',//0:正常
subErrorCode: '',
errorMsg: '', //错误信息
}
*/
})
5.分享给抖音好友
douyinsdk.shareToContacts({
files: [//要分享的单张图片,可以从uni.chooseImage返回的tempFilePaths传入
''//你要分享的图片
],
html: {//要分享的html,分享图片和分享html二选一
url: '',//html链接,必填
title: '',//html标题,必填
description: '',//html描述,必填
thumbUrl: ''//封面图,网络图片
},
state: ''
}, function(res) {
console.log(res);
/*
完成回调
{
errorCode: '',//0:正常
errorMsg: '', //错误信息
}
*/
})
6.打开抖音拍摄
douyinsdk.openRecordPage({
hashTags: [//可选,你要携带的话题
'话题'//你要携带的话题
],
microAppInfo: {//可选,你要携带的微信小程序
appTitle: '',
appId: '',
appUrl: '',
description: ''
},
state: ''
}, function(res) {
console.log(res);
/*
完成回调
{
errorCode: '',//0:正常
errorMsg: '', //错误信息
}
*/
})
7.其他
//判断是否安装抖音
douyinsdk.isAppInstalled();
//判断是否支持发布
douyinsdk.isAppSupportShare();
//判断是否支持混合分享
douyinsdk.isAppSupportMixShare();
//判断是否支持分享给好友
douyinsdk.isAppSupportShareToContacts();
参考文档
抖音开发文档
https://developer.open-douyin.com/docs/resource/zh-CN/dop/develop/sdk/mobile-app/sdk