Does upgrading GCM preserve the current API Key in use? - google-cloud-messaging

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!

Related

What exactly happens after 10.04.2019 with legacy android apps that use GCM

We are unsure what exactly will happen with our existing apps that use GCM after 10.04.2019.
We have updated the server-side of our apps
We have new FCM-based versions of our Android apps.
However:
We cannot force the existing users to update their apps
Corporate clients might even continue to roll out outdated app
packages to new users
The information / documentation we found somewhat unclear to what will happen in such cases. Therefore, we decided to put our assumptions into 4 statement and we hope someone will be able to confirm them.
It will not be possible to put apps which use the GCM APIS into the Play Store after 10.04.2019
It will not be possible to generate a new GCM tokens after 10.04.2019
Existing users with existing apps which have already have a GCM token will be able to use their apps normally without being forced to update. E.g. Push notifications and related things will work for them.
A user of an existing app which never created a GCM token will not be able to create a GCM token and thus not be able to use any GCM related functions (e.g. Push notifications and related things). Such a user would need to update to the apps in order to e.g. receive push notifications.
I hope someone can confirm above assumptions.

Stripe.net and Stripe API

Im looking to find out the latest stripe.net (https://github.com/jaymedavis/stripe.net/tree/v6.11.0) compatibility with stripe.com api (https://stripe.com/docs/upgrades).
Does anybody know if there is a compatibility relationship between the stripe.net and stripe.com api?
Per Stripe docs:
When we make backwards-incompatible changes to the API, we release new, dated versions. The current version is 2016-07-06. Read our API upgrades guide to see our API changelog and to learn more about backwards compatibility.
...
All requests will use your account API settings, unless you override the API version.
...
To set the API version on a specific request, send a Stripe-Version header.
Stripe.net sets the Stripe-Version for every request -- currently to 2016-07-06. In the GitHub repo, you can see the code that sets it. See here for the API Version it uses and here where it actually adds the header.

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.

GCM Google-services.json storing api key

I am implementing GCM with android client and according to the google documentation I need to download the google-services.json and add it to the module. I notice that the google-services.json contains the api key for the project. Is it wise to include the api key in the project?
In my scenario I have to use GCM with android using AWS, in the aws documentation they are simply adding the project number for registration
http://docs.aws.amazon.com/sns/latest/dg/mobile-push-gcm.html
But in android studio when I add dependency in the build.gradle I am getting compilation error for missing google-services.json.
com.google.gms:google-services:
so my question is there a way I can skip the google-services.json in the android studio project? and if not then is it wise to include the api key in that file?
Thanks
P
As have been discussed in this thread, "google-services.json contains developer credentials and configuration settings, which is needed to verify while connecting with GoogleApiClient". However, it was also mentioned that GCM has been used before without google-services.json .

Changing Android API Key for GCM

I have inherited a GCM application to send messages to android phones. We have an Android API Key set up that may have been compromised. I would just like to ensure that I change it in a way that doesn't break the apps that are currently running.
I think what I do is:
Create a new Android API Key here: https://console.developers.google.com/project/my-project-name/apiui/credential
Delete the existing Android API Key
As I understand it from the docs, when I create my new API Key from the last apk generated, the SHA1 I used to generate it, along with the package name, should match up to my already-deployed android apps. I should not need to re-upload an apk.
Is that correct?
Thanks!
Yes and no.
YES, if you are using OAuth 2.0, which depends only on the SHA1 and package name;
NO, if you are using API key, which usually require you to place your key in your manifest file.