本文主要介绍自己在使用微信SDK过程遇到的一些坑,如:分享时各部分大小限制等,本文持续更新...
分享链接
WXWebpageObject webpage = new WXWebpageObject();webpage.webpageUrl = result.link;WXMediaMessage msg = new WXMediaMessage(webpage);msg.title = result.title;msg.description = result.desc;msg.thumbData = thumbData;SendMessageToWX.Req req = new SendMessageToWX.Req();req.transaction = buildTransaction("webpage");req.message = msg;if (share2WX) { req.scene = SendMessageToWX.Req.WXSceneSession; // 分享到微信} else { req.scene = SendMessageToWX.Req.WXSceneTimeline; // 分享到朋友圈}IWXAPI msgApi = getApi(context, APP_ID);msgApi.sendReq(req);
注意:sendReq方法是有返回值的,返回值类型为boolean,如果返回false,则表明分享失败,返回true,则表明分享成功。
案例:达人店1.0.2.2版本 分享店铺-分享到微信好友 经常调不出微信页面,导致分享失败,但是 商品详情页-分享商品 正常。
分析:经过对比发现,只有 thumbData 即 图片 有 大小 的差异,经过Logcat发现 前者 分享图片是用户头像,浏览器打开显示图片大小约为700k,后者 分享图片是商品图,浏览器打开显示图片大小约为150k,所以可以得出分享到微信是图片大小限制的。注意:浏览器打开显示图片的大小并非为thumbData的大小。
解决:通过 谷歌 百度 得知 thumbData 不能大于 32k,我们只要以此压缩图片就行了。
附
由于网上很难搜索到Android相关的微信分享API地址,这里我就写一下从哪里可以找到(PS:之前找到过网址,后来好像又失效了,还是自己丢了。。。):
- 打开页面
- 下载
- 如果链接失效(基本不可能),可以从此处下载:
由于API中非常详细的写明了很多参数的大小限制,建议开发者仔细查看。
相关链接
官方FAQ:
解决微信分享图片,网址失效的Bug -- 不完美解决: