I understand that APNS cannot be relied upon for data delivery and it can be disabled by the user. So, an alternate mechanism must be used for realtime polling of the server.
What do you recommend to do on both client and server?
There are other options as well as third party solutions such as firebase. However in general we prefer to ‘own’ our stack and run it all on amazon so we are not tied into too many third party services for critical functionality.
What you’re looking for overall is a socket / web socket based approach rather than traditional polling. This will keep things lightweight and real time.