前言
第三方分享在日常开发中已经是见怪不怪了,为了方便快捷,大多数情况下我们都会使用第三方平台提供的分享功能,来集成第三方分享,这里我将带大家使用友盟完成第三方分享,这可能是迄今为止最人性的教程,相信我,这比繁琐的官网要简单的多。如果你只是想练习一下demo而非实战,我建议可以去友盟官网下载demo查看学习。
集成顺序及步骤
为了更加清晰明了,我会将教程分为三个集成环节
- 第三方开发者平台申请
- 友盟申请
- 集成友盟分享
第三方开发者平台申请
这一环节主要是申请各自分享平台的AppKey或AppId及AppSecret,
这里提供主流分享的三方开发者平台,大家可以根据自己情况自行申请,当然我相信,现在大多数已经只分享 QQ 微信 微博了。其他平台大家可自行搜索,就让我偷个小懒。
- 微信开放平台 https://open.weixin.qq.com/
- QQ开放平台 https://connect.qq.com/index.html
- 新浪微博开放平台 http://open.weibo.com/
友盟申请
登录到友盟官网,https://www.umeng.com/
创建友盟账号,登录后创建新应用,得到新应用的AppKey,这里需要注意的是,如果公司有安卓版和IOS版,需要申请两个新应用,不同平台的应用禁止使用相同的Appkey,如果在创建时提示应用名称已存在,不用担心,后台的应用名与实际应用名和包名无关,也就是这里随便取都可以,建议命名为应用名+平台(iOS/Android),这样好区分嘛。
集成友盟分享
短短篇幅我们就来到文章最重要的地方,这里我会非常详细的介绍如何集成和分享,当然所有的前提是,你已经得到了需要分享的平台的AppKey或AppId及AppSecret和友盟的AppKey
第一步:集成jar包和添加相应的布局文件和图片资源
在 https://developer.umeng.com/sdk 中,我们勾选 社会化分享 SDK
然后点击右边的设置
在这里我们勾选我们需要分享的平台,这里实战演练为新浪,QQ,微信,这也是友盟默认为我们勾选的,关于完整版与精简版,大家点击旁边的问号就能查看区别所在,这里就不多阐述了。
确定后,我们点击下载,得到压缩包,解压后是这样子的:
我们需要将common和share下的所有jar包复制出来(记住是所有的),thirdparties可以不用管,放到项目的libs下,如项目图所示:
接下来将share下所有的xml文件放到项目的layout包中,将所有图片资源放到drawable包中,很重要哈,如果没有添加,使用友盟默认的弹窗样式和图片就会报错!!!
第二步:在注册清单添加权限及相应的代码
//例如appid为123456789,那这里填写tencent123456789
第三步:初始化代码配置
在Application中,初始化
UMConfigure.init(this, "友盟的Appkey", "umeng", UMConfigure.DEVICE_TYPE_PHONE, "");
//微信
PlatformConfig.setWeixin("Appkey","AppSecret");
//新浪微博(第三个参数为回调地址)
PlatformConfig.setSinaWeibo("Appkey", "AppSecret","http://sns.whalecloud.com/sina2/callback");
//QQ
PlatformConfig.setQQZone("AppId", "AppSecret");
第四步:在需要使用分享的地方重写onActivityResult
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
}
第五步:分享代码
关于分享,我觉得在这里阐述还是比较累赘,本文主要介绍集成过程,如果你已经到了这一步,那么恭喜你,你只需要完成最后一步即可实现分享,关于分享直接在官网教程更加明白简单。
https://developer.umeng.com/docs/66632/detail/66639#h2-u5206u4EAB12
问题
集成完分享后,可能出现的问题,最简单的方式:
//强烈建议大家在Application中开启友盟日志输出,在出错的地方会在日志中提示并提供解决办法
UMConfigure.setLogEnabled(true);
这里提一个一般大家很容易出现的bug:
点击微信分享闪烁或闪退???
首先检查你的app的签名是否与开发者平台上的签名一致,如果一致,需要清理微信缓存,怎么清理呢?
进入手机设置-应用,找到微信,点击清理缓存即可。清理完成后,再打开app点击微信分享试一试。
如果你有其他问题,可以评论,我会在第一时间回复。