解决友盟分享的报错的利器——debug模式
来源:互联网 发布:广联达软件下载教程 编辑:程序博客网 时间:2024/06/05 10:34
使用过友盟分享的朋友一定遇到过这样的情况,按照文档说明配置工程,可是依然不能分享或者分享失败。这主要是有一下几种原因:
1.有些文档的细节被忽略了
2.签名问题
3.不支持的分享内容,或开发者账号问题
第一种原因对于老用户或者熟练的开发者来说已经不是什么问题了。
反倒是第二种原因成为许多开发者的拦路虎,尤其初学的开发者,根本不知道什么叫签名,也不知道签名是什么,很多人问,为什么非要签名,难道不用不行吗?答案是肯定的,签名是由于三方平台(新浪,微信,facebook等)出于安全考虑设定验证的。如果去掉,可以使用intent打开客户端的方式分享,这样,就不支持较多的分享类型,而且体验也不好。所以签名是必须的。如果不了解的开发者可以参考这个签名文档 。
第三种原因可能是由于分享内容的不支持或开发者账号。由于许多开发者都是第一次使用分享,不了解三方平台的注册流程。例如三方平台的注册应用没有过审核就开始测试使用。明明分享的文字图片,为什么分享到平台之后只有图片,这都是由于对三方平台的分享策略不甚了解,对于不同平台可以分享哪些内容可以参照demo或者签名文档 。
说了这么多,可是切入到今天的主题——友盟分享的debug模式,看看这个神奇的功能如何帮助用户解决问题。
打开debug模式
debug模式现只支持android平台,且是6.1以后的版本。开发者只需要在你初始化sdk之前(设置各个平台的appkey的地方)用以下代码打开即可:
Config.DEBUG = true;
然后重新运行即可。但是要记得上线前关掉,这样才不会影响你的线上版本。
然后运行的时候,打开你的logcat,搜索umeng_tool,如下图所示:
检查版本是否一致
许多开发者都会遇到这样的问题,配置都正确,仍然会crash,这可能是由于,你更新sdk,但是没有更新全,比如只更新了各个平台的包,没有更新main中的jar包,或者没有替换新的资源文件等
检查jar是否都一致
有上图log可以看出,核心包版本号6.1.1,分享界面版本号6.1.1,新浪平台版本号6.1.1,可以确定jar运行没有问题
资源文件是否缺失
如果缺少资源文件,会由上图的crash log打印出来,其中type 是资源类型,name为文件名或id的名字,方便用户查找。
检查分享内容
如果发现你分享的内容与展示内容不一致时,可以查看log中真正传入的内容,如下图所示,进行对比
检查微信平台
签名不对
签名不对进行分享时,会回调错误,如下图所示:
授权时如果调用后,一直没有跳转,可以检查log,会有如下提示:
这时如果不是因为网络问题,请去根据打印的签名去微信后台检查。
这里要特别注意两件事
1.如果签名与后台确实一致无误,考虑是不是appid问题
2.如果签名与后台确实一致无误,卸载微信重新安装或,清理微信缓存文件,重新运行。这是由于你之前用错误的签名和同样的包名运行过,微信有缓存造成的。
回调activity的问题
微信需要设置回调activity,如果你开了debug模式,点击分享会有如下提示:
这是你就要参照文档,设置回调的Activity,否则没有回调。
检查QQ平台
Androidmainfest配置不正确
QQ需要在Androidmainfest中配置对应的activity,如果没有配置或者精简版完整版配置错误,会有一下提示:
这时需要参照文档进行配置。
或者你在Androidmainfest中配置了,但是每次分享回调都是取消,这是检查log,会有如下提示:
这是因为你配置的AuthActivity不正确,如下图示:
需要把箭头处设置为你qq的appid
检查后台包名
如果配合正确,仍然不能授权或者分享,可以根据打印的包名与qq后台的包名进行对比:
检查回调
如果qq分享授权没有回调,可以检查log看是否有如下一行:
如果没有,请检查你所使用的activity是否配置了:
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); UMShareAPI.get(this).onActivityResult(requestCode,resultCode,data);}
检查新浪平台
签名问题
如果新浪微博sso授权,界面由于一下问题不能进行授权,是由于新浪微博的签名问题造成,请检查签名问题。
回调地址问题与安全域名问题
如果授权仍有问题,请检查新浪后台的签名与设置的是否一致:
如果您使用的是精简版,请特别注意
需要检查新浪微博的安全域名是否是sns.whalecloud.com
其他说明
有开发者可能会问,每次分享的一个流程中需要检查这么多东西,效率会不会低,这肯定是不会的,因为你真正上线的版本是关闭debug模式的,不会再自检这些东西。
其他报错说明
还有一些特定原因也会显示在log中,开发者可以根据log的提示进行修改。
下载地址
介绍了这么多debug模式的功能,您再也不需要排队等待客服了,是不是感觉自己也能成为一个解决问题的能手了。好了,赶紧来一发吧,体验下debug模式带来的简便快捷。
下载地址 。
- 解决友盟分享的报错的利器——debug模式
- Debug Assertion Failed!断言报错的解决
- eclispe启动tomcat的debug模式报错
- 前端利器——JQuery的编写/调试方法分享
- MyEclipse自动跳入debug模式的解决
- 解决 BCGControlBar Debug 报错
- BCGControlBar Debug报错解决
- 鲜为人知的一个解决兼容性问题的利器——小数
- 友盟社会化分享集成微博分享直接报错的解决方法
- 使用正式签名打包APK,打开debug模式报错的问题解决方法
- 使用正式签名打包APK,打开debug模式报错的问题解决方法
- Myeclipse启动tomcat的debug模式,总是跳到Class.class里面报错
- 工具分享:Fiddler----Web Debugging 的利器
- debug模式的malloc
- Tomcat的debug模式
- eclipse的debug模式
- idea的Debug模式
- IDEA 15:DeBug(调试)模式的使用,你应该学会找代码报错的地方
- 进程管理(一)
- QT开发之IP协议
- Android greenDAO的使用,工具类封装
- 对称矩阵的压缩存储
- 牛客:剑指offer:数字在排序数组中出现的次数 (Java)
- 解决友盟分享的报错的利器——debug模式
- 【原创】【NOIP1999】拦截导弹
- Wildfly配置PostgreSQL数据源
- 剑指offer面试题7:用两个栈实现队列(Java实现)
- CCF编译出错
- <STL>模拟实现Vector
- 欢迎使用CSDN-markdown编辑器
- 正则表达式的基本知识
- 【寒江雪】密码编码学与网络完全前言