google Gcm can't switch to google Fcm - google-cloud-messaging

I used rpush Gcm to send notification, Now I want to Change Google Gcm to new version of Google Fcm, Then I install rpush version 2.7.0,this version is to use Fcm to send notification,however the file "delivery.rb" still be the old link "https://gcm.googleapis.com",not new version link "https://fcm.googleapis.com",what's the matter with the issue?need your help,thanks!

As stated in this thread, updating endpoints is not strictly required, as Google will continue to support the existing GCM endpoints. Also based from this documentation, be noted of that the new FCM version of gcm-http.googleapis.com/gcm/ is fcm.googleapis.com/fcm/ (without "http").

Related

Is there dry_run functionality in FCM?

GCM has dry_run functionality:
This parameter, when set to true, allows developers to test a request
without actually sending a message.
GCM is being deprecated in favor of FCM, but I don't see a similar feature in FCM.
Does FCM allow you to do a dry run?
AL's answer is based on the FCM Legacy.
For FCM v1, this option is called validate_only
You can see the documentation here: Firebase docs
Yes. The dry_run feature is still available for FCM (Legacy).

In Codename One which is supported either GCM or FCM?

As per this link, FCM is the new version of GCM under the Firebase brand. In Codename One, which is supported? GCM or FCM?
We currently use GCM internally. We can switch to FCM but there is no real reason. Google has no intention of removing GCM as FCM (and a lot of apps) depend on it.
They are pushing FCM to push firebase. This provides no advantage to Codename One users as the easier API isnt' relevant (we abstract away the pains of GCM).
Bottom line is that you don't need to worry, if there is a need to switch to FCM we will do it for you and it will be seamless.
I'm not too familiar with Codename One so I decided to go ahead and look into their site. I found this Codename One page that guides about Push Notifications, but noticed that it's an old guide since this was still using the Developer Console when generating the Server Key (used for GCM/FCM).
With that, I went ahead and asked the Codename One chat support (lower-right side of the page). Chat history below:
Me:
Hey guys. I was wondering what Push Notification Services do you Support?
I've seen this link -- https://www.codenameone.com/how-do-i---use-push-notification-send-server-push-messages.html
Do you have your own Push Notification Service? Or are you guys using GCM? Is it already integrated with FCM too?
Lianna (Chat Support):
Hi,
we use the native push notifications for the respective platforms GCM, Firefox, Chrome, Microsoft and ipns.
Currently we use GCM and not FCM as the advantages given by FCM are mostly for API usage (which isn't applicable) and not very portable (available only for Android). When/if we switch to FCM this would be seamless thanks to our abstraction of the service.
FYI that video is a bit out of date, there is more up to date coverage in our developer guide.
Credit goes to Lianna (Kudos! :)). I think this here is the developer guide she was referring to.

PushSharp - GCM Authorization Failed

Using v4.0.10 of Pushsharp (nuget package), I am getting error GCM Authorization Failed when sending push notifications to Android devices.
Seems the bug raised in issue 574 (https://github.com/Redth/PushSharp/issues/574 ) has been compiled into the nuget package, yet I'm still getting this error.
Could this be related to the introduction of Firebase Cloud Messaging?
Does anyone still have success using GCM?
As of right now, GCM is still usable. However, it is highly encouraged for new users to use FCM instead. Either way, for both GCM and FCM, you must use a Server Key generated from the Firebase Console. There is a visible note in the GCM docs saying:
Starting from Sept. 2016 new server key can only be created in the Firebase Console using the Cloud Messaging tab of the Settings panel. Existing projects that need to create a new server key can be imported in the Firebase console without affecting their existing configuration.
The Authorization error has been encountered by number of users, some also had an old project. See my answer here for more details.
The sender id used in the app code needs to match the sender id Firebase Cloud Message Console and its corresponding "Firebase Cloud Messaging token".
Thank you #AL for your help.

Does upgrading GCM preserve the current API Key in use?

I am upgrading a project that has an older version of GCM (7.5) to the latest version of GCM (9.2). The current project already has a server API key and that key is in use to send push notifications to current users of the app. My specific question is if we generate the JSON configuration file for the current app with it re-create(create a new API key) or over-write the current API key we have in use? We would like to avoid having to do that if possible.
Thank you in advance for any clarity that can be provided.
I haven't experienced upgrading a lower version of GCM to a higher version, but to test this out, I tried importing a Google Project to the Firebase Console (so its like GCM to FCM), keeping in check the current Server Key.
After successfully importing the project to Firebase, the Server Key from before is retained, and can be seen being used in the Firebase Console. So I think the same behavior can also be expected when upgrading a lower GCM version to a higher version.
I also don't see why the Server API key would re-generate if the GCM project is upgraded.
Though I'm not entirely sure. Hope this helps somehow. Cheers!

Should i backup GCM registration ID with google cloud?

Is it advised to backup GCM id using android cloud back up ? i am storing the GCM id in a sharedpreferences so i dont have to keep registering.
if i backup this GCM sharedpref and user changes devices do i need to update it to a new registration id ? Is the registration ID device specific ? What happens when user changes devices and backs up ?
I tried and read this from the docs:
You must exclude any device specific identifiers, either issued by a server or generated on the device. This includes the Google Cloud Messaging (GCM) registration token which, when restored to another device, can render your app on that device unable to receive GCM messages.
From the docs i found my answer that the reason this should not be done is that it can intrefer in the apps intialization of gcm and it will not try to get the GCM id if its already restored from a new device that restored a old registration id.
Handle Google Cloud Messaging
For apps that use Google Cloud Messaging (GCM) for push notifications,
backing up the registration token that Google Cloud Messaging
registration returned can cause unexpected behavior in notifications
for the restored app. This is because when a user installs your app on
a new device, the app must query the GCM API for a new registration
token. If the old registration is present, because the system had
backed it up and restored it, the app doesn't seek the new token. To
prevent this issue from arising, exclude the registration token from
the set of backed-up files.