[Ovmsdev] [Action Required] Update your apps to the latest Firebase Cloud Messaging APIs and SDKs

Michael Balzer dexter at expeedo.de
Tue Jan 9 16:18:50 HKT 2024


Everyone,

the Android App "latest" build is now updated to use the official OVMS 
API key.

This is now a release candidate, can & should be tested as a replacement 
for the current play store release.

As written before, this works regardless of the server side API update, 
if no errors are found I'll release that to all users.

Regards,
Michael


Am 06.01.24 um 20:54 schrieb Michael Balzer:
> Everyone,
>
> we need some auditing & beta test help on this.
>
> I've just finished the migration for the server & App side. Everything 
> works fine in my test environment, but I had WTF moments on the way. 
> Some magically resolved themselves on the next day, so I have no idea 
> why they occured in the first place.
>
> New server code is in Server/fcm, see README for details: 
> https://github.com/openvehicles/Open-Vehicle-Server/tree/fcm/v3
>
> The server now uses a child process for FCM communication, as each 
> delivery attempt now takes 0.3 seconds. The new code also now 
> automatically cleans up expired App tokens.
>
> New App code & build is in Android/master: 
> https://github.com/openvehicles/Open-Vehicle-Android/tree/master/latest
>
> The App currently uses my API IDs (File "google-services.json") 
> instead of the official OpenVehicles version, this needs to be changed 
> for the release. It should nevertheless work with 
> api.openvehicles.com, but I haven't tested that yet.
>
> FCM makes it harder to configure an App for other servers than build 
> into the App. I've done some experimentation and found a way to still 
> keep the configuration as simple as before, i.e. you just need the 
> custom FCM sender ID (which now always is the FCM/cloud project ID). 
> Caveat is, this uses undocumented behaviour, so may need to be changed 
> in the future.
>
> See my comment & explanation here:
> https://github.com/openvehicles/Open-Vehicle-Android/blob/master/OpenVehicleApp/src/main/java/com/openvehicles/OVMS/ui/MainActivity.java#L404
>
> Code audits & tests are welcome.
>
> When running your own server, follow the steps described in the README 
> to get & install your FCM key. FCM keys btw. don't expire until the 
> year 10000. Connect your module & App to your server, use "notify 
> raise" to send test messages.
>
> Btw, FCM migration doesn't need to be done in a specific order 
> (server/App): this is just an API change on both sides, the 
> infrastructure behind the scenes is more or less identical. An FCM App 
> receives GCM transmissions and vice versa. Please test that as well if 
> possible.
>
> We need to finish migration before June 20, as the GCM APIs will then 
> be switched off.
>
> Regards,
> Michael
>
>
> Am 29.06.23 um 06:17 schrieb Mark Webb-Johnson:
>> Oh, google. They do love to deprecate…
>>
>> I can handle the server side. But not sure what needs to be done 
>> there. Presumably this like the C2DM -> GCM migration we did a while 
>> ago (using a new agreed token type apns/c2dm/gcm/etc, if the new 
>> approache is not backwards compatible). The current server seems to call:
>>
>>     https://fcm.googleapis.com/fcm/send
>>
>>
>> Regards, Mark.
>>
>>> On 21 Jun 2023, at 7:25 PM, Michael Balzer <dexter at expeedo.de> wrote:
>>>
>>> Signed PGP part
>>> Time for another Google API deprecation.
>>>
>>> It seems we'll need to update the Android App & possibly the server 
>>> now to the FCM API for push notifications, the old GCM API will stop 
>>> working in June 2024.
>>>
>>> Anyone volunteering to take care of this?
>>>
>>> Regards,
>>> Michael
>>>
>>>
>>> -------- Weitergeleitete Nachricht --------
>>> Betreff: 	[Action Required] Update your apps to the latest Firebase 
>>> Cloud Messaging APIs and SDKs
>>> Datum:	Tue, 20 Jun 2023 13:26:22 -0700
>>> Von:	Firebase<firebase-noreply at google.com>
>>> Antwort an:	Firebase<firebase-noreply at google.com>
>>> An:	dexter at expeedo.de
>>>
>>>
>>>
>>> Firebase Console 
>>> <https://notifications.google.com/g/p/ACUgQrEqj5I8-oiq75nsyLmVgMI_2P_O30pr9ZcpVmk-O8L3G7S5GLuDAQBGbLzVLag80DcGOGlPohe0LlxV3Am7cZNv3WRo1rwY30WWKavJb9NJTk1FmXuKrvFZt8XgZ17HnYFO11bDbl7kSR_82CXEwuwTZU4-udfbmAeK7zzJ3qZft1R_jSAmBvOt677OdR1wfx-Q> 
>>>
>>>
>>> Hi Michael,
>>>
>>> We’re writing to let you know that starting*June 20, 2024*the legacy 
>>> Firebase Cloud Messaging (FCM) APIs will be discontinued.
>>>
>>> What do you need to know?
>>>
>>> On*June 20, 2024,*we’re reducing the number of Firebase Cloud 
>>> Messaging (FCM) legacy register APIs and legacy send APIs that 
>>> provide similar functionality. This step will allow us to provide 
>>> you with a more consistent experience and align with Google security 
>>> standards to improve security, reliability and performance.
>>>
>>> Because of these API decommissions, some already-deprecated SDKs and 
>>> features will stop working after*June 20, 2024.*
>>>
>>> Please consult the tables below to find which Firebase Cloud 
>>> Messaging (FCM) APIs and corresponding services/SDKs/features will 
>>> be discontinued and replaced with new alternatives.
>>>
>>> *Discontinued Send API*
>>>
>>> 	
>>>
>>> *Decommissioned service*
>>>
>>> 	
>>>
>>> *New alternative*
>>>
>>> *Legacy HTTP Protocol*
>>>
>>> 	
>>>
>>> Sending messages via the Legacy HTTP API.
>>>
>>> 	
>>>
>>> Send messages via the HTTP v1 API.
>>>
>>> *XMPP Protocol*
>>>
>>> 	
>>>
>>> Sending upstream and downstream messages via the XMPP API.
>>>
>>> 	
>>>
>>> Send downstream messages via the HTTP v1 API.
>>>
>>> Send upstream messages via HTTP/gRPC 
>>> <https://notifications.google.com/g/p/ACUgQrFKp0BdXKuz3_mUi3W9wdl6DV3Ib_q0Hn9_rFkVCttPt1pfUS9zAavG0IHLz8EEex1Xah-SSAfcgb2zSplnVRd5kYFwn3MN31jskkUBf1w_RdTqd1tuSW3w6CKsMVdUC9bJHCVT9qvQXy4G6_8J5J-aT-4UFsRnmM4ASLagXT9eO188Q1gAxo7IH3vsHg-U55h8rnJ9zzRdh-DNTbMvJhXav_T7Bw>directly 
>>> from the App to your server.
>>>
>>> *Batch send API*
>>>
>>> 	
>>>
>>> Including multiple send requests in a single HTTP request to FCM 
>>> known as Batch Send.
>>>
>>> 	
>>>
>>> Send messages via the HTTP v1 API, which has been optimized for 
>>> fanout performance
>>>
>>>
>>> *Discontinued Register API*
>>>
>>> 	
>>>
>>> *Decommissioned SDK*
>>>
>>> 	
>>>
>>> *New alternative*
>>>
>>> *GCM register API*
>>>
>>> 	
>>>
>>> Google Cloud Messaging(GCM) SDKs (deprecated in 2018).
>>>
>>> 	
>>>
>>> Latest FCM Android SDK.
>>>
>>> *Legacy Web register API*
>>>
>>> 	
>>>
>>> FCM JS SDK version<7.0.0 (deprecated in 2019)
>>>
>>> 	
>>>
>>> Latest FCM JS SDK.
>>>
>>> *Instance ID Server API for Web*
>>>
>>> 	
>>>
>>> No SDK related to this API.
>>>
>>> 	
>>>
>>> Latest FCM JS SDK.
>>>
>>>
>>> *Discontinued Feature*
>>>
>>> 	
>>>
>>> *Decommissioned service*
>>>
>>> 	
>>>
>>> *New alternative*
>>>
>>> *Server keys*
>>>
>>> 	
>>>
>>> Authenticating requests with server keys.
>>>
>>> 	
>>>
>>> Authenticate requests withaccess tokens generated from authorized 
>>> service accounts 
>>> <https://notifications.google.com/g/p/ACUgQrE8LxWKrfZvL3R5hoSruQL4An9Vg5kFcDYASULp7A5SyUubGdXnXerewny9Rr8OJNp2fTgybuON0zkL4u2XSRmhn29NBmTFNdbm9q-OXyYQVSFt_ax2KxIYXCYbGR1bTLMqPLoLzMpdTgcuyd6wKJCIJj7ToMCrVJzWqOxbg6QUof0_-BUGyGhtnimrCtd-gb5en_iFRjq5OwpVDzqJex2vhuqgrVoeBvAkg344MePoYgqRrkoO113zUXz9flSPIyevZT6KZ4E>
>>>
>>> *iOS Direct Channel*
>>>
>>> 	
>>>
>>> Sending messages via FCM’s direct channel to iOS devices while they 
>>> are running in the foreground.
>>>
>>> 	
>>>
>>> All iOS messages will be sent via APNS channel.
>>>
>>>
>>> What do you need to do?
>>>
>>> Take the following actions before*June 20, 2024*, to ensure that you 
>>> have access to the latest supported features and to reduce the risk 
>>> of future decommissions affecting your usage:
>>>
>>>   * *Follow the instructions described in*Firebase FAQ
>>>     <https://notifications.google.com/g/p/ACUgQrF1q42xLDBDWvEr5RHaOfbnfKhv0UdWXB6Vy1kLOjasVBtYD0Wjp4aQJlSaeYnw695zGgel_4mXfwd5JHyH3hmINX1yjPPMSUIxlWcV8-8Af9jmWTRzELbajU3hoHr3k5e8X4QnZaoBBqlKW9ZwgPvaX0SEG_Q761kFR-vQisPxahLO6tzNfIkO3wdWa9b6XDKynfH7tcuSSS5YX3B-wdvH6XeRsMo-Tw>to
>>>     migrate your individual APIs.
>>>   * *Update to the latest versions of Firebase SDKs*.
>>>
>>> *Platform*
>>>
>>> 	
>>>
>>> *Recommended FCM SDK version*
>>>
>>> Android
>>>
>>> 	
>>>
>>> >= 23.1.2
>>>
>>> iOS
>>>
>>> 	
>>>
>>> >= 10.10.0
>>>
>>> Web (Javascript)
>>>
>>> 	
>>>
>>> >= 9.22.1
>>>
>>> Your Firebase project(s) that use Firebase Cloud Messaging APIs are 
>>> listed below:
>>>
>>>   * MyOvmsServer (1043773844049)
>>>     <https://notifications.google.com/g/p/ACUgQrEotRQKxV6LgEoXckEV9bLkUuhj9b1dUEtZwXeBD6i1JG2SipBCU3_-A46djD3KV4k7XrIbasB60E_K8d6_dHHvHD-_2cnyBUix-DEEIJkWkzw6-xrvJDz64B0VJ3FWbNJ4UorZX4uwFpCyKCfCDYM4lMYSuHF4e8JO88lnZyTC_Qa4wW0Kr4YdCa4W7_3w_rq9_-KINgSiodkUhsW7TvTYl1M>
>>>
>>>       o /Your recent usage of impacted APIs/features: Server Keys/
>>>       o /Your recent usage of impacted APIs/features: Legacy HTTP
>>>         protocol/
>>>
>>> We’re here to help
>>>
>>> If you have any questions, please review theFirebase FAQs 
>>> <https://notifications.google.com/g/p/ACUgQrF1q42xLDBDWvEr5RHaOfbnfKhv0UdWXB6Vy1kLOjasVBtYD0Wjp4aQJlSaeYnw695zGgel_4mXfwd5JHyH3hmINX1yjPPMSUIxlWcV8-8Af9jmWTRzELbajU3hoHr3k5e8X4QnZaoBBqlKW9ZwgPvaX0SEG_Q761kFR-vQisPxahLO6tzNfIkO3wdWa9b6XDKynfH7tcuSSS5YX3B-wdvH6XeRsMo-Tw>.
>>>
>>> Thanks,
>>> Todd on behalf of the Firebase team
>>>
>>> *Was this information helpful?*
>>>
>>> Yes 
>>> <https://notifications.google.com/g/p/ACUgQrG_D9izaxqaPAZL66peR0D-yHGGWiULfqLYNXkYVDs80RnpgeXgBN9m4ZnaHzuqsYlOfmgjFoUOsubDA7WspKOx5stGqGz--VfYcwvRfcyYu8wpw3AGMncVzPV7JAmFxyvmWXSFwq2XGOMXnFc1YZFt5J95Sz9hEaOrLOKX4og8ftEzmGUD6Zmv-OofJZ4g6roE8QdQ4L9DIP_mFpopj6y27eSinWXQTZoUBHhCVQ5hGICPSorDMyXpqbhKCdouUctpgfshicsSM_S8LReB3sRCqkl0PQ6RkgRnaBHi4y82il1Hcp4jv1NiDVxrF1w5kg>Neutral 
>>> <https://notifications.google.com/g/p/ACUgQrFnFdXuJ_VF6ChjiUeTeV5elzVrPymaFMqIFMkzFQvDJk1H8Vs9uUUt76f7Xe2hDm2I35eLjYIdq613WGZApFeuZuv4m4_Iubc9fhSe1sG_m67t1b1CFvQaomK_klAYbLBQIHzrxKtOAlmJfr8L8yO2ILSG0RJkj0CqDnrR4UsTtw8LGENRKq7cnyhBaQr7HrQVfvk1LYOYUbJLvrsp-_g3wvDF-VUQbIkwnDoZNG9AAg8mZIze5vUr32smAfDHfLE_2jZ1HpU4d9XVZ8S7Aph1sX6Nh9J9frhzn9tWZ1MKhVXbRbcCocQK8dD47hUA6OWi6R8>No 
>>> <https://notifications.google.com/g/p/ACUgQrFb7NDlSkpL4nuGR0g71bgiRuj39SdywVWgFU-V2bmH2sTpWfqP5wOUFG7s8ac6UZHkK2C1YI9ygFwG8W0f4biaJ7NHCvbBCBVpx4qEZWIUe4vPCvT_AtResGaRUZdjcQwchak5V7wjkbCkPSrBwL4_YEg6Clr5tnpkrDQhvxN1uaC2lSKxqNCUYucmV2C-JjRFwjJYG_veUreyuWkV-KiruZVSp7iwhaPvvY2s-mAe9MdTZAwfjeWu6fWjTijb6sMrzS_3z7unUgJg0yFm6lBNaPBINYLBQObetHggsrv5dd2elYGrpoEyQPLuxbU8>
>>>
>>> You have received this mandatory service announcement to update you 
>>> about important changes to Firebase or your account.
>>> 	© 2023 Google LLC
>>> 1600 Amphitheatre Parkway
>>> Mountain View, CA 94043 USA<x-msg://206/#>
>>>
>>>
>>> -- 
>>> Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
>>> Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
>>>
>>>
>>
>>
>> _______________________________________________
>> OvmsDev mailing list
>> OvmsDev at lists.openvehicles.com
>> http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>
> -- 
> Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
> Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
>
> _______________________________________________
> OvmsDev mailing list
> OvmsDev at lists.openvehicles.com
> http://lists.openvehicles.com/mailman/listinfo/ovmsdev

-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20240109/0a089418/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 203 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20240109/0a089418/attachment-0001.sig>


More information about the OvmsDev mailing list