High volume of “Stored - Device Offline” and “Stored - Power Considerations” in APNs production delivery metrics

Hello, We are investigating intermittent push notification delivery issues for a production iOS application. Our push architecture is: Application backend → Firebase Cloud Messaging (FCM HTTP v1) → APNs → iOS devices During a recent large-volume notification event, some iOS users reported not receiving the notification, while many other users successfully received the same type of notification during the same period. From our sending platform:

  • The affected notification requests were successfully accepted by FCM.
  • No sending error was returned for the affected cases.
  • The FCM registration tokens of the affected users were verified and were not invalid or unregistered.

We then reviewed the production metrics in Apple Push Notifications Console. For a recent one-week period, the console reported approximately:

  • Received by APNs: 729.7K
  • Delivered to Device: 553.5K
  • Delivered to Device (From Storage): 125.2K
  • Stored - Device Offline: 58.4K
  • Stored - Power Considerations: 5.7K

We understand that these status counts represent status occurrences and are not necessarily mutually exclusive. For example, the same notification may first be stored and later delivered from storage. However, we would like to better understand the relatively large number of notifications being stored by APNs. Could Apple please clarify:

  1. What device or APNs conditions specifically cause a notification to be classified as Stored - Device Offline?
  2. What conditions cause Stored - Power Considerations for normal user-visible alert notifications?
  3. For an application with a large production user base, are these volumes or proportions considered normal APNs behavior?
  4. When a notification is stored because the device is offline or because of power considerations, under what circumstances can it eventually fail to reach the device?
  5. If multiple notifications for the same application/device arrive while the device is unavailable, can an earlier stored notification be replaced or discarded by a newer notification?
  6. Because our APNs provider connection is handled by FCM, we do not currently have the APNs ID for each individual request. Is there another Apple-supported way to investigate an individual production notification, or correlate it with the Push Notifications Console delivery data?
  7. Are there any recommended APNs configuration or sending practices that could reduce the number of notifications entering these stored states?

We can provide exact UTC timestamps, Push Notifications Console screenshots, exported metrics, and additional production information privately if an Apple engineer needs them. Thank you.