iOS通过JPush集成来实现推送功能相信很多iOS程序员都做过, 今天我就来分享一些我在iOS集成JPush过程中遇到的问题, 解决方案, 和极光相关工作人员对我的帮助!
集成步骤:
1. 在 JPush的管理Portal 上创建应用
2. 登陆 苹果开发者网站 进入开发者账户。
3. 从开发者账户页面左侧入口进入“Certificates, IDs & Profiles” 页面
4. 创建 App ID,填写 App ID 的 NAME 和 Bundle ID, 为 App 开启 Push Notification 功能。如果是已经创建的 App ID 也可以通过设置开启 Push Notification 功能。填写好以上属性后,点击 “Continue”,确认 AppId 属性的正确性,点击 “Register”,注册 AppId 成功。
5. 创建 Push 证书, 新建证书需要注意选择 APNs 证书种类。如图 APNs 证书有开发(Development)和生产(Production)两种。(开发证书用于开发调试使用;生产证书既能用于开发调试,也可用于产品发布)
6. 点击 "Continue", 之后选择该证书准备绑定的 AppID。
7. 点击 “Continue”,会进入 CSR 说明界面。再点 “Continue” 会让你上传 CSR 文件
8. 创建CSR ,打开系统自带的 KeychainAccess 创建 Certificate Signing Request。
9. 填写“用户邮箱”和“常用名称” ,并选择“存储到磁盘”,证书文件后缀为 .certSigningRequest 。
10. 回到浏览器中 CSR 上传页面,上传刚刚生成的后缀为 .certSigningRequest 的文件, 生成证书成功后,点击 “Download” 按钮把证书下载下来,是后缀为 .cer 的文件。
11. 双击证书后,会在“KeychainAccess”中打开,选择左侧“钥匙串”列表中“登录”,以及“种类”列表中“我的证书”,找到刚才下载的证书,并导出为 .p12 文件
12. 在极光控制台上,进入你应用的应用设置中 iOS 的鉴权方式选择 “证书”,上传刚才导出的 .p12 证书。极光会在后台为你的应用进行鉴权。
13. 创建成功后自动生成 AppKey 用以标识该应用。
14. 导入相关代码: 通过Cocoapods下载地址 :pod 'JPush' 如果需要安装指定版本则使用以下方式 pod 'JPush', '版本号'
问题前提: 推送列表服务器值保存一天
遇到的问题: iOS在程序进程关闭之后无法获取极光推送消息所携带的数据, 只有当用户点击推送消息进去程序之后, 程序才能获取推送所携带的数据并将数据存储到本地
解决方案: 后台根据用户ID获取该用户的推送列表, 通过接口传递到前端, 讲本地数据与接口传输的数据进行对比, 讲本地没有的数据获取到, 存储到本地.
极光相关工作人员的帮助: 对集成过程中遇到的集成BUG, 已经突发的无法正常推算的事件, 通过与极光相关工作人员的交流和沟通得到了有效的解决.
「本文系极光征文 | 写写文章就能赢 Filco,岂不美滋滋的参赛文章」