【问题标题】:Ionic 2 Firebase initializeApp & onAuthStateChanged slowIonic 2 Firebase 初始化应用程序和 onAuthStateChanged 缓慢
【发布时间】:2017-09-22 01:53:05
【问题描述】:

我正在使用 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.9.0 已于今天发布,并针对此问题进行了修复:firebase.google.com/support/release-notes/js#3.9.0 您应该不会再收到此错误。
  • @bojeil 谢谢!!我会尽快更新这家伙,看看它是否有效
  • 我使用的是 4.10.1,在我的测试中,注销/登录 onAuthStateChanged 持续需要 4 秒。这很常见吗?
  • 确保在部署 ionic 应用程序时使用命令行 --release --prod 标志。这将打开 Ionic 的提前编译。这可能会减少延迟。

标签: android ios firebase ionic2 firebase-authentication


【解决方案1】:

在您的项目中升级到 firebase 3.9.0,肯定可以解决问题。

【讨论】:

    【解决方案2】:

    我也遇到了同样的问题。 经过一些研究,我发现这个问题与firebase“3.8.0”有关。 降级到 3.6.6 为我解决了这个问题

    【讨论】:

      【解决方案3】:

      更新 3.8.0 降低了 Ionic 2 设备上的身份验证速度。这是issue 中关于它的讨论以及firebase 团队的解决方案,直到他们在新补丁中修复它google docs

      【讨论】:

        猜你喜欢
        • 2021-09-05
        • 1970-01-01
        • 2021-12-06
        • 1970-01-01
        • 1970-01-01
        • 2018-07-16
        • 1970-01-01
        • 2021-04-06
        • 2017-04-10
        相关资源
        最近更新 更多