为什么 'The method FB.login can no longer be called from http pages.' 会出现在我的 Ionic4 应用程序中?

Why 'The method FB.login can no longer be called from http pages.' does appear in my Ionic4 app?

我正在尝试在我的 Ionic 4 应用程序中设置 facebook 登录,但是当我使用 cordova 方法时它不起作用。 控制台显示两个错误:

The method FB.login can no longer be called from http pages.

FB.login() called before FB.init().

网络方法完全有效。

facebookCordova() {
    this.fb.login(['email']).then(
      (response) => {
        const facebookCredential = firebase.auth.FacebookAuthProvider.credential(response.authResponse.accessToken);
        firebase.auth().signInWithCredential(facebookCredential)
        .then((success) => {
            console.log('Info Facebook: ' + JSON.stringify(success));
        }).catch((error) => {
            console.log('Erreur: ' + JSON.stringify(error));
        });
      }).catch((error) => { console.log(error); });
  }

预期的输出是“成功”获得的用户信息。 感谢您的帮助

消息 "The method FB.login can no longer be called from http pages." 仍然显示在控制台中,但消息 "FB.login() called before FB.init()" 消失了,在我执行以下操作后登录功能开始工作:

1 - 删除了平台

ionic cordova 平台 rm 浏览器

2 - 删除了 Facebook 插件

ionic cordova 插件 rm cordova-plugin-facebook4 --variable APP_ID="123456789" --variable APP_NAME="BlahBlahBlah"

3 - 添加了带有 --save 的 Facebook 插件(我认为 --save 参数是解决方案,文档中没有提到它 https://ionicframework.com/docs/native/facebook

ionic cordova 插件添加 cordova-plugin-facebook4 --variable APP_ID="123456789" --variable APP_NAME="BlahBlahBlah" --save

4 - 再次添加平台

ionic cordova平台添加浏览器