编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

2020 Android 集成友盟社会化分享

wxchong 2024-10-02 02:15:27 开源技术 16 ℃ 0 评论

概述

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

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

实现步骤

  1. 首先,你需要在友盟的官网注册申请账号,并创建你自己的app,这一步比较简单
  1. 进入友盟社会化分享管理界面,添加新应用


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

浏览官方集成文档

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

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

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


  1. 在工程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();

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

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表