NativeScript Firebase 已初始化
Posted
技术标签:
【中文标题】NativeScript Firebase 已初始化【英文标题】:NativeScript Firebase already initialized 【发布时间】:2019-08-06 01:19:59 【问题描述】:我在我的应用中使用 Firebase,我注意到当我主动进行更改并且 LiveSync 更新应用时,它有时会显示“firebase.init 错误:Firebase 已初始化”。当更改不会触发整个应用程序重新启动(例如 html 文件)时,就会发生这种情况。它完全打乱了我当前的身份验证状态并强制我重新启动应用程序。
有什么方法可以捕捉或防止这种情况发生吗?我可以尝试为它制作一个演示应用程序,但我觉得这可能已经发生在某人身上了。
我只是使用标准的firebase.init,如我的 app.component 中的文档所示,没有什么特别或不同的。
【问题讨论】:
github.com/EddyVerbruggen/nativescript-plugin-firebase/issues/… 【参考方案1】:不要在 App.component 的 ngOnit 上使用,而是尝试在 app launch 事件上初始化 firebase。
applicationOn(launchEvent, (args: LaunchEventData) =>
firebase.init(
// Optionally pass in properties for database, authentication and cloud messaging,
// see their respective docs.
).then(
function ()
console.log("firebase.init done");
,
function (error)
console.log("firebase.init error: " + error);
);
);
【讨论】:
我能够通过在 app.componentfirebase.addAuthStateListener(listener)
中使用分离的 onAuthStateChanged 并测试 firebase.initialized 是否为真来实现这一点,然后我使用 firebase.getCurrentUser() 手动获取当前用户。迂回的方式,但它的工作原理。以上是关于NativeScript Firebase 已初始化的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 firebase-nativescript 将图标添加到推送通知
添加firebase插件后,Nativescript应用程序在android上不断崩溃
vue js nativescript firebase web 应用到 android/ios 应用
使用 nativescript-plugin-firebase 添加带有查询的事件侦听器