更新记录
1.1(2023-08-18)
修复插件android端不能回调问题。
1.0(2023-04-24)
新版发布
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 14.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:9 - 17 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在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原生插件配置”->”云端插件“列表中删除该插件重新选择
TikTok授权分享插件接口说明
注意:使用插件前先到TikTok开放平台申请clientKey,Android绑定包名和签名,ios绑定bundleId,打包时需要对应。
https://developers.tiktok.com/
1. 插件对象
var TikTok = uni.requireNativePlugin('TikTok-SDK');
2. 在onLoad初始化,只需调用一次
var clientkey = "awqb20yd4h43j011";// 需要到开发者网站申请并替换
TikTok.initWithKey(clientkey);
//检查授权相册权限
TikTok.checkAlbumPermission(function(res){
console.log(res);
});
3. 检查TikTok是否安装
var ret = TikTok.isAppInstalled();
if (res == true) {
//已安装TikTok
} else {
//未安装TikTok
}
4. 授权登录
TikTok.authorize({
scope:"user.info.basic",// 用户授权时必选权限
state:""//用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意String
}, function(res){
console.log(res);
//res.errorCode //OK = 0 授权成功, ERROR_UNKNOW = -1 未知错误, ERROR_CANCEL = -2 用户手动取消
//res.errorMsg
//res.authCode //临时票据code,用来换取access_token
//res.state //第三方程序发送时用于表示其请求的唯一性标志,由第三方程序调openApi.authorize(request)时传入,由TikTok终端回传。
//res.grantedPermissions //第三方通过用户授权取得的授权域
});
5. 分享图片或视频
注:不支持分享网络路径的图片和视频,需要先下载到本地,转换成原生平台的路径,ios无需再次保存相册
var path = plus.io.convertLocalFileSystemURL("uniapp路径");
//分享图片
var imagePath = plus.io.convertLocalFileSystemURL("_doc/9577.jpg");
TikTok.share({
imagePaths:[
imagePath
],
/*videoPaths:[
videoPath
],//imagePaths和videoPaths二选其一//*/
shareFormat:0,//android必须,0:DEFAULT, 1:GREEN_SCREEN, 仅Android支持
state:""/*,//用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意String
microAppInfo:{
appId:"ttef9b992670b151ec",
appTitle:"小程序title",
appUrl:"pages/movie/index?utm_source=share_wxapp&cityId=10&cityName=%E4%B8%8A%E6%B5%B7",
description:"小程序描述"
}, //可选,分享内容携带小程序
hashtags:[
"话题"
]//可选, 分享内容携带话题//*/
}, function(res){
console.log(res);
//res.errorCode //参照官方文档说明
//res.subErrorCode //参考官方文档说明
//res.errorMsg
//res.state
});
//分享视频
var videoPath = plus.io.convertLocalFileSystemURL("_doc/9577.mp4");
TikTok.share({
/*imagePaths:[
imagePath
],//*/
videoPaths:[
videoPath
],//imagePaths和videoPaths二选其一
shareFormat:0,//android必须,0:DEFAULT, 1:GREEN_SCREEN, 仅Android支持
state:""/*,//用于保持请求和回调的状态,授权请求后原样带回给第三方,可传任意String
microAppInfo:{
appId:"ttef9b992670b151ec",
appTitle:"小程序title",
appUrl:"pages/movie/index?utm_source=share_wxapp&cityId=10&cityName=%E4%B8%8A%E6%B5%B7",
description:"小程序描述"
}, //可选,分享内容携带小程序
hashtags:[
"话题"
]//可选, 分享内容携带话题//*/
}, function(res){
console.log(res);
//res.errorCode //参照官方文档说明
//res.subErrorCode //参考官方文档说明
//res.errorMsg
//res.state
});
6. 在manifest.json配置中,ios设置, UrlScheme设置 clientkey
/* ios打包配置 */
"ios" : {
"urltypes" : "awqb20yd4h43j011"
}