Notifications

RSS for tag

Learn about the technical aspects of notification delivery on device, including notification types, priorities, and notification center management.

Notifications Documentation

Post

Replies

Boosts

Views

Activity

Difference between Push delivery metrics in APNs console vs. 410 code for unregistered tokens
Hi there, We’re using APNs Push delivery metrics, which provide a breakdown including metrics like Received by APNs, Delivered to Device, and Discarded - Token Unregistered. To track unregistered tokens on our end, we also monitor the 410 error responses from APNs, which typically indicate that a token is no longer valid. However, we’ve noticed a discrepancy: the number of 410 errors we receive is much lower than the Discarded - Token Unregistered count shown in the APNs console. Is this difference expected? Specifically, does APNs sometimes know that a token is unregistered but still return a success status to us when we attempt to send a push to that token? Thank you for any insights you can provide!
1
0
478
Nov ’24
Email notification on Lock Screen not appearing
Using the native email ios mail app iPhone 16 pro. When an email arrives the phone will ding or vibrate, but the message notification doesn't appear on lock screen. If you touch the screen from dim to wake then scroll up, the email notification does appear. If the phone is open the notification also appears at the top of screen as it's meant to do. This started yesterday with iOS 18.2 beta 1. It was not resolved with the new update.
4
1
1.5k
Nov ’24
APNS: Unexpired, priority=10, type=alert sometimes do not appear in Notification Center when coming back online
System Information: iPhone 13, iOS 17.6.1 Steps to reproduce: Open my app, causing it to register for an APNS token Kill my app to make sure it is not in the foreground Send a push notification with a payload similar to this: {"aps":{"alert":{"title":"My App Name","body":"10:24am 🚀🚀🚀"}},"price":19,"clock":175846989,"time":1731001868.379526} And the following attributes: Expiry: (Date that is 7 days from now) Type: Alert Priority: High (10) Payload Size: 141 bytes The notification appears in the Notification Center, as expected Turn on Airplane Mode (WiFi=off) Wait between 60 seconds - 8 hours (varies) Send the same notification payload/attributes again Wait between 60 seconds - 8 hours (varies) Turn on WiFi Wait 1-30 minutes (varies) Expected behavior: The notification appears in the Notification Center Actual behavior: Push notifications from other apps immediately appear in the Notification Center Roughly 30% of the time: The push notification(s) from my app never arrive, even after waiting 30 minutes Roughly 70% of the time: The notification appears in the notification center, and everything works fine Thoughts: Expiry must be set correctly because I've seen my notifications get queued and then delivered (correctly) in the CloudKit Push Notification tool. Identical notifications (payload, APNS headers, etc.) are also sent to other devices at the same time. They receive the notifications just fine. It must not be my iPhone's notification Settings, because notifications appear correctly when online I've tried restarting the iPhone, it did not fix this issue So it seems it must be an unexpected behavior in APNS or something broken with my specific phone? Not sure what else I could possibly do to make sure the notifications arrive. This breaks the entire experience of my app. I need to be able to notify users of incoming messages so they do not miss them.
7
0
470
Nov ’24
It didn't get any notifications after changing the device token. (Voip, APNs)
I am developing the iOS application using PushKit and APNS. Some users didn't get any notifications after some events, such as updated iOS 18 or a new version from the App Store. After the event had changed device tokens (PushKit, APNS). When the app has launched, register the iOS system with PushKit and APN tokens and upload it to our server. Most of the time, the tokens didn't change. I was investigating the console log when making a call from another device or sending APN. But I didn't get any logs from it. Normally it is looking following apsd, callserviced, Springboard, delivering or launching the app when getting a voip push. The issue was solved after reinstalling the app. But it still occurred with users—about 1% of total.  How do I solve the issue without reinstalling the app?
2
0
550
Nov ’24
Support Status and Specific Implementation Methods for ContactProviderExtension with NotificationServiceExtension
I am considering an implementation to provide OS Contacts information in real-time using data from push notifications. Through a TSI (Technical Support Incident), Apple Support recommended combining ContactProviderExtension and NotificationServiceExtension. However, the following threads indicate that this combination is not supported, as confirmed by Apple DTS (Thread 1, Thread 2). Question 1: Latest Support Status for Using ContactProviderExtension with NotificationServiceExtension Additionally, there is limited documentation on implementing ContactProviderExtension, and I am specifically struggling with the following points: Question 2: Specific Implementation Guidance for ContactProviderExtension The method to call when providing Contacts information to the OS How to add and delete Contacts information provided to the OS How to verify the Contacts information currently provided to the OS Any insights on the latest support status or specific implementation methods for these extensions would be greatly appreciated.
0
0
464
Nov ’24
Is applicationIconBadgeNumber deprecated?
Our team had previously encountered deprecation warnings for applicationIconBadgeNumber, but while working with iOS 18.0.1 and Xcode version 16.1, I no longer see these warnings. Has the deprecation been reversed, or do we need to address it on our end? Please provide insights on whether the deprecation still applies, as there are no warnings in Xcode for that API and action items on the integrators.
1
0
265
Nov ’24
Short spikes in timeout calling APNS
Hello, I would like to check with you on a possible APNS issue. We saw a huge spike in the number of failed requests towards APNS (both api.push.apple.com and api.development.push.apple.com). On October 31st, at 13:39 (during 1 or 2 minutes), more than 700k requests failed. Which means more than 10% of all requests made by our service to api.push.apple.com. Our service is sending notification requests for more applications, different AppIds, in high amounts. Even more concerning is the fact that it happens more or less regularly now. 2-3 times a week. Still, just for short time, but I would like to check with APNS, whether it is something you know about. Checking graphs in CloudKit did not help me much. They don't allow good enough granularity. Not more precise than 1 day. Please, let me know if you are aware of some very short transient issues in APNS. Happening more or less regularly, with noticeable impact.
3
0
527
Nov ’24
About “Apple Push Notification service server certificate update”
Apple Push Notification service server certificate update https://developer.apple.com/news/?id=09za8wzy All developers using APNs will need to update their application’s Trust Store to include the new server certificate What exactly should developers do? Please tell me the specific method. Please make sure that both old and new server certificates are included in the Trust Store before the cut-off date for each of your application servers that connect to sandbox and production. How do I make sure that both the old and new server certificates are in the Trust Store? Thank you for your understanding.
4
1
1.7k
Nov ’24
ANCS: Managing Multiple Calls on Nordic Semiconductor Watch
Hello, We’re working on a connected watch that displays notifications and handles calls using the ANCS (Apple Notification Center Service) on a Nordic Semiconductor platform. We can manage a single call by monitoring notifications with Category ID: Incoming Call and Category ID 12: Active Call, which lets us display the call status on the watch. However, we’re facing challenges with handling multiple calls, especially around holding and resuming calls. Our key issues are: Tracking Call on Hold: When the first call is put on hold to answer a second call, ANCS removes the first call notification. This leaves us unable to track if there’s a call on hold until it’s resumed and reappears as an Active Call. Is there any ANCS flag, category ID, or other mechanism to indicate a call is on hold? Tracking Total Call Duration: When resuming a held call, ANCS assigns a new Active Call category ID with a new timestamp, which reflects the resumption time rather than the original call start time. This complicates tracking the total elapsed time. Is there a way to identify that this resumed call is the same as the original one to retain the initial timestamp? Any insights or workarounds would be greatly appreciated! Thank you.
1
1
243
Nov ’24
Is there a way for a device to detect when VoIP Push has been blocked?
Hello, I am developing an application using VoIP Push and CallKit. I have a question: Starting with iOS 13, I understand that under the VoIP Push policy, if reportNewIncomingCall is not called continuously, the VoIP Push may be blocked. Is there a way to determine if the device has been blocked? I am curious whether PKPushRegistry itself is unable to receive pushes or if reportNewIncomingCall returns an error when it is blocked. If push notifications are not being received, what should I do to resume receiving them? Thank you.
3
0
590
Nov ’24
Error calling Test Notification endpoint
I'm trying to call the Test Notification endpoint: https://developer.apple.com/documentation/appstoreserverapi/request_a_test_notification?language=objc I'm creating a JWT bearer token using a script I run on the console with these 2 commands: npm install jsonwebtoken fs and node generate_jwt.js Keys are taken from App Store Connect -> User and Access -> Integrations -> Keys -> In-App Purchase. generate_jwt.js script: const jwt = require('jsonwebtoken'); const fs = require('fs'); const keyId = 'MY_KEY_ID'; const issuerId = 'MY_ISSUER_ID'; const privateKey = `-----BEGIN PRIVATE KEY----- MY_SECRET_KEY -----END PRIVATE KEY-----`; // Define JWT headers and claims const token = jwt.sign({}, privateKey, { algorithm: 'ES256', expiresIn: '1h', issuer: issuerId, header: { alg: 'ES256', kid: keyId, }, audience: 'appstoreconnect-v1' }); console.log('JWT Token:', token); When I run a POST https://api.storekit.itunes.apple.com/inApps/v1/notifications/test request on postman with Bearer token authentication, I get a 401 Unauthorized error.
0
0
266
Nov ’24
Notifications
I hav the 16 Pro Max running 18.1. My facebook, TikTok and other apps seem to not have sound when I get their notification, my phone settings is always anable with sound, apps also enable with sound, please any suggestions
0
0
880
Nov ’24
APN's not delivering to macOS devices
Hello, I am building a swift macOS app and have noticed issues today with delivering APN's to both development and production devices. Similar to this thread the only way I can get them to deliver temporarily is to do one of: Change the bundle ID of my app to a new bundle ID, then start it up. I will usually get the first notification. Reset my network (either wired ethernet or wifi, typically both) Using the push notifications console for development sends, I see the message "discarded as device was offline" in the delivery log even though the device is still online and was just registered when I got back the deviceToken. If I set an expiration on development notifications then the delivery log says "stored for device power considerations" and the notification will then send once I do one of the above steps (new bundle or reset network). Previous to today the notifications were sending immediately and I had no issues getting them. Is there something I can do to fix this problem, is it a problem with the APN provider, or is it something else I haven't thought of? A unique ID for an expiration-based notification is 1755def8-1a44-cbcf-c64b-64e435c30f81, and a non-expiry is d7a72b46-0c64-4500-0abc-3734f9efbd90.
4
0
470
Nov ’24
frequentPushEnablementUpdates for live activity is never called.
frequentPushEnablementUpdates asynchronous sequence is never called even if 'More Frequent Updates' is toggled ON or OFF. for await frequentPushEnabled in ActivityAuthorizationInfo().frequentPushEnablementUpdates { // never called } Though we are able to get the 'More Frequent Updates' value once by the following: var isEnabled = ActivityAuthorizationInfo().frequentPushesEnabled //true if ON, false if OFF This only gives the result once as it is not async observation sequence. But the 'frequentPushEnablementUpdates' async sequence is never called. As per the doc - 'frequentPushEnablementUpdates' is an asynchronous sequence you use to observe whether a person permitted you to update Live Activities with frequent ActivityKit push notifications.
0
0
282
Nov ’24
Question about Wallet notifications
Good afternoon) Could you please advise, I need to issue a Wallet-a card with a description of the bonus program for a certain store. I also need to organize sending a unique push to the user's devices if the user's points are burned. Can you please tell me how I can send a unique message to the customer in such a case? Will it be a card update? Java Server Card generation via server
1
0
284
Nov ’24
Regression: iOS 18.2 heavy delay of local push notifications (even time sensitive notifications)
Hello! I am working on an app that requires to send a local push notification to the user from an app extension (from the ShieldActionDelegate to be precise). This is suggested by DTS as a workaround for this issue: https://forums.developer.apple.com/forums/thread/766644 But now, on the iOS 18.2 beta, local push notifications are delayed by up to 10 seconds, even though the push notification is classified as .timeSensitive, leading to a very bad user experience (where to user has to sit and wait for the notification to arrive without knowing how long it will take). This only happens when Apple Intelligence is turned on. This had happened previously on the iOS 18.1 beta but was fixed for the final release: https://forums.developer.apple.com/forums/thread/764848 But now the issue came back on the latest iOS 18.2 beta. I have documented the new behavior in FB15668616 Any help is appreciated!
3
3
1.8k
Nov ’24