-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GCM -> FCM Update needed for push messaging #439
Comments
So I wiped the phone and did a complete reinstall. Same behaviour as before. Apps can register, push notificaton tester and other apps work. Any idea? Any logs needed? |
WhatsAPP won't register at my side. |
So I checked with an older version (~mid 2017) of Whatsapp (2.17.223) and that will register fine with GCM. So it seems that something has changed in the last versions and will need some adaptation in GMS Core. |
I don’t know a lot of things about this, but maybe they moved to FCM instead of GCM. |
I updated WhatsAPP and since the last update, it registered fine. |
Restoring an app with TitaniumBackup is known to break its GCM, unless the app is capable of re-registering itself. The app's GCM connection may still work though if everything has taken place within the same Android installation, but if it is a different one or a different ROM, then it will always break (as the old token is no longer valid). |
Not sure about FCM. I am not a developer, but it is at the core GCM. They will have changed it, but can't tell to what extend. I do not use TitaniumBackup Restore and have this phenomenon also with Threema. |
I guess the issue gets more pressing now, as e.g. Whatsapp does not allow you to install older versions. It forces you to update before registration. Hence the question: Is microg dead? I haven't seen updates aside from the google service number for a year now and more and more things are getting unusable. I know about open source developers and "don't bother them, as they are doing it in their free time". But I am not asking to finish this at a certain time, more for a clear status on who is actually still developing this or if no one finds time? |
I'd like to ask that question, too. I'm grateful as for several years MicroG has allowed me to be almost Google-free, but I just now try to setup a new smartphone, and I do not longer get MicroG to work. As there is not too much activity on GitHub, it would be great to know if there is a fix in work or if it's time to switch back to Google :-(. As chris42 says, all the usual caveats concerning oss developpers apply ;-). |
I changed the Title to something more meaningful and added a $150 Bounty on Bountysource. After numerous other issues referenced and talks about it in the forum. What is essentially needed to fix this issue:
I don't think keeping backwards compatibility makes sense, as GCM is to be deactivated. Not sure if a transfer to FCM is feasible for old GCM (not updated) apps? |
If I'm not wrong FCM is just an extension of GCM (I'm not sure) so backwards compatibility is implied. |
Yes and No. FCM apparently has a lot of GCM in its core, however the GCM API and servers will be deprecated in April 2019. |
Nice idea with the bounty starting for fixing this problem. |
So, basically, microG has to reimplement its push messaging system to use Firebase servers and to add a client-side Firebase API alongside the existing GCM one, so both old and new apps can still work. |
@dos1 |
Stupid question: Who is the said developper? What's the matter with Marvin? I reverted to GApps because MicroG would no longer work properly, but I eagerly watch the developments here. |
This project is very promising. Thanks to all the backers and developers for this. I'll eagerly be watching the developments, too! |
anyone already started working on it? |
@Larx @kwokkeunglam Happy to help anyone who is looking into this. |
I prefer a new way of push, just teach developers to use it. Save battery + Rich content , yet still free. anyone support this? |
@kwokkeunglam |
As mentioned GCM will be replaced by a firebase implemention until feb. 2019. |
@kwokkeunglam and @dropicallus |
( encryption is a must as UDP do not have it, need to do by ourselves ) There can be feedback UDP message send back to server after receive, or the message will try to resend again.
UDP socket itself is quite energy efficient.
Push only require some server farm to run, no need to buy a C.A. cert. |
I freshly installed Lineage OS for microg 15.1 with GsmCore Version 0.2.6.13280 and i checked that:
But never the less I can't get any app to register to Google Cloud Messaging. I even checked with notification tester but it fails to "Register for Push Notification". Any idea what might cause the problems? I attached a log file. push_notification_tester_log_1.txt EDIT: today out of the blue, everything seems to work just fine! All the apps registered correctly. Maybe it took some time for the google device registration to go through? |
I got the symptoms you described until I added a GMS Google account in the android settings. I don't remember whether I had to reboot after that for push notifications to work. |
There seems to be an issue with automatic device registration in latest version. If you have similar issues as described by @Mafus1, open the system phone app and dial |
I can confirm that I had to do a manual device registration with the code provided above on LOS 14.1, official microG 13280. |
I have LineageOS 15.1 with microG 0.2.6.13280 and had to dial code that @mar-v-in suggested to connect Google Cloud Messaging |
I think there might be some minor FCM logic missing from the latest version in relation to gms checkin. I can tell using the "Push Notification Tester" app on microG's download page that v2.6 of the tester app does not work on clean installs (it does work after a device registration succeeded), but v2.5 works fine after a clean install. In the changelog it says v2.6 is when the author added FCM support. I think microG does a checkin automatically when a GCM token is requested, I think maybe this is being skipped with FCM token requests? Else, if fcm tokens don't occur through microG, maybe make it so it'll always attempt a gcm checkin (if needed) whenever something in the gcm pipline happens (connection, registration, etc). |
Related to #313 |
This is obviously not fixed. Why was a bounty paid out and this issue closed? |
@lifranc |
@lifranc |
Hi is this thread open for discussion, as you know RCS and Jibe doesn use FCM but uses Play Services to register RCS. I kind of did activate RCS by backup up a app from a Google enabled devices and transferred the zip to a LineageOS phone. Now I have RCs enabled with MicroG but the service doesn't use FCM. |
@BurhanBudak |
---- EDITED 26. August for summarizing the history of original issue and needed solution
Google has updated the push messaging infrastructure to FCM and will retire the old setup called GCM in 2019 (https://firebase.googleblog.com/2018/04/time-to-upgrade-from-gcm-to-fcm.html).
Hence apps are moving over to use FCM and stop working with current GCM features of microg. This results in different app behaviors. Some apps do not receive any push messages anymore, others (like Whatsapp) fall back to a polling mechanism, that uses lots of battery.
To use updated apps again with microg, the GCM functionalities mimicking google service framework will need to be updated to FCM.
---- Original Issue that lead to missing FCM functionality issue
Hi there,
I have a strange behaviour on my phone with GCM on AOSP Oreo. Some apps can register for GCM, even push notification tester works flawless. However Whatsapp and Threema won't register for the service.
I regularly get the message "GmsGcmRegisterSvc(6107): registration not allowed".
So far I have the feeling, that the "ask for new apps" function is not working properly. As it was enabled in the beginning (When installing Threema and Whatsapp the first time), but not anymore.
Is there a way to clear the list of registered apps and start over? This is just a hunch now and want to test this, before digging into other things.
Regards
Chris
P.S.: If you have any other idea, let me know. Can also produce some logfiles.
The text was updated successfully, but these errors were encountered: