Google is deprecating Google Cloud messaging in favor of Firebase Cloud Messaging:
Firebase Cloud Messaging (FCM) is the new version of GCM. It inherits
the reliable and scalable GCM infrastructure, plus new features! See
the FAQ to learn more. If you are integrating messaging in a new app,
start with FCM. GCM users are strongly recommended to upgrade to FCM,
in order to benefit from new FCM features today and in the future.
From some tests I made on my servers, the FCM URL (https://fcm.googleapis.com/fcm/send) works with GCM projects, and vice-versa - the GCM URL (https://android.googleapis.com/gcm/send) works with FCM projects.
Migrating all existing GCM push sending code to FCM would save a lot of trouble and refactoring (I will not have to check, for each push, whether the app version is FCM or GCM).
Is this backward and forward compatibility officially supported or documented?
If you refer to #IanBarber's answer here:
The tokens are different. Firebase Cloud Messaging (GCM) use gets registration tokens from the Instance ID API which means you'll get different tokens between that and GCM2.
You'll need to send that new token back to your server to send messages. On the server side the APIs should be fully compatible (just new endpoints for FCM).
However, if you're looking for any official documentation, I don't think there is one that explicitly states it. Since as much as possible, Google encourages the use of the corresponding APIs, endpoints, etc. depending on what you really intend to use.
Related
I want to get generated registration token which generated by a client such as (Web JS, Android/IOS App...) via robot todo automation testing
I'm thinking to use mountebank to add JS SDK but not simple because related to grant notification permission issue (It's required to able to generate registration token)
Anybody have an idea to get that token via robot please share
Thanks in advance!!!
What is FCM?
Firebase Cloud Messaging (FCM) is a cross-platform messaging solution that lets you reliably send messages at no cost.
Using FCM, you can notify a client app that new email or other data is available to sync. You can send notification messages to drive user re-engagement and retention. For use cases such as instant messaging, a message can transfer a payload of up to 4KB to a client app.
Using deprecated Google Cloud Messaging APIs? Learn more about how to migrate to FCM.
https://firebase.google.com/docs/cloud-messaging
There are a lot of confusing answers on the web, hope someone can make it clear, I have an app that uses GCM.
The GCM to FCM FAQ states that:
Your GCM and FCM registration tokens are mutually interchangeable
Note that client SDKs and GCM tokens will continue to work indefinitely.
It is already very clear that the old GCM token is still valid after GCM service deprecation.
However it is not clear if new installation of my GCM app will still be able to generate new GCM token.
"client SDKs will continue to work indefinitely", does it only mean the notification receiving part will continue to work, or the generate new token part will continue to work too?
Any clarification from official Googlers are welcomed, thank you
What I understood from Frank's answer, the existing tokens from GCM will continue to work but new installations of your app which uses GCM may not generate tokens anymore.
But from mid-April:
You won't be able to compile code using the old client-side APIs on
a newer SDK/Google Play Services anymore
You won't be able to call the GCM REST API to send messages anymore
New installations of your existing GCM-using app may not be able to
get a token.
I also found this thread, according to Diego:
Both GCM sdk and FCM sdk use Google Play services to create tokens and
receive messages. Google Play services is not being deprecated. GCM
sdk is being deprecated in favor of the FCM sdk. In this context
deprecated means:
already released versions of the GCM sdk will keep working
GCM sdk will not receive updates, bugfixes or support
if future versions of Android will introduce breaking changes, the GCM sdk will NOT receive the necessary updates and therefore will not
work on the new devices.
On the Server side, the GCM endpoint is being deprecated in favor of
the FCM endpoint.
the FCM endpoint supports GCM token
we plan to disable the GCM endpoint in the future
Google is deprecating Google Cloud messaging in favor of Firebase Cloud Messaging:
Firebase Cloud Messaging (FCM) is the new version of GCM. It inherits
the reliable and scalable GCM infrastructure, plus new features! See
the FAQ to learn more. If you are integrating messaging in a new app,
start with FCM. GCM users are strongly recommended to upgrade to FCM,
in order to benefit from new FCM features today and in the future.
From some tests I made on my servers, the FCM URL (https://fcm.googleapis.com/fcm/send) works with GCM projects, and vice-versa - the GCM URL (https://android.googleapis.com/gcm/send) works with FCM projects.
Migrating all existing GCM push sending code to FCM would save a lot of trouble and refactoring (I will not have to check, for each push, whether the app version is FCM or GCM).
Is this backward and forward compatibility officially supported or documented?
If you refer to #IanBarber's answer here:
The tokens are different. Firebase Cloud Messaging (GCM) use gets registration tokens from the Instance ID API which means you'll get different tokens between that and GCM2.
You'll need to send that new token back to your server to send messages. On the server side the APIs should be fully compatible (just new endpoints for FCM).
However, if you're looking for any official documentation, I don't think there is one that explicitly states it. Since as much as possible, Google encourages the use of the corresponding APIs, endpoints, etc. depending on what you really intend to use.
I know FCM is the new GCM. However, can the old GCM configuration still be accessed? I am using Cordova and the original plugin doesn't seem to support FCM at the moment. GCM used to work for me but I haven't been fiddling with it for a while and I can hardly find where to set it up and many documentations seem to lead to the newer FCM.
While reading through GCM documentation, I found the alert message from the site:
Firebase Cloud Messaging (FCM) is the new version of GCM. It inherits
the reliable and scalable GCM infrastructure, plus new features! See
the FAQ to learn more. If you are integrating messaging in a new app,
start with FCM. GCM users are strongly recommended to upgrade to FCM,
in order to benefit from new FCM features today and in the future.
How does it affect to current running PubNub configuration when I upgrading to FCM? I'm still not sure if ugprading from GCM to FCM will be just a snap.
Upgrade to GCM
PubNub Mobile Push Gateway - GCM to FCM
FCM is mostly just a rebranding of GCM (GCM used to be called C2DM and this is similar transition). It appears the changes are primarily client side (easier to user SDKs). PubNub (and other GCM push providers) do not have to make any changes on the server side at this time.
As always, PubNub will continue to monitor updates to push notifications services like GCM and APNS and provide new features as needed.
Please contact PubNub Support if you have any issues using GCM/FCM with your PubNub enabled applications.
For more details about using GCM/APNS with PubNub, see these resources:
Sending APNS and GCM Messages to Subscribers and Mobile Push Notification Services in One API Call
Android V4 Mobile Push Gateway Tutorial
Mobile Push Notification Gateways, APNS, GCM, and Data Streams Explained (video)
How can I troubleshoot my push notification issues?
I don't think there will be any issue moving your client from GCM to FCM. A client that implements FCM can receive messages sent to GCM, it is the same infrastructure. If PubNub is sending messages through GCM then your FCM client be able to handle those messages.
Note that GCM is still being supported. So if you are concerned about PubNub's implementation then sticking with GCM is a valid option.