dux社会化分享代码_2020 Android 集成友盟社会化分享

概述

相信做开发的程序员肯定会接触到第三方分享,那么三方分享到底怎么具体集成呢,一些刚入行的新手们可能会被官方文档弄的看不太懂,所以现在想为新手们写一个基于2020年的社会化友盟分享,此文章比较简单,大神请放过

在APP中,社会化分享已经成为了一项重要的引流措施,通过分享到QQ微信等社交平台,吸引更多的用户使用APP是一项常见的方案,在Android的开发环境中,第三方分享框架也有很多,比较流行的包括极光社会化分享(shareSdk),友盟社会化分享(Ushare),mob社会化分享等gayhub上比较流行的一些开源库等,下面,我们就来一步一步地实现在APP中集成社会化分享的功能

实现步骤

  1. 首先,你需要在友盟的官网注册申请账号,并创建你自己的app,这一步比较简单
1147f37a7cb83894d64c75e2005e0381.png

友盟产品矩阵,选择社会化分享

  1. 进入友盟社会化分享管理界面,添加新应用
b155a46bbfffb103b52dea8fec4902c2.png

创建自己的应用

  1. 因为涉及到和各个分享平台的交互,所以在集成前需要在各个平台创建应用并提交审核。创建应用后,分享,登录才做时显示的应用icon、名称、和对应开放平台设置有关,一般创建的平台有:微信,QQ,微博,钉钉等
d08bee2e9448252721f1f4885ec985a2.png

常用的分享平台

  • 注意点1 : 申请QQ登录是在QQ互联平台,不是QQ开放平台
  • 注意点2 : 申请过程中可能需要企业的相关资质,如法人身份证,营业执照,税务登记等,这些需要提前准备好
  • 注意点3 : 建议大家用企业账号申请第三方开放平台,不要使用个人的QQ,微信,微博等账号,这样可以避免申请人在职位变动或者离职后,导致账号管理的风险和交接麻烦
  • 注意点4: 开放平台的申请多数需要审核流程,建议在项目刚开始的时候进行申请,补充相应的资料,以免之后在项目开发过程中,或者上线前耽误时间

浏览官方集成文档

cecf0e201b821ea6de3da86d5e304cbf.png

文档方向

根据内容总结一套比较方便的集成方式:android studio 自动化集成,无需下载sdk导入集成

  1. 在工程build.gradle配置脚本中buildscript和allprojects段中添加【友盟+】sdk maven仓库地址。如下图
d1b9f795b3dbbb42e545e487f871622f.png

第一步

代码:maven { url 'https://dl.bintray.com/umsdk/release' }

  1. 在工程App 对应build.gradle配置脚本dependencies段中添加基础组件库和utdid库依赖:
adfc41634cb6a608690cac463dbdafae.png

步骤2(shareVersion为文档上最新版本)

代码:

// 友盟implementation 'com.umeng.umsdk:common:2.2.5'

//友盟分享
implementation "com.umeng.umsdk:share-core:$rootProject.shareVersion"
implementation "com.umeng.umsdk:share-qq:$rootProject.shareVersion"
implementation "com.umeng.umsdk:share-wx:$rootProject.shareVersion"
implementation "com.umeng.umsdk:share-board:$rootProject.shareVersion"

到这里,自动集成已经结束了,下一步请注意文档上最新版本的一些注意事项,按照当前版本友盟文档的贴图

9a2b8c3196a8036e216790457c080ef3.png

步骤3

一些新的版本可能需要额外的操作,只需要跟着文档来就行,步骤简单

开始调用sdk进行分享

需要在页面的生命周期添加方法

cafdbfabac9ed9bf37237b61176f4104.png

添加生命周期方法

开始分享

UMImage image = new UMImage(context, thumbImage);// 本地的缩略图UMImage imageLocal  = new UMImage(context, R.mipmap.icon_round_logo);UMWeb web = new UMWeb(webUrl);// 分享的标题web.setTitle(title);// 在线缩略图如果没有的话使用本地缩略图web.setThumb(ObjectUtils.isEmpty(thumbImage) ? imageLocal : image);// 分享描述web.setDescription(description);// 使用友盟分享面板new ShareAction(context).        setDisplayList(SHARE_MEDIA.QQ,                        SHARE_MEDIA.QZONE,                       SHARE_MEDIA.WEIXIN,                              SHARE_MEDIA.WEIXIN_CIRCLE)        .withMedia(web)        .setCallback(new UMShareListener() {// 分享回调            @Override            public void onStart(SHARE_MEDIA share_media) {            }            @Override            public void onResult(SHARE_MEDIA share_media) {                ToastUtils.showShort(context.getString(R.string.toast_share_success));            }            @Override            public void onError(SHARE_MEDIA share_media, Throwable throwable) {                ToastUtils.showShort("分享失败" + throwable.getMessage());            }            @Override            public void onCancel(SHARE_MEDIA share_media) {                ToastUtils.showShort(context.getString(R.string.toast_cancel_share));            }        }).open();

这是最常见的图文分享(使用了友盟的带面板分享),需要 传入标题,缩略图,缩略图可以是本地图片,也可以是在线图片,还需要分享地址url


分享的消息类型

纯文本分享

new ShareAction(ShareActivity.this).withText("hello").withMedia(image).share();

图片

UMImage image = new UMImage(ShareActivity.this, "imageurl");//网络图片UMImage image = new UMImage(ShareActivity.this, file);//本地文件UMImage image = new UMImage(ShareActivity.this, R.drawable.xxx);//资源文件UMImage image = new UMImage(ShareActivity.this, bitmap);//bitmap文件UMImage image = new UMImage(ShareActivity.this, byte[]);//字节流

多图分享

现在支持多图分享的平台有两个,一个是新浪微博一个是QQ空间,都是最多上传9张图片,新浪微博超过9张不会上传,QQ空间超过九张会上传QQ空间相册。

  new ShareAction(ShareDetailActivity.this).withMedias(imagelocal,imagelocal,imagelocall)                        .setPlatform(share_media)                        .withText("hello")                        .setCallback(shareListener).share();

链接(之前的开始分享使用的就是此消息类型)

UMWeb  web = new UMWeb(Defaultcontent.url);        web.setTitle("This is music title");//标题        web.setThumb(thumb);  //缩略图        web.setDescription("my description");//描述new ShareAction(ShareActivity.this)    .withMedia(web)    .share();

视频

UMVideo video = new UMVideo(videourl);video.setTitle("This is music title");//视频的标题video.setThumb("http://www.umeng.com/images/pic/social/chart_1.png");//视频的缩略图video.setDescription("my description");//视频的描述

音乐

UMusic music = new UMusic(musicurl);//音乐的播放链接music.setTitle("This is music title");//音乐的标题music.setThumb("http://www.umeng.com/images/pic/social/chart_1.png");//音乐的缩略图music.setDescription("my description");//音乐的描述music.setmTargetUrl(Defaultcontent.url);//音乐的跳转链接new ShareAction(ShareActivity.this).withMedia(music).share();

好了内容就这么多,抽空余时间整理的。有点乱。大家不要介意。按照这流程操作,分享和三方登录都是小事一桩。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值