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

如何绕过微信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

评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值