更新记录

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

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
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"
}

隐私、权限声明

1. 本插件需要申请的系统权限列表:

相册权限

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件自身不采集任何数据,插件使用的TikTok开发平台 SDK采集数据请参考其官方说明:https://developers.tiktok.com/

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问