资讯专栏INFORMATION COLUMN

快速实现抖音分享与第三方登录

ivyzhang / 3597人阅读

摘要:快速实现抖音分享与第三方登录准备工作注册抖音的到抖音开放平台点击这里查看步骤集成到官网文档页面查看即可,点击这里查看集成业务代码分享要求视频时长不符合要求,最大不能超过小时,最小值抖音动态配置非文件画幅比例不支持视频文件不能正常解析视频文件

快速实现抖音分享与第三方登录
准备工作
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 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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/14963.html

相关文章

  • 安卓在国内怎么看tiktok

    很多人问TikTok为什么看不了?今天给大家分享一下安卓手机如何使用TikTok。需要注意以下几点1:用来做海外抖音tiktok的手机,要进行刷机,而且是不能够下载有应用的,这一点非常的关键。2:把手机的语言从中文改成想要做的国家语言,这样海外抖音检测时,不会知道是在国内使用tiktok,会打上一个正常账号的标签,而不是想打广告的营销号。3:拔卡、关闭手机定位,设置手机语言和地区为国外即可。等我们...

    943977836 评论0 收藏0
  • 音视频,时代的风口浪尖,Android 开发者的新机遇

    摘要:前言实时音视频,正处在时代的风口上。音视频的应用越来越广泛,特别是移动端的音视频应用,包括短视频音视频直播音视频通话等移动端的音视频开发需求也会非常大。作为一名移动开发者,学习和了解音视频开发也是非常必要的。 ...

    hiyang 评论0 收藏0
  • 四步打造用户「上瘾」的抖音型 App

    摘要:第四步投入这是上瘾模型的最后一个阶段,也是需要用户有锁投入的一个阶段。这个阶段有助于提高用户以后再次进入上瘾循环的概率。慢慢的,你就转变为其他人上瘾的外部诱因。因此,习惯和适度上瘾不是坏事。 从大话西游到贪玩蓝月,从朋友圈到抖音,人们乐此不疲的将大把的时间和金钱砸向这些虚拟体验当中,这些用户的行为之中有一个最大的共性就是「刷」,刷副本、刷装备、刷图片、刷小姐姐/小哥哥……「刷」是一种会...

    bawn 评论0 收藏0
  • 新风向!成就了Android,热门框架排第一,你还是不够了解它!

    摘要:由于长期苦恼于第三方库选择的广大开发者而言,这也是谷歌为我们提供的一盏明灯。手机淘宝构架演化实践淘宝相信都不陌生了从年开始,从万增长到超过亿,面临的问题包括研发支撑所需要解决的事情各不相同。 ...

    sixgo 评论0 收藏0
  • 首次公开,整理12年积累的博客收藏夹,零距离展示《收藏夹吃灰》系列博客

    摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...

    Harriet666 评论0 收藏0

发表评论

0条评论

ivyzhang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<