最近看了看客户端推送,本想着自己实现的,但是任务量还真不小,所以就想着使用现成的,还好极光推送并不收费,让我这个穷逼开心了。
那个三分钟接入的demo基本没什么问题,就是用eclipse export gradle的时候目前版本里是有gradle相关文件的,删除就可以。
我想各位应该都不是在这个example demo上面开发的,而是想使用它的接口加入目前代码就行了,我也是这样,由于粗心也好,文档或者log信息坑爹也好感觉坑了我半天!
我们说一下需要改几个东西:
- SDK配置
- Manifest配置
- 启动极光推送服务
1
我使用的是Android Studio,SDK配置基本上文档还算良心,加入.so和Jar以及相关的一些android res文件夹的东西。将so和jar放到libs中,如图
然后编写gradle文件,配置so文件也就是jniLibs的位置
如果so文件错误在app启动会有log,所以还是比较好弄清楚哪里错了。
2
manifest这个文件是最最最最容易出错的!!!稍不留意就会丢东西,首先在你的app页面下载demo,然后打开demo的manifest文件,找到其中required一个个对着复制,记得对应包名!例如:
我错在了这一块,因为JPUSH定义了一个permission,而我使用错了包名,所以一直提示我
The permission should be defined JPUSH_MESSAGE
这里:
包名要对应啊!!!
3
启动还是比较简单的,只要定义Application并在onCreate中写上JPushInterface.init(this)既可以了。当然你也可以定义你想开启此推送服务的位置,我想说的是这时你启动代码会发现通知栏有一个提醒,告诉你在当前activity中的onPause和onResume中加入**,是为了客户端记录云云
其实是因为你没有extends极光的InstrumentedActivity,我跟进去了
其实就是这个。。
估计是根据activity的生命状态来改变推送服务的策略,也是为了省电和省内存的考虑吧。。但是这些一块没有log,文档也不说。。。
ok,目前基本的已经可以了,至于怎么定制自己的推送服务,还是很简单的,都有相关的demo代码。万事开头配置难啊~
看习惯了开源代码,一跟进去极光的代码全是混淆。。。醉了