最后,我正在与firebase的Android崩溃作斗争。我们正在使用unity的最新版本:
- Firebase App (v7.1.0)
- Firebase认证(v7.1.0)
- Firebase崩溃分析(v7.1.0)
- Firebase远程配置(v7.1.0)
- Google Analytics for Firebase (v7.1.0)。
我们用以下选项初始化它:
Application = firebaseOptions != null ? FirebaseApp.Create(firebaseOptions) : FirebaseApp.DefaultInstance;
游戏正常运行,firebase执行看起来不错,事件被捕获等。不幸的是,我们使用stacktrace:
时有很多崩溃有人有同样的问题吗?如何解决?我们不能重现这个问题,我们甚至不知道它是怎么发生的,因为堆栈跟踪从谷歌团队的代码中明显地运行。
我猜这是一个检查应用程序是否没有从手机上删除的工作。
Fatal Exception: java.lang.IllegalStateException: FirebaseApp was deleted
at com.google.android.gms.common.internal.Preconditions.checkState(com.google.android.gms:play-services-basement@@17.6.0:2)
at com.google.firebase.FirebaseApp.checkNotDeleted(FirebaseApp.java:439)
at com.google.firebase.FirebaseApp.getApplicationContext(FirebaseApp.java:126)
at com.google.firebase.installations.FirebaseInstallations.insertOrUpdatePrefs(FirebaseInstallations.java:444)
at com.google.firebase.installations.FirebaseInstallations.doNetworkCallIfNecessary(FirebaseInstallations.java:401)
at com.google.firebase.installations.FirebaseInstallations.lambda$doRegistrationOrRefresh$2(FirebaseInstallations.java:377)
at com.google.firebase.installations.FirebaseInstallations$$Lambda$4.run(:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)```
我已经设法解决了一个问题。
首先,是覆盖firebase应用的DefaultInstance的问题。你可以在这里找到更多信息:重火力点问题
这里是如何解决它,链接是由firebase支持提供给我的。目前我们正在阻止应用程序的自动初始化,在运行时,我们创建一个新的firebase应用程序,这是我们在启动器中做的第一件事。
https://firebase.googleblog.com/2017/03/take-control-of-your-firebase-init-on.html
你也可以在这里了解更多关于firebase初始化的过程:https://firebase.googleblog.com/2016/12/how-does-firebase-initialize-on-android.html