In my app, for first time push notification registration, I call didRegisterForRemoteNotificationsWithDeviceToken and save the device token in persistence as well as update my server list for device token. Now afterwards if somebody turns the push notification settings off from iPhone Settings how can I determine it from my app so that I can remove the device token from server as well. I know APNS provides a feedback list, but other than that is there a way to determine it in App programmatically? Thanks for any help!
How to determine Push notification status programmatically?
2k Views Asked by DonDyck At
1
There are 1 best solutions below
Related Questions in IPHONE
- How to control the volume of an iPhone programmatically in objective-c
- my website crash on safari The site sometimes crashes and I can't recover the crash
- Postal Framework crash in iPhone but runs successfully in simulator
- Xcode 15 building failure when using iphone 15 as simulator, using ios 17
- Images uploaded via Active Storage not displaying in Active Admin or on certain devices
- Any problem with creating provisioning profile with old Iphone?
- Does anyone know how to make iPad layout the same as iPhone's? Size wise the text and overall layout get's smaller when I run the app on the iPad
- Keyboard not appearing when connecting smart card reader to iPhones with type-c port. i.e. iPhone 15/ 15 pro
- Access the list of SIM mobile numbers installed in the iPhone
- Can we produce haptics and record from microphone the haptic sound at the same time on iOS?
- SwiftUI's localized string do not load from main bundle despite using the main bundle identifier (an xcode bug?)
- Cordova iOS only app upload through transport requires WKWatchKitApp
- Amazon s3 video is not played on Iphone
- build getting failed for ios xcode build -flutter app
- "Error when Importing 'mysdk' into iOS Demo App: dyld Library not loaded: @rpath/MQTTClient.framework/MQTTClient"
Related Questions in IOS
- URLSession requesting JSON array from server not working
- Incorrect display of LinearGradientBrush in IOS
- Module not found when building flutter app for IOS
- How to share metadata of an audio url file to a WhatsApp conversation with friends
- Occasional crash at NSURLSessionDataTask dataTaskWithRequest:completionHandler:
- Expo Deep linking on iOS is not working (because of Google sign-in?)
- On iOS, the keyboard does not offer a 6-character SMS code
- Hi, there is an error happened when I build my flutter app, after I'm installing firebase packages occurs that error
- The copy/paste functionalities don't work only on iOS in the Flutter app
- Hide LiveActivityIntent Button from Shortcuts App
- While Running Github Actions Pipeline: No Signing Certificate "iOS Development" found: No "iOS Development" signing certificate matching team ID
- Actionable notification api call not working in background
- Accessibility : Full keyboard access with scroll view in swiftui
- There is a problem with the request entity - You are not allowed to create 'iOS' profile with App ID 'XXXX'
- I am getting "binding has not yet been initialized" error when trying to connect firebase with flutter
Related Questions in COCOA-TOUCH
- How to get MetricKit SignPost Metrics data formulated into battery usage % for feature wise usage in iOS app?
- Clicking the right mouse button. Mac M1 (Designed for iPad)
- iOS Swift : How to detect that other apps are being use by the user or not?
- Text background color for newlines in TextKit 2
- How to build ios release bundle in flutter app?
- will my application be rejected if i use UIApplication.value(forKeyPath: #keyPath(UIApplication.shared)) as? UIApplication
- Check number of touches in hitTest - Swift
- CallDirectory app extension runs out of memory without beginning request
- How do I properly design my own custom table cell?
- Reorder multiple items in a UICollectionView
- How can I transfer data between two files without segue?
- Deleting from the start of the UITextfield clears the whole textfield
- Error Running terminal command in Mac App
- How to get C char * string value in swift?
- TextView adds bottom padding/space when text is one line
Related Questions in PUSH-NOTIFICATION
- Custom Sound for Expo Push Notifications Only Works in Foreground
- Actionable notification api call not working in background
- After adding the packages of "Xamarin.Firebase.Messaging", getting error related to JAVA0000 "Compilation failed"
- How can I schedule OneSignal notifications programmatically from a Flutter app
- Firebase push doesnt receive after init in other process
- Background notification also get muted on removing "sound" from presentationOptions in @capacitor-firebase/messaging?
- Push notifications in flutter webview app
- (iOS) Can we have multiple APNs files for the same app?
- How does iOS notifications handle cases without content-available key
- Push notification can't be activated in certain phone models and OS
- How to modified remote notification body content in ios using react native
- Push notification sent from Laravel is received by Android device, but isn't received by iOS device
- i want to get the FCM token
- How to update my service worker for existing web push subscribers?
- Android FCM push notification not launching the application on click
Related Questions in DEVICETOKEN
- Verifying fcm token issued for domain
- FCM: Device token is not valid
- How to get Airship device token for iOS and gcm_registration_id for Android with Flutter?
- Trying to get iOS device token by using firebase message in React Native
- How to get device token in flutter
- How to get the device token in flutter
- Send a notification in app to another user using Firebase Messaging given user's device token in Flutter
- Retrieve the app push token from the device automatically in swift iOS
- How to update the old device token with the new device token for Apple Push Notifications (APN)?
- Firebase FCM and Subscribing to Topics Clarification
- How to deal with old iOS notification tokens remaining valid after new token and vendorId are generated?
- ios swift - Save device token as data format printing different values
- How to retrieve pns handle token again in firebase service using xamarin.android
- Is it acceptable to send APNS device token each time with user request instead of registering user?
- Xamarin.Forms - iOS - If user declines notification permission and then changes manually in settings, how do I get the devicetoken?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
I believe you do not want to manage tokens this way.
Your app should always be asking Apple for an APNs token. You should always then send that token to your own server, likely associating the token with your user (if you have one). You do this because the token could change, so you want to make sure you always have up-to-date tokens.
The Feedback service will tell you (actually, you poll it at some interval of your choosing) which tokens have become invalid. At this point, you remove the tokens from your server-side database. To be clear, you need a server-side process that polls Apple's feedback service and then updates your server-side database.
You will not receive feedback about invalid tokens until you try to send a notification using the token. The notification will (I believe) be accepted by Apple when you send it, but when Apple discovers it's for an invalid token, the message is dropped, and the token is added to your feedback.
Now, if the user of your app accepts push notifications when your app first asks about it, but later turns off notifications via the Settings app for your app, you will not get any feedback about it. What happens, near as I can tell, is that any notification you send to that device will be sent to the device, but the OS drops it, honoring the user's ultimate choice in the Settings app for your app and notifications.
Finally, there is an API you can call in your app to get a bitmask of which kinds of notifications are enabled for your app on the device. Here's a method I wrote for this purpose; adjust as needed:
But I would not recommend using this to decide if you app should tell your server to delete the token from your database. That's not how the whole APNs system is intended to work... I believe.