Ionic 2 Firebase initializeApp& onAuthStateChanged慢

时间:2017-04-25 07:18:32

标签: android ios firebase ionic2 firebase-authentication

我正在使用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();
        }
      });
    });

3 个答案:

答案 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