极光推送注意事项
一.申请极光推送的账号
1.申请极光推送的账号,可以以个人的身份申请也可以以公司的身份申请,此账号可以有多个项目。
2.创建新应用,获取应用的AppKey,添加到对应的应用中去
二.极光推送证书相关
1.申请开发者账号
2.证书分类
证书一般包括两种----开发证书和发布证书。每个开发者账号可以申请两套对应的开发证书和发布证书。其中对应的推送证书可以有多套。
开发证书发布证书的创建步骤类似,只是在选择创建证书类型的时候分别选择开发证书(Dev)和开发证书(Dis)。具体的步骤网上写的比较清晰,这里不做赘述。其中注意的是:
生成.CRS文件,生成文件是在钥匙串中生成的,保存时需要填写一个邮箱,选择保存到磁盘就好。
当多人开发同一项目,需要项目证书管理时,需要生成证书对用的P12文件,只需要导入该文件到钥匙串就可以访问到。
关于推送证书(开发、发布)的创建类似。导出P12的方法也基本相同。此处不再赘述。
(1)开发证书
(2)开发环境下的推送证书(.P12),主要用于测试使用
(3)发布证书
(4)发布环境下的推送证书(.P12),主要用于发布到AppStore时使用
(5)一套完整的证书需要的有: 开发.P12 发布.P12 推送开发.P12 推送发布.P12
(6)当然啦,描述文件是不可缺少的,不过对于有开发者账号的来说随时都可以生成。不像开发发布证书的管理那么严格会导致有些证书失效的难缠问题。
3.在创建的新应用中上传开发环境的推送证书(.P12)和发布环境下的推送证书(.P12)
上传失败的原因有:
(1)当项目较多时且证书不是一个人使用的时候容易混淆,找到对应的证书导出对应的P12即可。
(2)导出的P12不是对应的Bundle ID不是对应的,此时可以通过比较项目中的项目中的Bundle ID和激光中验证证书的Bundle ID是否一致来验证。
iOS客户端的配置
三.iOS客户端配置
具体的代码参加自己demo中或者参考http://ionichina.com/topic/54fab88b7b505d9b1b5573a6
四.利用极光提供的平台进行测试
1.点击对应的极光推送项目中
2.点击推送
3.点击发送通知,填写推送内容
4.点击可选配置,配置对应的key value的值
Eg: name:小刚
age: 1year
5.点击发送即可是现在
6.注意:此时有可能收不到消息,原因是在关闭了推送的功能,需要在手机上设置
极光推送文档
http://docs.jpush.io/client/ios_tutorials/#ios_1
点击推送消息进入指定页面
http://www.jianshu.com/p/c27fa1621906/comments/2331439
http://www.jianshu.com/p/eaf07c4372a8 写的挺好的
发送通知 自定义消息
推送功能的实现
http://46aae4d1e2371e4aa769798941cef698.devproxy.yunshipei.com/yibaozhifu/article/details/46894627
极光推送
通知消息
自定义消息
pushmybaby作为模拟服务端的数据发送自定义消息进行推送
作为自己最近工作的总结:
所有的这些都是根据极光文档做的,对于没有接触过一些概念总结的自己的经验.
一.iOS端的推送
客户端的推送在之前也都详细表述了,那么问题来了.
1.利用极光平台推送消息,确认在开发和发布环境下是否收到消息.
(1).都收不到,检查证书,检查appkey是否对应
(2).利用极光平台,一般情况下开发环境收到,发布环境也是OK的
2.服务端发送的收不到消息的情况
1.开发环境收不到,查看客户端配置
2.开发环境收到,发布收不到.
客户端设置appkey的代码处也需要设置true
注意此时需要检查客户端的环境配置,然后检查服务端(java php)的环境配置
3.发布环境的测试方法
利用hoc证书打ipa包
(1)通过itunes安装,测试
(2)通过testFlight安装,测试
二.Android端的推送
安卓的参考以下:
http://blog.csdn.net/shulianghan/article/details/45046283
http://blog.jiguang.cn/jpush_wireless_push_principle/
http://www.android100.org/html/201506/22/156613.html
http://www.cnblogs.com/jiqing9006/p/3945095.html
安卓只要有一次成功就是成功了,所以不用纠结为什么收到的消息延迟呀的,不要考虑那么多就OK的.倘若项目中必须要求有较高的推送率,请联系极光官方.
在一个极光账号内一个包名只能对应一个apppkey.
三.PHP后台的配置
PHP设置的参数关系到整个项目的一些细节:
内容的设置 开发环境的设置 声音的设置 等
备注:我们推送的消息是基于即时通讯的(Java),有时候收不到消息的原因也可能是及时通讯的IM服务器的原因.记得极光社区写的一句话"解决问题很简单,但找到问题却很难." 希望能帮到大家定位到问题,具体的细节有时间在整理.
不足之处还望大家指正,我也好及时改正更新!
QQ:1351232396