在集成了信鸽推送的相关配置后,直接运行在手机上是可以完成推送的,但是这个时候发现,打不了包!
这个时候就想到信鸽应该也需要混淆,所以就上网搜了下,果然:
#信鸽推送
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep class com.tencent.android.tpush.** {*;}
-keep class com.tencent.mid.** {*;}
把这些加上以后,可以打包了,但是在测试过程中发现,直接运行是可以拿到唯一标识token,而打包后是拿不到token的。我是在登录成功后注册信鸽的。
而如果在闪屏页就注册信鸽,那么打包后也是可以拿到token的,这就特么的很诡异。
需求是登录前不能接收推送,那么只能按照第一种办法。但是第一种办法又拿不到token,问题出在哪里呢?
我仔细想了想,打包和直接运行在真机的区别,难道问题还是出现在混淆这块儿?
于是又上网搜了好几个朋友写的这方面经验,发现信鸽有一个jar包我没有让它避免混淆。解决后果然没有再出现问题,可以拿到token。
有不同意见的朋友可以在评论区指正!