问题
I wonder if it's okay to use a push-notification message rather than a service, or in other words, if it is totally reliable the push notifications delivery. I know IOS is not trustable, but I am not sure if Google is guaranteeing the delivery. So, please enlighten me.
回答1:
Nope sorry. The standard GCM push notifications as you can read on Google’s official documentation ( https://developers.google.com/cloud-messaging/concept-options ) are a best effort service. I quote:
In other words, GCM will guarantee best effort for messages that must be delivered "now or never."
If you are looking for reliable push messages delivery API you can give the following services a try:
- Pushy
- Catapush
Both of these services establish their own background connection similar to GCM to improve reliability of push notifications.
回答2:
Android push notifications sent via GCM / FCM are not reliable due to various issues with GCM's underlying architecture [1] [2] [3]. Push notifications may be delayed, rate-limited, lost in transit, or arrive in a different order than which they were sent.
There are alternative push notification gateways you could use instead, which are far more reliable for your time-critical operational needs.
You could try Pushy (https://pushy.me/), a service which offers a highly-reliable push notification gateway for Android apps that works independently from GCM, using its own background MQTT connection.
Full disclosure: I founded Pushy.
回答3:
The fact is that there is no way to 100% guarantee any notification. Several variables outside of Apples and Googles control would keep them from ever doing so. On the users device you have things like user preferences and network connectivity.
One of the largest things though that would keep them from guaranteeing the delivery is that neither have taken 100% responsibility for initiating the push itself. Im hoping that this changes as Apple and Google are both starting to explore app services hosting but they still leave all the responsibility on the developer. Which means that developers are primarily resposible for the server which initiates the push and its content. That way they can still say "if it didnt get delivered then it must be your fault". If you are familiar with iOS then you know how big of a pain in the but it is just setting up your computer/server for handleing remote push notifications.
What I have found to become increasingly helpful in near 100% delivery are letting a service like Parse.com handle all notification deliveries. They offer some neat features like keeping track of all installed devices, their operating systems, and their push notification statuses(badge numbers). They offer some pretty cool other features.
回答4:
They depends upon network connectivity and other issues as Nathan Kellert describes. Instead of messages push can be useful if used with a trusted service provider. If you want to use push service then options are parse, pushboots and others too.
来源:https://stackoverflow.com/questions/27967691/are-android-push-notifications-reliable