开发环境服务器地址:gateway.sandbox.push.apple.com:2195
生产环境服务器地址:gateway.push.apple.com:2195
在开发(Development)和生产(Production)两个版本中,获取APNs设备令牌的方式不同。开发版本的令牌是从“develop”的mobileprovision文件中获取的,而生产版本的令牌则是从“production”的mobileprovision文件中获取的。
虽然两个版本可以共用同一个AppID(但并不推荐这样做),因为共用AppID在每次调试前删除设备上的应用并重新打包。共用AppID可能会导致不稳定,因此不建议使用。由于不能共用mobileprovision,所以为生产版本单独生成Distribution证书。
请注意,Distribution证书版本不支持在设备上调试。
开发版和生产版的codesign签名也不同,前者使用的是iPhoneDeveloper,后者使用的是iPhoneDistribution。请确保不要混淆。
无论是开发还是生产环境的SSL证书,都有过期时间。开发环境的SSL证书有效期大约为四个月,而生产环境的证书有效期则是一年。请确保在证书过期前及时更新,以免影响使用。
在Mac上生成Apple推送通知SSL许可证的步骤如下:
1.登录到iPhoneDeveloperConnectionPortal,点击“AppIDs”。
2.创建一个不带通配符的AppID,例如:AB123346CD.com.serverdensity.iphone。
3.点击AppID旁边的“Configure”,然后按照向导生成并上传签名,最后下载生成的许可证。
4.双击.cer文件将其添加到Keychain中。
5.在Mac上打开KeychainAssistant,选择loginkeychain下的Certificates分类,然后导出“AppleDevelopmentPushServices”为apns-dev-cert.p12文件。
6.对“PrivateKey”执行相同操作,保存为apns-dev-key.p12文件。
7.使用终端命令将文件转换为PEM格式。
8.将键和许可文件合并为apns-dev.pem文件,用于连接APNS。
9.检查证书是否正确的方法是通过telnet连接到APNS服务。
10.使用SSL证书和私钥建立安全连接。
11.客户端申请证书并复制代码即可。
12.服务器端根据使用的语言(如PHP或Java)使用相应的证书格式(.pem或.p12)。
13.服务器端发出的JSON包大小有限制,最大为256字节。
14.JSON包中的aps中的alert字符串可以添加换行符。
15.除了alert、badge、sound之外,还可以自定义其他值。
16.在ServerDensity中,建议使用原生接口发送多个payload,以避免APNS封锁IP。
Apple推荐使用原生socket进行数据传输,这种方式不产生回馈,适用于发送多个payload。
原创文章,作者:admin,如若转载,请注明出处:https://www.dyshengda.cn/news/91.html