内容简介:快速实现抖音分享与第三方登录准备工作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 自定义屏保界面,可指纹登录第三方网站
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Beginning ASP.NET 4 in C# and Vb
Imar Spaanjaars / Wrox / 2010-3-19 / GBP 29.99
This book is for anyone who wants to learn how to build rich and interactive web sites that run on the Microsoft platform. With the knowledge you gain from this book, you create a great foundation to ......一起来看看 《Beginning ASP.NET 4 in C# and Vb》 这本书的介绍吧!