Closed Bug 1207708 (fennecgcm) Opened 4 years ago Closed 4 years ago

Integrate Google Cloud Messaging (GCM) into Fennec build system

Categories

(Firefox for Android :: General, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
Firefox 44
Tracking Status
firefox44 --- fixed

People

(Reporter: nalexander, Assigned: nalexander)

References

Details

Attachments

(2 files)

This ticket tracks doing the build system work to package and use GCM in Fennec.

That includes:
* adding build feature flags;
* managing IDs and secrets in the build system;
* building against google-play-gcm;
* registering appropriate <intent> handlers.

Some of this boilerplate has work-in-progress in Bug 1179015.
Blocks: 1207714
Sylvestre: you were asked about providing a GCM Sender ID over in https://bugzilla.mozilla.org/show_bug.cgi?id=1201222#c4.  That ticket was going to have you deliver it directly to releng; it turns out the Sender ID need not be private, so we can do it directly in this ticket.

You can generate Sender IDs and API keys using the Google developer console.  (rnewman and I don't have permission.  It would be valuable for more people than you to have permission, but that's a separate ticket.)  The URL will look something like https://console.developers.google.com/project/fennec-nalexander.  You may also be able to do this in the Google Play console: https://play.google.com/apps/publish.

The API keys absolutely need to remain private, and they need to get to the server folks at some point, but I don't know who will need them and when.  (For testing, I think I can do everything with my own test registration, Sender ID, and API key.  We'll find out!)
Flags: needinfo?(sledru)
OK, I tried and I think I know how to do that.
However, I think it would be better if we could meet in Vidyo to do that together in order to make sure I do things by the book.

Do you know what is the ETA for this?
Flags: needinfo?(sledru)
(In reply to Sylvestre Ledru [:sylvestre] from comment #2)
> OK, I tried and I think I know how to do that.
> However, I think it would be better if we could meet in Vidyo to do that
> together in order to make sure I do things by the book.

Sure.  I bet your calendar is busier than mine.  I've invited you to a chat today; feel free to counter with a better time for you.

> Do you know what is the ETA for this?

It doesn't block my testing, so we could happily say one week before the end of the 44 cycle.  (So, 4 weeks out.)
Flags: needinfo?(sledru)
OK, I proposed a different date! Thanks
Flags: needinfo?(sledru)
Depends on: 1211633
Bug 1207708 - Part 1: Add MOZ_ANDROID_GCM{_SENDERID} build flags. r?sebastian

These flags are not intended to be feature specific.  On day one, we
intend to support a single GCM-backed feature -- Push Notifications --
but the set of GCM-consuming features is potentially large (e.g.,
possibly Firefox Sync tickles and Send Tab to Device alerts).  Such
features can and will have their own build flags.

Note that GCM sender IDs are not sensitive -- see link in code
comment.  Since this is something custom branding will almost always
want to set, I don't want to bury the default value in confvars.sh.
Attachment #8679040 - Flags: review?(s.kaspari)
Bug 1207708 - Part 2: Build against play-services-{base,gcm} if MOZ_ANDROID_GCM. r?sebastian

Since MOZ_NATIVE_DEVICES builds against play-services-{base,cast},
some ad-hoc de-duplication is necessary.
Attachment #8679041 - Flags: review?(s.kaspari)
Comment on attachment 8679040 [details]
MozReview Request: Bug 1207708 - Part 1: Add MOZ_ANDROID_GCM{_SENDERID} build flags. r?sebastian

https://reviewboard.mozilla.org/r/23149/#review20865
Attachment #8679040 - Flags: review?(s.kaspari) → review+
Comment on attachment 8679041 [details]
MozReview Request: Bug 1207708 - Part 2: Build against play-services-{base,gcm} if MOZ_ANDROID_GCM. r?sebastian

https://reviewboard.mozilla.org/r/23151/#review20867

Doesn't this need to handle play-services-basement as well? (play-services-gcm -> play-services-base -> play-services-basement)
Attachment #8679041 - Flags: review?(s.kaspari)
https://hg.mozilla.org/integration/fx-team/rev/ac1ec5e7fb8a3709ac8e5d9e5f29458e4f33747f
Bug 1207708 - Part 1: Add MOZ_ANDROID_GCM{_SENDERID} build flags. r=sebastian

https://hg.mozilla.org/integration/fx-team/rev/408b0efe2d0cd3a9dd864793ba61b32727e197bc
Bug 1207708 - Part 2: Build against play-services-{basement,base,gcm} if MOZ_ANDROID_GCM. r=sebastian
Hmm... I see now that sebastian wanted another look at this.  sebastian, feel free to post-review; and you'll also see the registration and follow-up tickets shortly.  Sorry for jumping the gun!
https://hg.mozilla.org/mozilla-central/rev/ac1ec5e7fb8a
https://hg.mozilla.org/mozilla-central/rev/408b0efe2d0c
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 44
(In reply to Nick Alexander :nalexander from comment #11)
> Hmm... I see now that sebastian wanted another look at this.  sebastian,
> feel free to post-review; and you'll also see the registration and follow-up
> tickets shortly.  Sorry for jumping the gun!

The patch is good. It just felt wrong to r+ the incomplete patch. :)
You need to log in before you can comment on or make changes to this bug.