Open Sewdn opened 6 years ago
I did some further digging.
FCM should be supported, since this package depends on node-gcm@0.14.4
, and FCM is supported since 0.14.1
(cfr. https://github.com/ToothlessGear/node-gcm/blob/master/README.md).
The problem is not server-side, but on the client.
No GCM tokens are being registered for android devices (in the _raix_push_app_tokens
collection).
This is the case for all phonegap-plugin-push@2.x.x
versions.
When using phonegap-plugin-push@2.x.x
a google-services.json is needed, or your get build errors like:
Errors executing Cordova commands:
While running Cordova app for platform Android with options --device:
Error: Command failed:
/[path_to_app]/.meteor/local/cordova-build/platforms/android/cordova/run
--device
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':processDebugGoogleServices'.
> File google-services.json is missing. The Google Services Plugin cannot function without it.
Searched Location:
/[path_to_app]/.meteor/local/cordova-build/platforms/android/src/debug/google-services.json
/[path_to_app]//.meteor/local/cordova-build/platforms/android/google-services.json
Also, build-extra.gradle
is needed in the cordova-build-override( following the suggestion of this comment: ), or you get errors about he advmanifest that is missing.
I tried the FCM format of the SenderID in config.xml, like described here (https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/INSTALLATION.md#co-existing-with-plugins-that-use-firebase), but no result.
When I revert everything back to phonegap-plugin-push@1.8.4
with the documented configuration, it all works, but Android 8 devices are not showing notifications. It seems the notifcation is sent, but is not being display. This is the log of a fatal cash on Android 8 when receiving a notification:
04-12 22:44:00.489 12911 31146 I EventLogSendingHelper: Sending log events.
04-12 22:44:05.967 1735 4201 W ActivityManager: Background start not allowed: service Intent { act=com.google.android.c2dm.intent.RECEIVE flg=0x1000010 pkg=com.pentu_game.play cmp=com.pentu_game.play/com.adobe.phonegap.push.GCMIntentService (has extras) } to com.pentu_game.play/com.adobe.phonegap.push.GCMIntentService from pid=31590 uid=10176 pkg=com.pentu_game.play
04-12 22:44:05.972 31590 31590 D AndroidRuntime: Shutting down VM
--------- beginning of crash
04-12 22:44:05.981 31590 31590 E AndroidRuntime: FATAL EXCEPTION: main
04-12 22:44:05.981 31590 31590 E AndroidRuntime: Process: com.pentu_game.play, PID: 31590
04-12 22:44:05.981 31590 31590 E AndroidRuntime: java.lang.RuntimeException: Unable to start receiver com.google.android.gms.gcm.GcmReceiver: java.lang.IllegalStateException: Not allowed to start service Intent { act=com.google.android.c2dm.intent.RECEIVE flg=0x1000010 pkg=com.pentu_game.play cmp=com.pentu_game.play/com.adobe.phonegap.push.GCMIntentService (has extras) }: app is in background uid UidRecord{dcc45a0 u0a176 RCVR bg:+3m5s907ms idle procs:1 seq(0,0,0)}
04-12 22:44:05.981 31590 31590 E AndroidRuntime: at android.app.ActivityThread.handleReceiver(ActivityThread.java:3280)
04-12 22:44:05.981 31590 31590 E AndroidRuntime: at android.app.ActivityThread.-wrap17(Unknown Source:0)
04-12 22:44:05.981 31590 31590 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1690)
04-12 22:44:05.981 31590 31590 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:105)
04-12 22:44:05.981 31590 31590 E AndroidRuntime: at android.os.Looper.loop(Looper.java:164)
04-12 22:44:05.981 31590 31590 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6592)
04-12 22:44:05.981 31590 31590 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
04-12 22:44:05.981 31590 31590 E AndroidRuntime: at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
04-12 22:44:05.981 31590 31590 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:769)
04-12 22:44:05.981 31590 31590 E AndroidRuntime: Caused by: java.lang.IllegalStateException: Not allowed to start service Intent { act=com.google.android.c2dm.intent.RECEIVE flg=0x1000010 pkg=com.pentu_game.play cmp=com.pentu_game.play/com.adobe.phonegap.push.GCMIntentService (has extras) }: app is in background uid UidRecord{dcc45a0 u0a176 RCVR bg:+3m5s907ms idle procs:1 seq(0,0,0)}
04-12 22:44:05.981 31590 31590 E AndroidRuntime: at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1520)
04-12 22:44:05.981 31590 31590 E AndroidRuntime: at android.app.ContextImpl.startService(ContextImpl.java:1476)
04-12 22:44:05.981 31590 31590 E AndroidRuntime: at android.content.ContextWrapper.startService(ContextWrapper.java:644)
04-12 22:44:05.981 31590 31590 E AndroidRuntime: at android.content.ContextWrapper.startService(ContextWrapper.java:644)
04-12 22:44:05.981 31590 31590 E AndroidRuntime: at android.support.v4.content.WakefulBroadcastReceiver.startWakefulService(WakefulBroadcastReceiver.java:89)
04-12 22:44:05.981 31590 31590 E AndroidRuntime: at com.google.android.gms.gcm.GcmReceiver.doStartService(Unknown Source:23)
04-12 22:44:05.981 31590 31590 E AndroidRuntime: at com.google.android.gms.gcm.GcmReceiver.zzd(Unknown Source:0)
04-12 22:44:05.981 31590 31590 E AndroidRuntime: at com.google.android.gms.gcm.GcmReceiver.onReceive(Unknown Source:106)
04-12 22:44:05.981 31590 31590 E AndroidRuntime: at android.app.ActivityThread.handleReceiver(ActivityThread.java:3273)
04-12 22:44:05.981 31590 31590 E AndroidRuntime: ... 8 more
04-12 22:44:05.994 1735 1798 I ActivityManager: Showing crash dialog for package com.pentu_game.play u0
04-12 22:44:10.225 12518 12600 D ClClient: Not sending keepalive. Current connection state=STOPPED
04-12 22:44:10.603 31945 31945 E QCALOG : [mlid] Failed to load libminksocket
04-12 22:44:10.951 3067 3067 W GCM : Force release of GOOGLE_C2DM lock
This issue is documented here: https://github.com/phonegap/phonegap-plugin-push/issues/1949 And the solution is merged in the 2.1.0 release, but raix:push doesnt seem to work with 2.x.x versions of phonegap-plugin-push.
@raix sorry to draw this ticket to your attention, but I feel it's rather urgent. Currently no Android 8 device (rapidly growing user group) is showing notifications for every meteor cordova app using this package. Could you please confirm there is indeed a problem using this package in combination with phonegap-plugin-push@>2.1.x
?
I'm willing to contribute if you don't have the time to, If you point me in the right direction.
@Sewdn We might need to upgrade the phonegap-plugin-push to v1.11.0 - we could also investigate upgrading to 2.x - it's a major version bump so I'd expect some api changes - but it might not be that bad
I would take a pr and assist if needed, the main code to look at would be lib/cordova.js
ref: https://github.com/phonegap/phonegap-plugin-push/blob/master/CHANGELOG.md
Ok, starting on it today.
I will pin the phonegap-plugin-push at 2.1.3 (and will test and develop against this version), since 2.2.x needs cordova-android 7.1.0 and Meteor 1.6.1.1 has support for cordova-android 6.4.0
Plugin doesn't support this project's cordova-android version. cordova-android: 6.4.0, failed version requirement: >=7.1.0
There is not much to be changed in the phonegap-plugin-push
wrapping of raix:push
.
Bumping to phonegap-plugin-push@2.1.3
and leaving lib/cordova.js
unchanged, should work out of the box.
Support in Android 8 for Channel Groups (https://developer.android.com/guide/topics/ui/notifiers/notifications.html#ManageChannels) and Channel Badges is supported out-of-the box in phonegap-plugin-push and needs no change on the lib/cordova.js
since the API is backwards compatible. New methods are introduced to list, create, subscribe, unsubscribe and delete channels, but default behaviour shouldn't be affected (since a default Channel Group is created on Android 8 devices).
However, there are some other breaking issues before being able to bump to phonegap-plugin-push@2.x
.
Meteor 1.6.1.1 has pinned cordova-android on 6.3.0. As long as MDG doesnt upgrade to android-cordova 7.1.0 phonegap-plugin-push@>2.2.x
can't be used. This leaves us currently at using phonegap-plugin-push@2.1.3
android-cordova@7.1.0 is a release of Feb 21, 2018: https://github.com/apache/cordova-android/releases
Previous android-cordova upgrade was done in Meteor 1.6.1: https://github.com/meteor/meteor/pull/9213
When using phonegap-plugin-push@2.x
, a dependency is added on Google Services. Configuration of google services should be done by adding a google-services.json
to your cordova-build.
It is currently not possible adding this resource using mobile-config.js
.
One should add google-services.json
to cordova-build-override
and after builing change config.xml
to add this resource.
If you dont want to change config.xml
after build, you can try to add the resources in a deeper nested directory cordova-build-override/platforms/android
so you dont need to map the resource since it resides in the default location.
There is no other way adding this configuration file. Trying to add the resource to the config.xml
from mobile-config.js
manually, will result in other missing assets:
App.appendToConfig(`
<platform name="android">
<resource-file src="../../../google-services.json" target="google-services.json"/>
</platform
`);
There is however a pull request being merged in Meteor@1.7 release, allowing for additional resources to be declared in mobile-config.js
:
https://github.com/meteor/meteor/pull/9748
When a Cordova plugin declares post build configuration for gradle, using ext.postBuildExtras
, this will break the ext.postBuildExtras
from Meteor that is building the cdvassets.manifest
(https://github.com/meteor/cordova-plugin-meteor-webapp/blob/master/src/android/build-extras.gradle)
This issue is described here: https://github.com/meteor/meteor/issues/7600
This seems strange to me, since the meteor plugin declares this extra gradle reference the way Cordova describes it (https://cordova.apache.org/docs/en/latest/guide/platforms/android/index.html#extending-buildgradle):
phonegap-plugin-push@>2.1.3
adds the google-services dependency in custom gradle file: https://github.com/phonegap/phonegap-plugin-push/blob/v2.1.3/push.gradle
phonegap-plugin-push@master
removes this configuration in its upcoming release (https://github.com/phonegap/phonegap-plugin-push/commit/fe6cb91cb250a3dad894857ece81da553af37d09) and leaves this to a separate cordova plugin cordova-support-google-services
(https://github.com/chemerisuk/cordova-support-google-services), where dependency on the crucial google-services is being declared, that will pick-up and parse google-services.json
and communicate with firebase services.
Adding both phonegap-plugin-push@>2.1.3
and cordova-support-google-services
will not fix since both packages extras gradle files are not being used during build when used in combination with meteor-cordova-plugin
.
Nice investigation @Sewdn - thank you for looking into upgrading
@sewdn sorry for the lack of context but I'm on mobile, my phone is dying and I don't want to forget to respond to you. Below is the markdown for the (sloppy) way we got around this and got Android push working again.
Building for Android has become crazy complex due to Cordova plugin conflicts between the Google+ Cordova plugin included from Meteor Google Accounts and phonegap-plugin-push used by raix:push. See my issue on the phonegap-plugin-push repo.
Clear out current Cordova build rm- rf .meteor/local/cordova-build
Remove and re-add platforms meteor remove-platform ios android
then meteor add-platform ios android
(will fail but get enough started for next step)
Move google-services.json into .meteor/local/cordova-build/google-services.json using cp cordova-build-override/google-services.json .meteor/local/cordova-build/google-services.json
Re-add the platforms one more time meteor add-platform ios android
Build once to fail npm run dev-android
(we'll fail a lot here)
Edit .meteor/local/cordova-build/platforms/android/project.properties
to have 12.0.1 verions for all google services: cordova.system.library.4=com.google.firebase:firebase-messaging:12.0.1
,cordova.system.library.5=com.google.android.gms:play-services-auth:12.0.1
and cordova.system.library.6=com.google.android.gms:play-services-identity:12.0.1
Edit the same project.properties
so com.android.support:support
is com.android.support:support-v13:27.+
Run npm run dev-android
again - app will start but not work yet. Leave the server running from this.
Open .meteor/local/cordova-build/platforms/android
in Android studio (hint: open directory in Finder and drag it to Android Studio icon since AS has trouble opening hidden files like .meteor)
Once done loading (will take a while), open Gradle Scripts —> build.gradle (Module: android) on the left side of Android Studio
Change "buildscript —> dependencies" item classpath 'com.android.tools.build:gradle:3.0.0'
to use 3.1.0
instead of 3.0.0
Under "buildscript —> dependencies" add classpath 'com.google.gms:google-services:3.2.0'
Change the line that specifies Gradle version from gradleVersion = '4.1.0'
to gradleVersion = '4.4.0'
Under the sub dependencies (denoted by "// SUB-PROJECT DEPENDENCIES START"), change the following:
com.google.android.gms:play-services-auth
and com.google.android.gms:play-services-identity
to use implementation
instead of compile
At the very bottom of the file, add apply plugin: 'com.google.gms.google-services'
Save changes
Go to “Tools —> Android —> Sync Project with Gradle files”
This may result in an error complaining about Gradle version. If it does, click the "Fix Gradle wrapper" link the error displays. Once done, repeat previous step.
Once that’s done, go to "Build —> Clean"
Run debug build to verify things are working (play button with bug in top right corner). If they are, you’ll see "FirebaseInitProvider: FirebaseApp initialization successful" in logcat logs (bottom of Android studio) on app start
Once confirmed to be working, follow standard steps to sign the .apk
file and publish to Google Play.
npm run dev-android
with TZ=utc meteor run android-device --verbose --settings=.deploy_production/settings.json --mobile-server=https://app.hive.com
.meteor/local/cordova-build/platforms/android
) and run gradle assemble
cd .meteor/local/cordova-build/platforms/android/build/outputs/apk/release
, where you'll see the new .apk
filejarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ~/Hive/Hive/private/.keystore android-release-unsigned.apk hive
and password h1vet3ams
~/Library/Android/sdk/build-tools/27.0.3/zipalign 4 android-release-unsigned.apk hive.apk
Before starting, remove the Android platform to avoid build errors meteor remove-platform android
. Clear the cordova build folder as well with rm -rf .meteor/local/cordova-build
.
meteor run ios-device --settings .deploy_production/settings.json --mobile-server https://app.hive.com
.meteor/local/cordova-build/platforms/ios
from FinderHive.xcworkspace
from Finder in XcodeFolders
option in top left of Xcode and select the top-level Hive
projectBuild Settings
and find the Header Search Paths
optionHeader Search Paths
Debug
and Release
options and add "$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include"
to the top of each listHive
project and add the same Header Search Paths
option under the CordovaLib
projectNote: If builds still fail after adding the header search paths, go to .meteor/local/cordova-build/platforms/ios
from terminal and run pod install
.
@etyp thanks for your elaborate response and documentation about your build process for Android! I'll look into it shortly.
Hey, I have a problem in receiving android messages with android 8.1, no error messages or anything. Notifications just don't come through even when the server says that the message was sent successfully. I tried and failed to do the long alternative method with no outcome.
I have the same issue as @FelixOBrien. Push on debug mode is saying messages were a success. I've noticed that even sending directly from the Firebase console does not work.
@FelixOBrien @TheRealNate Any updates? Have you guys solved the issue?
I found a possible cause. On 8.0 apps are required to register notification categories. Does anybody know how to do this?
On Fri, Jul 13, 2018, 3:18 AM Naman Gupta notifications@github.com wrote:
@FelixOBrien https://github.com/FelixOBrien @TheRealNate https://github.com/TheRealNate Any updates? Have you guys solved the issue?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/raix/push/issues/334#issuecomment-404748302, or mute the thread https://github.com/notifications/unsubscribe-auth/APg4Q21nPqYx_SJ6Bwm2Ws2rc3dj5fO-ks5uGEmwgaJpZM4TSDcH .
Yes, we need to create a channel and then assign a channel id to each type of notification for android 8 and above. But I am not sure how to do it. I read through https://medium.com/exploring-android/exploring-android-o-notification-channels-94cd274f604c but couldn't do the same for this package
I also think this needs to be made into a separate issue because OP is not getting a server log confirming notification being sent while I am. #341
@etyp Are these steps you mentioned above still required for Meteor 1.7+ & 1.8?
I am running on Meteor 1.8 and phonegap-plugin-push@2.1.3 And still get "Error: String resource ID #0x0" on android's chrome console.
The iOS works fine without any problem and without any modifications in the cordova/plugins/builds and I get notifications.
Appreciate any pointers/help.
Thanks.
@honwlt yeah we recently did a release on Meteor 1.7 and I had to follow the same steps as I posted above. I haven't tried with 1.8 yet since we just updated, but confirmed to have the same issue while on 1.7. The items released in 1.8 don't seem to address anything related so I'd imagine this won't change until a future release.
Let me know if you get stuck trying to follow those steps - I'll see if/where I can help.
Hello. I'm a bit confused. Does FCM is supported with phonegap-plugin-push v1.11.1(the latest)? or it demands a phonegap-plugin-push of v2.1.x to enable FCM?
When I update phonegap-plugin-push to v2.1.3 with latest raix:push (3.4.1) the mobile app (Android) will crash with meteor run
.
Using phonegap-plugin-push v1.11.1 works fine but I'm not sure if it supports FCM. I'm using the google-services.json
and all.
Thank you
I am seeing the same issue as @killerchip
I'm trying to update my app to using phonegap-plugin-push
v2.1.3 but my app is crashing. I updated my app to meteor 1.8, and bumped the phonegap-plugin-push
.
I'm using meteor run
to run the app in Android v8.0 Emulator. The app builds but when it tries to start it 'crashes'.
The adb logcat
command fetches the following: (part of the whole log).
--------- beginning of crash
11-16 10:32:38.412 4507 4507 E AndroidRuntime: FATAL EXCEPTION: main
11-16 10:32:38.412 4507 4507 E AndroidRuntime: Process: io.mydomain.myapplocaldev, PID: 4507
11-16 10:32:38.412 4507 4507 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.meteor.webapp.AssetBundle.getVersion()' on a null object reference
11-16 10:32:38.412 4507 4507 E AndroidRuntime: at com.meteor.webapp.WebAppLocalServer.onReset(WebAppLocalServer.java:188)
11-16 10:32:38.412 4507 4507 E AndroidRuntime: at org.apache.cordova.PluginManager.onReset(PluginManager.java:464)
11-16 10:32:38.412 4507 4507 E AndroidRuntime: at org.apache.cordova.CordovaWebViewImpl$EngineClient.onPageStarted(CordovaWebViewImpl.java:501)
11-16 10:32:38.412 4507 4507 E AndroidRuntime: at org.apache.cordova.engine.SystemWebViewClient.onPageStarted(SystemWebViewClient.java:145)
11-16 10:32:38.412 4507 4507 E AndroidRuntime: at com.android.webview.chromium.WebViewContentsClientAdapter.onPageStarted(WebViewContentsClientAdapter.java:532)
11-16 10:32:38.412 4507 4507 E AndroidRuntime: at org.chromium.android_webview.AwContentsClientCallbackHelper$MyHandler.handleMessage(AwContentsClientCallbackHelper.java:157)
11-16 10:32:38.412 4507 4507 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:105)
11-16 10:32:38.412 4507 4507 E AndroidRuntime: at android.os.Looper.loop(Looper.java:164)
11-16 10:32:38.412 4507 4507 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6541)
11-16 10:32:38.412 4507 4507 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
11-16 10:32:38.412 4507 4507 E AndroidRuntime: at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
11-16 10:32:38.412 4507 4507 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
11-16 10:32:38.418 4507 4554 F chromium: [FATAL:jni_android.cc(243)] Please include Java exception stack in crash report
11-16 10:32:38.560 1482 1482 I Zygote : Process 4507 exited due to signal (31)
11-16 10:32:38.654 1639 3226 D ConnectivityService: ConnectivityService NetworkRequestInfo binderDied(NetworkRequest [ LISTEN id=8, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&FOREGROUND] ], android.os.BinderProxy@50115ac)
11-16 10:32:38.654 1639 3594 D ConnectivityService: ConnectivityService NetworkRequestInfo binderDied(NetworkRequest [ LISTEN id=9, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&FOREGROUND] ], android.os.BinderProxy@518d275)
11-16 10:32:38.657 1639 2249 I ActivityManager: Process io.mydomain.myapplocaldev (pid 4507) has died: fore TOP
11-16 10:32:38.662 1639 3423 I WindowManager: WIN DEATH: Window{ec9346f u0 io.mydomain.myapplocaldev/io.mydomain.myapplocaldev.MainActivity}
11-16 10:32:38.663 1639 1755 E ConnectivityService: RemoteException caught trying to send a callback msg for NetworkRequest [ LISTEN id=8, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&FOREGROUND] ]
11-16 10:32:38.673 4533 4533 I cr_ChildProcessService: Destroying ChildProcessService pid=4533
11-16 10:32:38.690 1639 1755 E ConnectivityService: RemoteException caught trying to send a callback msg for NetworkRequest [ LISTEN id=9, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&FOREGROUND] ]
11-16 10:32:38.697 1639 1650 I WindowManager: WIN DEATH: Window{ab40d77 u0 io.mydomain.myapplocaldev/io.mydomain.myapplocaldev.MainActivity}
11-16 10:32:38.701 1639 1740 W InputDispatcher: channel 'ab40d77 io.mydomain.myapplocaldev/io.mydomain.myapplocaldev.MainActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9
11-16 10:32:38.701 1639 1740 E InputDispatcher: channel 'ab40d77 io.mydomain.myapplocaldev/io.mydomain.myapplocaldev.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
11-16 10:32:38.702 1639 1650 W InputDispatcher: Attempted to unregister already unregistered input channel 'ab40d77 io.mydomain.myapplocaldev/io.mydomain.myapplocaldev.MainActivity (server)'
11-16 10:32:38.707 1639 2249 W ActivityManager: Force removing ActivityRecord{95d5242 u0 io.mydomain.myapplocaldev/.MainActivity t9}: app died, no saved state
Anyone else having the same issue?
11-16 10:32:38.412 4507 4507 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.meteor.webapp.AssetBundle.getVersion()' on a null object reference
I'm under the impression that the app does not build correctly.
@tparkin I solved my issue by adding the extras file that is mentioned in this post: https://github.com/meteor/meteor/issues/7600#issuecomment-383327945.
But I'm still dealing with the error "Error: String resource ID #0x0", but that's the story of this post here :-)
Hi!
I have been able to send notifications to android users in the past, using an older version of this package and
cordova:phonegap-plugin-push
. However, I wasn't able to send to Android 8 devices. I was using GCM, and decided to switch to FCM.I therefor updated to the newest version of plugin-push (allowed by the cordova-android version in meteor):
phonegap-plugin-push@2.1.3
raix:push@3.3.0
When I now send notifications, all iOS devices receive their messages correctly, but none are sent to android devices:
Push: Sent message "hello" to 1 ios apps 0 android apps
I didn't change my configuration files, but I added
google-services.json
incordova-build-override/platforms/android
in order to configure FCM. I also addedbuild-extra.gradle
following the suggestion of this comment: https://github.com/meteor/meteor/issues/7600#issuecomment-368101400I'm using the new Cloud Messaging API keys from
https://console.firebase.google.com/u/0/project/pentu-ad4be/settings/cloudmessaging
.In google-services.json a different API key is used then what is added to settings (I suppose this being a generic API key voor Firebase services). (I tried changing configuration to use the same Key as well).
Even for different combinations of the same user having multiple registered devices (both iOS and Android, only Android 7, only Android 8, both android 7 and 8, ...), none of the android devices are receiving messages. Users that were receiving messages with the older versions and GCM, no longer receive messages (with the same device registration data in their user profile).
I suppose something is going wrong server-side, when sending requests to firebase services, (because the app keeps logging
0 android apps
). I dont see any other logs, so I don't know if the server side code is not sending requests at all, or no valid request is being sent.Feels like I have tried everything. What do you suggest to further debug the issue? :/
Thanks!