Closed Bug 1286912 Opened 8 years ago Closed 3 years ago

[meta] Migrate Firefox for Android to Firebase Cloud Messaging

Categories

(Firefox for Android Graveyard :: General, task, P2)

All
Android

Tracking

(firefox63 wontfix, firefox64 wontfix, firefox65 fix-optional)

RESOLVED INCOMPLETE
Tracking Status
firefox63 --- wontfix
firefox64 --- wontfix
firefox65 --- fix-optional

People

(Reporter: sebastian, Assigned: vlad.baicu)

References

Details

(Keywords: meta, Whiteboard: --do_not_change--[priority:high])

https://developers.google.com/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. 

FAQ: https://firebase.google.com/support/faq/#gcm-fcm

> Benefits of upgrading to FCM SDK include:
> 
>  * Simpler client development. You no longer have to write your own
>    registration or subscription retry logic.
>  * An out-of-the-box notification solution. You can use Firebase
>    Notifications, a serverless notifications solution with a web
>    console that lets anyone send notifications to target specific
>    audiences based on Firebase Analytics insights.
Getting the registration and subscription for free from the new SDK is interesting. However we definitely do not want the Analytics part; I wonder if you can only get all or nothing.
Priority: -- → P3
There's a backend piece to this too -- that is, we need to co-ordinate with the Push Service itself to deliver via FCM.  (If we elect to use FCM -- I can't evaluate the value here right now.)
The migration guide[1] says: "Updating these endpoints is not strictly required, as Google will continue to support the existing GCM endpoints.". So maybe we could switch to FCM on the client before taking any action on the backend. But this of course needs further evaluation.

[1] https://developers.google.com/cloud-messaging/android/android-migrate-fcm
Looks like the server backend URL is fairly cosmetic. 

http.googleapis.com/gcm/ => fcm.googleapis.com/fcm/

We already encode the router_type into the inbound registration URL. It's also probably a good idea to segregate fcm from gcm in case they introduce more changes later.

Creating issue https://github.com/mozilla-services/autopush/issues/517
Bumping priority on this bug. 

Google has announced via an email to all GCM devs that GCM will be terminated on April 11, 2019. All developers must transition to using FCM.

They have a transition guide available at https://www.google.com/appserve/mkt/p/AFIPhzVvQQ1Wn9wsOk3uS-https://developers.google.com/cloud-messaging/android/android-migrate-fcm?utm_medium=email&utm_source=msa
Severity: normal → major
Priority: P3 → P2
Yes, we need to do this, assuming we care enough about Web Push and push for FxA to allocate resources to this.
Summary: Do we need to migrate to Firebase Cloud Messaging? → Migrate Firefox for Android to Firebase Cloud Messaging
Adding :janet and :st3fan per request.

Also adding links to additional documents:
  Android Push Usage and the switch from GCM to FCM:
   https://docs.google.com/document/d/1YVkVLT9b38V8580n34riKgo8eprOkj_pYdMAHad9sDo/edit
  Time to upgrade from GCM to FCM (google blog):
   https://android-developers.googleblog.com/2018/04/time-to-upgrade-from-gcm-to-fcm.html


the Autopush server implementation issue/PR for FCM support:
   https://github.com/mozilla-services/autopush/issues/517
Whiteboard: --do_not_change--[priority:high]
Petru Vlad and Andrei - please start on this work. Please contact :janet if you have any questions about the new APIs.
Assignee: nobody → vlad.baicu
For this issue, I'm thinking that we should maybe also upgrade Leanplum SDK https://github.com/Leanplum/Leanplum-Android-SDK/tree/master/AndroidSDKFcm
Priority: P2 → P1
Summary: Migrate Firefox for Android to Firebase Cloud Messaging → [meta] Migrate Firefox for Android to Firebase Cloud Messaging
Depends on: 1509523
Depends on: 1509525
Depends on: 1509528
Depends on: 1510722
Too late to fix in 64. Marking this issue as fix-optional for 65; if you land a patch in nightly and think it's low-risk for beta, please request uplift.
Type: defect → task

Downgrading priority from P1 to P2

Priority: P1 → P2
We have completed our launch of our new Firefox on Android. The development of the new versions use GitHub for issue tracking. If the bug report still reproduces in a current version of [Firefox on Android nightly](https://play.google.com/store/apps/details?id=org.mozilla.fenix) an issue can be reported at the [Fenix GitHub project](https://github.com/mozilla-mobile/fenix/). If you want to discuss your report please use [Mozilla's chat](https://wiki.mozilla.org/Matrix#Connect_to_Matrix) server https://chat.mozilla.org and join the [#fenix](https://chat.mozilla.org/#/room/#fenix:mozilla.org) channel.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INCOMPLETE
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.