如何绕过微信sdk审核进行分享?

来源:互联网 发布:seo推荐 编辑:程序博客网 时间:2024/05/21 06:40

如何绕过微信sdk审核进行分享?

可能有的朋友会问我为什么要绕过微信sdk审核?这里我就不做过多的解释,如果能够进行正常分享的像用原生的sdk,友盟这类的自然就不用考虑这些,但是有的app分享的内容正常来说微信是不让你分享的(也不要问我是什么app哈哈)前段时间私信我的朋友们抱歉了最近比较忙没时间写demo...这里我就给大家简单介绍几种## 1. 通过 intent 方式##    网上很多这种资料,这种方式是比较好的,而且不仅能分享到微信,qq也可以,甚至你可以分享内容到你自己的应用    不过这种方式有个缺点就是不是太好看(这个其实就是看需求...)        经过一系列测试:(如果哪位大神有更好的欢迎留言)    分享给微信好友:        只能分享纯图片 或 纯文本    朋友圈:        可以文字和图片同时分享    qq好友:        只能分享纯图片 或 纯文本    qq空间:        这个就有点不一样了,需要安装qq空间这个应用才能分享...比较蛋疼,不过同样是文字和图片都可以分享    这里我就不细说了,网上就能查到,没找到的话到我项目里找## 2. 通过 uc浏览器 qq浏览器 方式##    这个方式我现在项目中已经淘汰了,缺点很明显 就是你点击分享的时候需要打开 uc或者 qq浏览器并跳转到另一个页面,再分享,这样的话    一个是很慢,要比其他方式都慢,而且只能分享到qq好友,微信好友,微信朋友圈     这个怎么说呢,确实能绕过微信审核,不过就是体验不太好(主要是用户反馈过这个问题,嫌太麻烦...)## 3. 通过修改微信sdk代码绕过审核 ##        这个是我要重点说的,现在项目中也都是用了这种方式,除非在分享的过程中失败了(因为毕竟是分享到第三方,可能会出现什么意想不到的错误),才会用 intent 进行分享    不知道大家在其他app中见没见过分享到微信好友后 返回的不是你自己的应用而是显示返回qq/微博/今日头条/百度 等等其他的应用,当你点击返回时却返回到你自己的应用    当你分享到微信朋友圈时左下角 显示的分享来源也是qq/微博/今日头条/百度 等等其他的应用而不是你正在使用的应用

这里写图片描述

这里写图片描述

    这种效果其实就是绕过了微信sdk的审核,因为如果能够正常分享谁会不让来源显示自己的应用呢?    其实这种方式就是使用其他应用的appId,包名 来进行分享,但是如果走正常微信sdk的流程你会发现,点击分享后闪一下就没有反应了,(这里我猜测是,微信sdk会验证你是否是来自这些应用进行分享,当你在自己的应用使用时就调不起来分享页面)    下面有两种解决办法:        1,在分享前下载一个分享的插件,通过这个插件进行分享(这种是大部分app的做法,不过这个说实话挺操蛋的,我分享个东西还要下载个app才能分享)        2,直接把主要代码揉到自己的app中(这才是正经的解决办法)        我这里简单说下流程,具体的话看demo里的方法        拼接参数时还是走微信拼装的方式    WXWebpageObject localWXWebpageObject = new WXWebpageObject();    localWXWebpageObject.webpageUrl = shareUrl;    WXMediaMessage localWXMediaMessage = new WXMediaMessage(localWXWebpageObject);    localWXMediaMessage.title = shareTitle;    localWXMediaMessage.description = shareContent;    localWXMediaMessage.thumbData = (bmpToByteArray(localBitmap2, true));    SendMessageToWX.Req localReq = new SendMessageToWX.Req();    localReq.transaction = System.currentTimeMillis() + "";    localReq.message = localWXMediaMessage;    localReq.scene = type;    //最后分享的步骤不要吊微信原生的,而改用我项目里写的方式    WxShare.sendReq(weakReference, onShareLitener, localReq, appId, packageName)    WxShare 这个类就是最后的分享代码    这里说下不要用微信sdk最新的jar 包,里面有的类已经删除了    如果想玩玩的话就用我项目里的    我这里目前是这个顺序,qq-uc-qqBrowser-今日头条    -百度-新浪微博    其实可以先判断用户装了哪几个再随机取一个,有点新鲜感哈哈    项目里的appId 和包名其实也是反编译别人的插件找到的    为了这个东西弄了1周才整出来,网上的资料都翻遍了也没找到    这里我把这个开源出来希望其他android小伙伴碰到类似的需求能更快的解决吧

如果想看分享后的样子可以看这里
http://bbs.csdn.net/topics/392164034?page=1#post-402424763

不多说了有需要的看demo吧
https://github.com/ahaSweather/MainUiFrame.git