我正在使用Ionic处理我的第一个Firebase应用,并且我的登录代码存在一些问题。从我的浏览器中我看到没有问题但是一旦我将应用程序安装到手机(iOS和Android)上,登录大约需要一分钟,因为来自onAuthStateChanged的回调需要很长时间。我使用"firebase": "^3.8.0".
我添加了我用来登录的代码。关于为什么Firebase会窒息的任何想法?
app.component.ts
constructor(public platform: Platform, private statusBar: StatusBar) {
this.rootPage = LoginPage;
let config = {
apiKey: "***",
authDomain: "***",
databaseURL: "***",
storageBucket: "***",
messagingSenderId: "***"
};
firebase.initializeApp(config);
this.authData = new AuthData();
this.zone = new NgZone({});
const subscribe = firebase.auth().onAuthStateChanged((user) => {
console.log("onAuthStateChanged");
this.zone.run(() => {
console.log(" zone onAuthStateChanged");
if (!user) {
this.rootPage = LoginPage;
subscribe();
} else {
// this.rootPage = HomePage;
this.rootPage = EditProfile;
subscribe();
}
});
});
答案 0 :(得分:2)
在项目中升级到firebase 3.9.0,肯定能解决问题。
答案 1 :(得分:1)
我也面临同样的问题。 经过一些研究后,我发现这个问题来自firebase" 3.8.0 "。 降级到 3.6.6 解决了我的问题
答案 2 :(得分:1)
更新3.8.0减慢了Ionic 2设备上的身份验证速度。以下是此google docs中有关它的讨论以及firebase团队的解决方案,直到他们在新补丁中修复它http://getbootstrap.com/css/#forms-inline。