项目中,推送使用的是个推,在做的过程中遇上了点小问题,简单记录一下,如果有遇到同样问题的可以参考一下。
同样的问题,第一个反应是android包名的问题,一开始以为是个推后台配置的问题,但是具体从管理台也看不到任何提示信息,一时恍惚了,难不成我要把项目的包名换了,那微信分享神马的就得变了,联系个推,没联系上,qq不在,后来知道是郊游去了那天。。。。。
过程比较繁琐,直接说一下最后的解决方案吧:打开文件管理器--在sd卡根目录下有一个libs,这个存储的就是个推的数据库文件,从里面可以看到有我们应该名的一个数据库,eg.com.happy.aaa.db文件,猜想这个文件是保存我们一开始集成推送的key等相关信息,而当我们第二次新建应用,虽然包名一致,但是在个推后台和我们android配置文件中的key和此数据库中的key信息已经对不起来了,所以可能导致推送无效,显示不出应用的用户数来。
说一下缘由吧,在做个推测试的时候,开始使用的是个推个人账户,新建的应用,然后就行测试一切正常,晚上回到家后,把我的账户的测试应用删除,用公司的个推账户又新建了一个应用,当然包名和我之前测试用的是一样的。奇怪的问题出现了,在做推送的时候,明明我手机上装着这个app,但是在发送通知的时候提示:“注:任务将投放给0位用户”,没怎么搞懂为什么,于是乎,做了一个测试。
测试过程:新建一个android工程,随便起了个包名,然后集成个推,个推标记此应用为a,安装测试正常。然后再在个推账户新建应用b,包名和a是一致的,然后把android工程按照b的配置重新在清单文件中配置。运行android应用,通过个推账户b来发送通知,结果又提示:“注:任务将投放给0位用户”。同样的问题,第一个反应是android包名的问题,一开始以为是个推后台配置的问题,但是具体从管理台也看不到任何提示信息,一时恍惚了,难不成我要把项目的包名换了,那微信分享神马的就得变了,联系个推,没联系上,qq不在,后来知道是郊游去了那天。。。。。
过程比较繁琐,直接说一下最后的解决方案吧:打开文件管理器--在sd卡根目录下有一个libs,这个存储的就是个推的数据库文件,从里面可以看到有我们应该名的一个数据库,eg.com.happy.aaa.db文件,猜想这个文件是保存我们一开始集成推送的key等相关信息,而当我们第二次新建应用,虽然包名一致,但是在个推后台和我们android配置文件中的key和此数据库中的key信息已经对不起来了,所以可能导致推送无效,显示不出应用的用户数来。
知道了问题出在哪,就知道怎么解决了吧,先把这个libs文件删除掉,然后卸载应用,重新安装就可以了,这样再也不用担心针对同一包名开发和生产环境的这种问题了,有点啰嗦,不知道看明白没......