内容简介:快速实现抖音分享与第三方登录准备工作1、注册抖音的key到抖音开放平台,点击这里查看步骤;
快速实现抖音分享与第三方登录
准备工作
1、注册抖音的key到抖音开放平台,点击这里查看步骤;
2、集成ShareSDK到Mob官网文档页面查看即可,点击这里查看集成;
业务代码
分享要求:
视频:
1、时长不符合要求,最大不能超过1小时,最小值抖音动态配置;
2、非mp4文件;
3、画幅比例不支持;
4、视频文件不能正常解析;
5、视频文件分辨率过大(最小边小于1100);
图片:
1、宽高小于360;
2、宽高比不符合(需1/2.2<=宽高比<=2.2)
分享类型 参数 参数 参数
分享图片 shareType(SHARE_IMAGE) imagePath(“/sdcard/”) setActivity//适配9.0系统
分享图片 shareType(SHARE_IMAGE) imagePath(“/sdcard/”) setActivity//适配9.0系统
分享多图 shareType(SHARE_IMAGE) imageArray(String[] AVATARS(多个本地图片)) setActivity//适配9.0系统
分享视频 shareType(SHARE_VIDEO) FilePath(“/sdcard/下的视频路径”) setActivity//适配9.0系统
多段视频拼接分享 shareType(SHARE_VIDEO) VideoPathArray(String[] AVATARS(多个本地视频路径)) setActivity//适配9.0系统
注意:目前分享图片只支持本地图片分享,建议直接保存到手机相册路径下分享,否则抖音可能无法找到图片
分享代码
1.自有界面分享
onekeyshare的分享,SDK提供了界面,可以直接调用,不需要自己写界面进行触发,代码如下所示:
OnekeyShare oks = new OnekeyShare();
oks.setImagePath("/storage/emulated/0/DCIM/Camera/icon.png");//分享单独图片,图片建议放到相册目录下
// oks.setFilePath(testVideo);//分享单独视频
String[] AVATARS = {
imagepath,
imagepath2 };
// oks.setImageArray(AVATARS);//分享多图
String[] vedioarray =
new String[]{
testVideo,
testVideo
};
oks.setVideoPathArray(vedioarray);//分享多段视频,自动拼接
oks.setShareContentCustomizeCallback(new ShareContentCustomizeCallback() {
@Override
public void onShare(Platform platform,
cn.sharesdk.framework.Platform.ShareParams paramsToShare) {
// TODO Auto-generated method stub
if(platform.getName().equals("Douyin")){
paramsToShare.setShareType(Platform.SHARE_IMAGE);//设置抖音分享类型,图片是SHARE_IMAGE;视屏是SHARE_VEDIO
}
}
});
// 启动分享GUI
oks.show(MobSDK.getContext());
2.单独图片分享
Platform douyin = ShareSDK.getPlatform(Douyin.NAME);
Platform.ShareParams sp = new Platform.ShareParams();
sp.setImagePath("/storage/emulated/0/DCIM/Camera/icon.png");//暂时只支持本地图
sp.setShareType(Platform.SHARE_IMAGE);//设置分享图片类型
sp.setActivity(this);//android9.0及以上系统需要配置
douyin.setPlatformActionListener (this);//分享回调
douyin.share(sp);
3.多图分享
Platform douyin = ShareSDK.getPlatform(Douyin.NAME);
Platform.ShareParams sp = new Platform.ShareParams();
sp.setActivity(this);//适配android9.0
//多图
String[] AVATARS = {
"/storage/emulated/0/DCIM/Camera/icon.png",
"/storage/emulated/0/Pictures/Instagram/IMG_20181024_145311_121.jpg" };
sp.setImageArray(AVATARS);
sp.setShareType(Platform.SHARE_IMAGE);
douyin.setPlatformActionListener (this);//分享回调监听
douyin.share(sp);
4.单独视频分享
Platform douyin = ShareSDK.getPlatform(Douyin.NAME);
Platform.ShareParams sp = new Platform.ShareParams();
sp.setActivity(this);//适配android9.0
sp.setFilePath(testVideo);//配置视频本地路径
sp.setShareType(Platform.SHARE_VIDEO);//设置分享视频类型
douyin.setPlatformActionListener (this);//设置分享回调监听
douyin.share(sp);
5.多个视频拼接分享
Platform douyin = ShareSDK.getPlatform(Douyin.NAME);
Platform.ShareParams sp = new Platform.ShareParams();
sp.setActivity(this);
String[] vedioarray =
new String[]{
testVideo,
testVideo
};
sp.setVideoPathArray(vedioarray);
sp.setShareType(Platform.SHARE_VIDEO);
douyin.setPlatformActionListener (this);
douyin.share(sp);
分享效果
分享图片:
分享视频:
授权登录
登录后可以返回userid,我们拿到userid可以作为用户登录的唯一标识,进行绑定账户就可以,还可以获取一些用户的头像和昵称信息,这样可以用来显示用户的信息页面中;
cn.sharesdk.framework.Platform dylogin = ShareSDK.getPlatform(Douyin.NAME);
if(dylogin.isAuthValid()){//判断是否授权过,可以在这里实现自己的逻辑,授权过了可以在这里直接获取用户信息,id等,不需要重复登录验证
dylogin.removeAccount(true);//可以移除授权
// return;
}
if(dylogin.isClientValid()){//判断手机中是否有抖音客户端,如果存在执行客户端操作,不存在实现web授权
Toast.makeText(MobSDK.getContext(), "抖音客户端", Toast.LENGTH_SHORT).show();
}
dylogin.setPlatformActionListener(new PlatformActionListener() {
@Override
public void onError(Platform arg0, int arg1, Throwable arg2) {
// TODO Auto-generated method stub
System.out.println("------------失败"+arg2.toString());
arg2.printStackTrace();//打印失败错误码log
runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(MobSDK.getContext(),"失败", Toast.LENGTH_SHORT).show();
System.out.println("----------");
}
});
}
@Override
public void onComplete(Platform arg0, int arg1, HashMap<String, Object> arg2) {
// TODO Auto-generated method stub
System.out.println("--------Platform----"+arg0.getDb().exportData());//查看授权信息,可以拿到后做后续操作;
runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(MobSDK.getContext(),"成功", Toast.LENGTH_SHORT).show();
System.out.println("----------");
}
});
}
@Override
public void onCancel(Platform arg0, int arg1) {
// TODO Auto-generated method stub
System.out.println("-------取消");
}
});
dylogin.SSOSetting(true);//设置SSO(客户端授权),false为优先客户端授权
ShareSDK.setActivity(this);//适配android9.0
dylogin.showUser(null);//授权并获取授权信息
注意事项:抖音申请的key是绑定包名的,所以绑定的key与app的包名不一致,会返回errcode:-4
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- ybg-spring-fast 添加码云第三方登录,微信第三方登录
- 了解一下第三方登录
- CAS实现第三方免登录
- JustAuth 关注破 10k,第三方登录开源组件
- 第三方登录与 Sign In with Apple | 科普
- Chrome OS 88 自定义屏保界面,可指纹登录第三方网站
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
互联网运营实战手册
李春雷 / 人民邮电出版社 / 2017-4 / 49.80元
为什么网络推广做不起来?微信文章也是套路?标题党的背后是什么?把服务器搞瘫痪的活动是怎么玩出来的?社群究竟要如何运营?数据又该如何运营?你会任务分解吗? 《互联网运营实战手册》详细剖析了网站(产品)的运营技巧与实战,涵盖实用的互联网运营方法,是作者从多年的实战中提炼出的运营心得和精华,涉及运营技巧、运营工具和运营思维方法。详细讲解了用户运营、内容运营、新媒体运营、社群运营、活动运营和数据运营......一起来看看 《互联网运营实战手册》 这本书的介绍吧!