Hi everyone,
I’m having trouble getting Firebase Messaging to work properly in my B4A project.
Everything is updated to the latest versions (B4A, SDK, and Firebase libraries), and I’ve already placed my google-services.json file in the project’s folder as required.
However, I still get the following error as soon as the app starts and the FirebaseMessaging receiver runs:
Logger connected to: motorola moto g04
--------- beginning of main
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
Using FileProvider? true
Call B4XPages.GetManager.LogEvents = True to enable logging B4XPages events.
** Activity (main) Resume **
*** Receiver (firebasemessaging) Receive (first time) ***
firebasemessaging_receiver_receive (java line: 135)
java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process xxx. Make sure to call FirebaseApp.initializeApp(Context) first.
at com.google.firebase.FirebaseApp.getInstance(FirebaseApp.java:179)
at com.google.firebase.messaging.FirebaseMessaging.getInstance(FirebaseMessaging.java:120)
at anywheresoftware.b4a.objects.FirebaseNotificationsService$FirebaseMessageWrapper.Initialize(FirebaseNotificationsService.java:112)
at ios.gpsafe.io.firebasemessaging._receiver_receive(firebasemessaging.java:135)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:201)
at ios.gpsafe.io.firebasemessaging.onReceive(firebasemessaging.java:42)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:4561)
at android.app.ActivityThread.-$$Nest$mhandleReceiver(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2348)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8385)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:640)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:982)
firebasemessaging_receiver_receive (java line: 135)
java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process ios.gpsafe.io. Make sure to call FirebaseApp.initializeApp(Context) first.
at com.google.firebase.FirebaseApp.getInstance(FirebaseApp.java:179)
at com.google.firebase.messaging.FirebaseMessaging.getInstance(FirebaseMessaging.java:120)
at anywheresoftware.b4a.objects.FirebaseNotificationsService$FirebaseMessageWrapper.Initialize(FirebaseNotificationsService.java:112)
at ios.gpsafe.io.firebasemessaging._receiver_receive(firebasemessaging.java:135)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:201)
at ios.gpsafe.io.firebasemessaging.onReceive(firebasemessaging.java:42)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:4561)
at android.app.ActivityThread.-$$Nest$mhandleReceiver(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2348)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8385)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:640)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:982)
What I’ve already done:
Placed google-services.json in the project folder (same level as .b4a file).
Verified that the FirebaseAnalytics and Firebase macros are included in the manifest:
CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)
CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)
I suspect that FirebaseApp isn’t initializing automatically for some reason, even though everything matches the example.
Could anyone help me figure out what might be missing or incorrectly configured?
Thanks in advance!
I’m having trouble getting Firebase Messaging to work properly in my B4A project.
Everything is updated to the latest versions (B4A, SDK, and Firebase libraries), and I’ve already placed my google-services.json file in the project’s folder as required.
However, I still get the following error as soon as the app starts and the FirebaseMessaging receiver runs:
Logger connected to: motorola moto g04
--------- beginning of main
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
Using FileProvider? true
Call B4XPages.GetManager.LogEvents = True to enable logging B4XPages events.
** Activity (main) Resume **
*** Receiver (firebasemessaging) Receive (first time) ***
firebasemessaging_receiver_receive (java line: 135)
java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process xxx. Make sure to call FirebaseApp.initializeApp(Context) first.
at com.google.firebase.FirebaseApp.getInstance(FirebaseApp.java:179)
at com.google.firebase.messaging.FirebaseMessaging.getInstance(FirebaseMessaging.java:120)
at anywheresoftware.b4a.objects.FirebaseNotificationsService$FirebaseMessageWrapper.Initialize(FirebaseNotificationsService.java:112)
at ios.gpsafe.io.firebasemessaging._receiver_receive(firebasemessaging.java:135)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:201)
at ios.gpsafe.io.firebasemessaging.onReceive(firebasemessaging.java:42)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:4561)
at android.app.ActivityThread.-$$Nest$mhandleReceiver(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2348)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8385)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:640)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:982)
firebasemessaging_receiver_receive (java line: 135)
java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process ios.gpsafe.io. Make sure to call FirebaseApp.initializeApp(Context) first.
at com.google.firebase.FirebaseApp.getInstance(FirebaseApp.java:179)
at com.google.firebase.messaging.FirebaseMessaging.getInstance(FirebaseMessaging.java:120)
at anywheresoftware.b4a.objects.FirebaseNotificationsService$FirebaseMessageWrapper.Initialize(FirebaseNotificationsService.java:112)
at ios.gpsafe.io.firebasemessaging._receiver_receive(firebasemessaging.java:135)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:201)
at ios.gpsafe.io.firebasemessaging.onReceive(firebasemessaging.java:42)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:4561)
at android.app.ActivityThread.-$$Nest$mhandleReceiver(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2348)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8385)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:640)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:982)
What I’ve already done:
Placed google-services.json in the project folder (same level as .b4a file).
Verified that the FirebaseAnalytics and Firebase macros are included in the manifest:
CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)
CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)
I suspect that FirebaseApp isn’t initializing automatically for some reason, even though everything matches the example.
Could anyone help me figure out what might be missing or incorrectly configured?
Thanks in advance!