Unity集成MobPush与ShareSDK过程中遇到的坑

       项目中因为要集成推送与社会化分享功能,因为最好选择一家的SDK,我们平时大多数用的是ShareSDK,因此优先选择他们家的MobPush,而且MobPush目前是免费的而且只需要一次打包就可以支持国内小米,魅族,华为,OPPO,VIVO厂商级消息推送.(之前考虑过选择极光的推送,但是了解过后发现他们家的需要一个渠道打一个包,而且还不是免费的)

        首先我们看了官方的文档后会发现,MobPush需要Unity使用Gradle的方式打包,因为我们在集成ShareSDK的时候也要用Share的Gradle包,目前从他们官网上下载默认的是离线包的形式,因此需要问单独下载https://github.com/MobClub/New-Unity-For-ShareSDK/tree/SourceCodeGradle

这里记得要选对勾的这个项目功能

;Unity集成MobPush与ShareSDK过程中遇到的坑

在集成Gradle版的ShareSDK的时候没有像离线版的那么麻烦,在AndroidnManifest.xml文件中不需要做任何设置,也不需要设置微信的返回Activity等,

需要做的就是在MobSDK.gradle中设置各平台的appid和key什么的数据,切记要将BypassApproval值设为false,另外场景中绑定在摄像机上的ShareSDK.cs中的BypassApproval也要设为false,要不然无法分享到微信(这个坑了我两天).

Unity集成MobPush与ShareSDK过程中遇到的坑

另外还要注意mainTemplate.gralde文件中dependencies模块下classpath的tools.build设置需要根据你unity的版本来设定

因为我使用的是unity2018.3.0因此我设置的3.2.0

Unity集成MobPush与ShareSDK过程中遇到的坑

另外在打包的时候如果遇到无法下载到代码包,可能是本地安卓环境设置代理的原因,可以参考如下链接:

https://gameinstitute.qq.com/community/detail/125872

另外还有一个问题:在使用Gradle方式打包时,如果你已经集成了自己的AAR或者Jar包,那么会产生冲突,这块需要你把自己的封装的包改个名字,不要和项目的包名一样

最后给大家附上集成了推送与分享的项目工程,我把项目中的key和ID都删掉了,需要你们自己填入个人的项目数据

https://download.****.net/download/a8856621/11351686
有不懂的地方可以加我的QQ496736268,我们可以一块讨论