微信友盟分享失败总结

最近做友盟分享,友盟的sdk已更新好多版本了,我用 的是最新的。
朋友圈总是分享不成功,后来下载官网的sdk,然后把appid啥的都改成自己的,还是不行,查了各种资料核对了半天,我被官网的sdk给蒙蔽了.

微信友盟分享失败总结_第1张图片
我想也没想,我一心只想的是图片的大小是否超过规定的大小了,然后我感觉缺少点啥,然后我加上分享链接 和内容,然后就分享成功了,卧槽,感觉被“坑”了,有没有,反复看文档和试试官网dome。 原来: 每个平台接口对分享内容的要求不同,只要设置分享内容为 图片 文字 链接,就可以分享到常用的平台了。其中,链接需要设置,如果不设置,跳转值为 null ,是不能分享的。!!!感觉被坑了有木有?1个小时啊!

网上还有其他的常见的问题:文章链接:http://tieba.baidu.com/p/3289017737

微信不能分享有可能涉及多方面的原因。要一项一项地去排错,最终找到问题所在。
1、手机或者网络的问题。
我自己的渣手机配置不高,经常点了微信、微博分享没有反应,有时候甚至会提示错误。过了十几秒左右我再点分享,就可以成功分享了。用其他手机测试,一次性就可以分享了,速度也不卡,很流畅。

专业点评: 第一次进行微信、微博分享的时候,微信微博那边要调用客户端去验证用户信息,会产生一定的延时。如果网络比较差,或者微信那边服务器有延时,延时就会比较长。

所以,如果只是第一次分享的时候卡,后面的分享很流畅,集成是没有问题的。但是,如果分享一直很卡,证明集成还是有点问题的。

2、应用签名的问题

如果不能分享,可能是微信、新浪微博开放平台没有填写好应用签名,此时,你需要到开放平台上查看app信息,看有没有填写好 包名和应用签名。

如果都填写好了,你还需要考虑 应用签名是否已经改变。

app重新打包后应用签名有可能会改变,此时,你需要到微信、新浪微博开放平台上重新填写应用签名,不然的话就不能分享了。注:只有微信和新浪微博需要应用签名,修改的话也只要到这两个地方修改就行。

一般来说,集成友推,应用签名是不会改变的。如果app修改了其他地方,重新打包成apk的时候,应用签名就有可能改变,有没有改变主要看一个文件夹 :keystore 。这个文件夹不变,应用签名就不会变了。

3、分享内容设置的问题

尽管每个平台接口对分享内容的要求不同,但是只要设置分享内容为 图片 文字 链接,就可以分享到常用的平台了。其中,链接需要设置,如果不设置,跳转值为 null ,是不能分享的。此外,就算可以分享链接,也不代表链接设置没问题,因为有时候跳转到一个不能显示的页面,效果也不好。


4、避免代码混淆造成错误,详情请看集成文档 4.10避免代码混淆造成错误

需要在代码混淆的文件中加入以下代码 

//微信
-keep class com.tencent.mm.sdk.openapi.WXMediaMessage { ;}
-keep class com.tencent.mm.sdk.openapi.** implements c om.tencent.mm.sdk.openapi.WXMediaMessage$IMediaObject {;}

//微信新版本需要再填写下面2个
-keep class com.tencent.mm.sdk.modelmsg.WXMediaMessage { ;}
-keep class com.tencent.mm.sdk.modelmsg.** implements com.tencent.mm.sdk.modelmsg.WXMediaMessage$IMediaObject {;}

//qq和qq空间:
-keep class com.tencent.open.TDialog$*
-keep class com.tencent.open.TDialog$* {;}
-keep class com.tencent.open.PKDialog
-keep class com.tencent.open.PKDialog {;}
-keep class com.tencent.open.PKDialog$*
-keep class com.tencent.open.PKDialog$* {*;}


5、Eclipse版本问题

编译报错有可能是版本问题。遇到这个问题,你可以试着换不同版本的Eclipse。


你可能感兴趣的:(Android基础知识)