离子电容器 firebase 推送通知,错误:默认 FirebaseApp 在此过程中未初始化

use*_*863 5 android firebase ionic-framework capacitor

我是 Capacitor 的新手,并将我的 Cordova 项目迁移到 Capacitor。

我试图让我的通知消息工作。因此,我按照https://capacitor.ionicframework.com/docs/guides/push-notifications-firebase/ 中显示的步骤操作

构建项目后,我将打开项目并启动 Android Studio。我进行了一次跑步,应用程序开始下载到我的手机上,然后我运行。

当我注册我的手机以接收通知消息时,我收到如下所示的错误消息。

我错过了一步吗?

google-services.json 也放在 Andriod-->App

谢谢

 E/Capacitor: Serious error executing plugin
    java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invoke(Native Method)
        at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:99)
        at com.getcapacitor.Bridge$1.run(Bridge.java:515)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:201)
        at android.os.HandlerThread.run(HandlerThread.java:65)
     Caused by: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.aardra.cloud. Make sure to call FirebaseApp.initializeApp(Context) first.
        at com.google.firebase.FirebaseApp.getInstance(com.google.firebase:firebase-common@@19.3.0:184)
        at com.google.firebase.messaging.FirebaseMessaging.getInstance(com.google.firebase:firebase-messaging@@20.1.2:1)
        at com.getcapacitor.plugin.PushNotifications.register(PushNotifications.java:82)
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:99) 
        at com.getcapacitor.Bridge$1.run(Bridge.java:515) 
        at android.os.Handler.handleCallback(Handler.java:873) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:201) 
        at android.os.HandlerThread.run(HandlerThread.java:65) 
E/AndroidRuntime: FATAL EXCEPTION: CapacitorPlugins
    Process: com.aardra.cloud, PID: 749
    java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at com.getcapacitor.Bridge$1.run(Bridge.java:524)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:201)
        at android.os.HandlerThread.run(HandlerThread.java:65)
     Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invoke(Native Method)
        at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:99)
        at com.getcapacitor.Bridge$1.run(Bridge.java:515)
        at android.os.Handler.handleCallback(Handler.java:873) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:201) 
        at android.os.HandlerThread.run(HandlerThread.java:65) 
     Caused by: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.aardra.cloud. Make sure to call FirebaseApp.initializeApp(Context) first.
        at com.google.firebase.FirebaseApp.getInstance(com.google.firebase:firebase-common@@19.3.0:184)
        at com.google.firebase.messaging.FirebaseMessaging.getInstance(com.google.firebase:firebase-messaging@@20.1.2:1)
        at com.getcapacitor.plugin.PushNotifications.register(PushNotifications.java:82)
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.getcapacitor.PluginHandle.invoke(PluginHandle.java:99) 
        at com.getcapacitor.Bridge$1.run(Bridge.java:515) 
        at android.os.Handler.handleCallback(Handler.java:873) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:201) 
        at android.os.HandlerThread.run(HandlerThread.java:65) 
Run Code Online (Sandbox Code Playgroud)

Jua*_*cio 12

我有同样的问题。就我而言,我忘记将 google-services.json 放在 android/app 文件夹中。

\n

核实:

\n
    \n
  1. 谷歌服务.json位于 android/app 文件夹中,并且您的 Android 软件包名称应与您的 Capacitor.config.json 文件中的 appId 匹配。\n我们使用 com.mydomain.myappname 作为此 Capacitor 应用 ID,因此这就是我们\xe2 \x80\x99 将用于此条目。
  2. \n
  3. 电容器.config.json有 PushNotifications 设置:
  4. \n
\n
    {\n     ...\n     "plugins": {\n        "SplashScreen": {\n         ...\n        },\n        "PushNotifications": {\n            "presentationOptions": ["badge", "sound", "alert"]\n        }\n     },\n     ...\n    }\n
Run Code Online (Sandbox Code Playgroud)\n

然后构建您的 js 项目并同步。

\n
npx cap sync android\nnpx cap open android\n
Run Code Online (Sandbox Code Playgroud)\n

并构建您的 Android 应用程序或在模拟器中进行测试。

\n