网站首页 > 开源技术 正文
概述
相信做开发的程序员肯定会接触到第三方分享,那么三方分享到底怎么具体集成呢,一些刚入行的新手们可能会被官方文档弄的看不太懂,所以现在想为新手们写一个基于2020年的社会化友盟分享,此文章比较简单,大神请放过
在APP中,社会化分享已经成为了一项重要的引流措施,通过分享到QQ微信等社交平台,吸引更多的用户使用APP是一项常见的方案,在Android的开发环境中,第三方分享框架也有很多,比较流行的包括极光社会化分享(shareSdk),友盟社会化分享(Ushare),mob社会化分享等gayhub上比较流行的一些开源库等,下面,我们就来一步一步地实现在APP中集成社会化分享的功能
实现步骤
- 首先,你需要在友盟的官网注册申请账号,并创建你自己的app,这一步比较简单
- 进入友盟社会化分享管理界面,添加新应用
- 因为涉及到和各个分享平台的交互,所以在集成前需要在各个平台创建应用并提交审核。创建应用后,分享,登录才做时显示的应用icon、名称、和对应开放平台设置有关,一般创建的平台有:微信,QQ,微博,钉钉等
- 注意点1 : 申请QQ登录是在QQ互联平台,不是QQ开放平台
- 注意点2 : 申请过程中可能需要企业的相关资质,如法人身份证,营业执照,税务登记等,这些需要提前准备好
- 注意点3 : 建议大家用企业账号申请第三方开放平台,不要使用个人的QQ,微信,微博等账号,这样可以避免申请人在职位变动或者离职后,导致账号管理的风险和交接麻烦
- 注意点4: 开放平台的申请多数需要审核流程,建议在项目刚开始的时候进行申请,补充相应的资料,以免之后在项目开发过程中,或者上线前耽误时间
浏览官方集成文档
根据内容总结一套比较方便的集成方式:android studio 自动化集成,无需下载sdk导入集成
- 在工程build.gradle配置脚本中buildscript和allprojects段中添加【友盟+】sdk maven仓库地址。如下图
代码:maven { url 'https://dl.bintray.com/umsdk/release' }
- 在工程App 对应build.gradle配置脚本dependencies段中添加基础组件库和utdid库依赖:
代码:
// 友盟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"
到这里,自动集成已经结束了,下一步请注意文档上最新版本的一些注意事项,按照当前版本友盟文档的贴图
一些新的版本可能需要额外的操作,只需要跟着文档来就行,步骤简单
开始调用sdk进行分享
需要在页面的生命周期添加方法
开始分享
UMImage image = new UMImage(context, thumbImage);
// 本地的缩略图
UMImage im
ageLocal = 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();
好了内容就这么多,抽空余时间整理的。有点乱。大家不要介意。按照这流程操作,分享和三方登录都是小事一桩。
猜你喜欢
- 2024-10-02 以社会化分享突破 游族旗下mob平台纵深向发展
- 2024-10-02 网络共享网盘推荐(共享云盘推荐)
- 2024-10-02 不少应用软件违规收集个人信息(app违规收集使用个人信息行为)
- 2024-10-02 【紧急通知】关于微信开放平台针对iOS移动应用SDK更新-MobTech
- 2024-10-02 抖音对外开放一键发布API和抖音分享SDK 第三方网站可分享至抖音
- 2024-10-02 微信:第三方App尽快升级微信SDK,将逐步限制旧版的分享功能
- 2024-10-02 APP集成友盟社会化分享(app集成友盟社会化分享怎么做)
- 2024-10-02 搭建直播带货平台程序员需要掌握哪些技能和三方账号支持?
- 2024-10-02 睿悦发布智能硬件SDK和VRROM 提高内容开发效率
- 2024-10-02 视频聊天软件开发都需要用到哪些三方服务?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)