我有一个需要推送功能的 iOS 应用程序,为此我创建了必要的开发和生产 SSL 证书并将它们加载到通知提供程序(node-apn)上;
通知在 APNs 沙盒环境中工作正常,但是,在生产设置上发送通知时,提供者从 APNs 网关收到缺少主题错误。
在检查产品证书后,我看到证书扩展下列出了三个项目,如预期的那样:
- app.bundle.id
- app.bundle.id.voip 和
- app.bundle.id.complication
APSd 登录手机,显示当应用向操作系统注册其通知设置时,相关主题(app.bundle.id)已启用。因此,在应用程序方面,我的设置看起来不错。
根据 Apple 文档,来自 Provider 的通知发布 POST 必须包含一个apn-topic
标头 iff,该应用程序支持多个主题。
我的理解是 voip 和复杂节点会自动添加到证书扩展中,并不一定意味着单独的主题。
问题 :
apn-topic 标头是强制性的还是可选的?
上述设置被视为多主题还是单主题?
每个通知提供者是否需要知道它支持的每个应用程序的捆绑 ID/主题,并使用该值将 apn-topic 标头发送到 APNs?
好心提醒。