AWS SNS - iOS endpoints not becoming disabled when the app is uninstalled - ios

I am using AWS SNS to send push notifications to all of my Android and iOS devices.
On Android when I send push notification to all my devices, SNS correctly disables inactive endpoints, i.e. endpoints pointing to the app which was uninstalled by the user.
However, on iOS, this is not working. Even if a user deletes the app and then I send a push notification to all devices - the endpoint is still enabled. On iOS endpoints never become disabled even if the app is uninstalled.
Does anyone have any idea, why endpoints are not getting disabled on iOS devices?

Related

iOS Firebase Push Notification - Token received but push not working

I am currently developing an App with push notifications using Capacitor. I followed their guide for the implementation online and everything works so far. I am receiving a token & it is successfully sent to my backend. The problem I am facing right now is that when I try to send a push to that deviceToken via firebase admin SDK the push never reaches my phone (the same is true, when I try to target the whole iOS platform via Firebase Cloud Messaging).
I am not sure why I don't receive any pushes (I have tested it on 2 different devices -> both receive their pushToken, but none of the receive pushes, everything works just fine on android). Do you have any ideas what the problem might be here?
you should enable the capability of push notification and enable background mode such as:
!(https://i.stack.imgur.com/DGZ7h.png)
!(https://i.stack.imgur.com/z7ITq.png)
and you should go to your
firebase project settings/cloud messaging/
add or insert your APNs Authentication Key
from apple developer account

Firebase Cloud Messaging and IOS strengths and weaknesses

I have built an application using phonegap. So far, all of the application features work in both Android and IOS. Now, I would like the app to receive push notifications.
I plan to use Firebase but a friend has warned that FCM can only send push notifications to IOS if a user manually types a message into the FCM console (As in there is no API which would allow my server to send push notifications to IOS manually). The docs haven't helped me prove or refute this warning. Can anyone tell me if I can programmatically send push notifications to IOS using Firebase?
Yes, it is possible to send messages to iOS through Firebase Cloud Messaging through its (server-side) API. You can either just target iOS devices, or send a message to both iOS and Android devices with specific details for each platform.
For full documentation, see https://firebase.google.com/docs/cloud-messaging/send-message.

iOS push notification using FCM

Currently we are using AWS for sending IOS push notifications and FCM for Android notifications. As FCM also supports IOS notifications, we want to consider that for 2 reasons
It is free service (AWS is not that costly)
to have single interface from app server for push and web notifications
but from FCM documentation, it looks IOS app has to be tightly integrated with FCM API for delivering push notifications (this is not required for AWS). so i want to know if there is a way I can send push notifications without any change to iOS app code.
The iOS app must be configured to receive messages from the FCM Servers.
You'll have to implement the necessary functions (callbacks specifically) in your client app that will handle/receive the messages as mentioned in the Setting Up a Firebase Cloud Messaging Client App on iOS.
It's also through implementing the needed functions you'll be able to generate a token needed by the FCM servers to send a message towards the device(s).

Push notification through Appcelerator not delivered to the iPhone device

I'm using Appcelerator's cloud services to send push notifications.
I'm sending notifications from both their web admin console as well as using their REST API. 2 iOS devices successfully subscribed, and i sent them notifications, but the devices never get the notification.
All ceritificate and provisions on Apple's dashboard seems correct. all Appcelerator's cloud responses seem successful, but still the notifications never display on the devices.
Any ideas?
Thanks

How should I send push notifications only to active devices?

I have an iOS app with a Rails backend (and frontend). I am using Parse for push notifications.
I am trying to figure out the best way to only send push notifications that will be received; that is, I want to avoid sending them to:
Users who only use the web app and don't have the iOS app
Users who had the iOS app but then uninstalled it
The way that the Parse Push API works is that I can broadcast a notification on a certain channel, and any device that is listening to that channel will receive the notifications. Therefore, I am planning to make separate channels for each user.
Obviously, I am going to need to store some sort of information on the server side about who is running the iOS app. I'm curious as to whether anyone out there has experience solving a problem like this and can offer any wisdom. Thanks!
Parse already stores information about who is running iOS and Android apps. Check out the Data Browser, there is an Installation table with a deviceType field.
Have the iOS app register a unique (per-user) channel. If you're only sending push notifications on user channels, it will only be sent to users who have installed the iOS app.
There's not much you can do for users who had the iOS app but uninstalled it. Apple doesn't provide a way for applications to run any code before being uninstalled, so you can't unregister the device with Parse. I'm not sure if Parse does this, but Urban Airship polls the APNS servers and removes devices that have had the app uninstalled after a certain amount of days.

Resources