我不熟悉 iPhone 应用程序中的 Apple 推送通知服务。我已经学会了这些教程和苹果文档,
我们正在将通知从我们的服务器 (PHP) 推送到 Apple 推送通知服务器,APNS 会将通知推送到设备。 在这种情况下,我们如何知道通知是否已从我们的服务器成功发送给用户?如果我们向所有订阅用户(超过 100 个用户)发送通知,我们可以得到这 100 个用户的递送报告吗?
APNS 不会告诉您消息是否已成功传递。最接近的方法是轮询其“反馈服务”,以查看您的应用程序是否已从设备上卸载。查看这篇 SO 帖子,了解如何使用:PHP 技术查询 APNs 反馈服务器 您可以做的是让您的 iOS 应用程序在收到带有
application:didReceiveRemoteNotification
的推送通知时记录一些内容,但这仅在您的应用程序在前台运行时才有效。
,其中包含大量功能和 API。其中之一是访问传递日志,您可以通过提供apns-unique-id来获取通知的不同状态。
通过此功能,您可以找出
为什么在某些情况下(例如当低功耗模式打开时)未交付。所有传输日志(包括控制台和 API)都可以在控制台的“传输日志”选项卡中找到:
此功能也适用于通过常规 APNs API 发送的通知。您需要从 APNs 响应中记录
“apns-unique-id”才能查询此信息。
⚠️ 请注意,对于从控制台发送的通知,无需切换到“发送日志”选项卡,发送页面本身也提供相同的信息: