新上的我的项目应用了融云的 IM SDK,但在我的项目集成 APNs 推送的时候,尝鲜应用了一下开发者后盾的 p8 证书,此文记录应用 p8 的辛酸史~
P8 简介
苹果文档传送门
官网给出了这种更 “ 快 ” 的推送通道: Establishing a Token-Based Connection to APNs,并且这个生成的这个 key 能够实用于以后账户的所有 APP,为开发人员省了不少力量。福音啊~
想想那一堆证书 …… 脑阔痛!
辛酸史
起因是这样的,在融云开发者后盾上传了 p8 之后,发现 debug 环境,始终无奈收到推送,在通过和融云提供的推送文档进行严格的比对之后,发现没故障啊~
最初终于在融云开发人员的帮忙下找到了问题~,融云后盾目前阶段只反对生产环境~ OMG,我打你信不~
区别
p8 是能够同时反对生产和测试环境的,那么为什么融云收不到呢~
让咱们大胆猜想一下:
之前基于证书进行校验的时候,一套证书是基于开发者后盾一个 AppKey 绑定的,那么我用了哪个 AppKey,后端就基于 AppKey 解析对应的证书,这样就能够发送到对应的 push 环境去了,那么问题来了?应用了 p8 之后,他怎么辨别呢?
我也不晓得~ 哈哈哈,但我猜想应该是没有解析都去走了生产环境,因为提醒我环境不匹配~
苹果 APNs 服务
传送门
Development server: api.sandbox.push.apple.com:443
Production server: api.push.apple.com:443
融云文档传送门