2017-08-02 66 views
2

我刚开始学习离子框架并尝试使用Firebase实现Facebook登录。我在浏览器中运行这个应用程序,我有以下代码给我“cordova_not_available”错误。任何人都可以帮助我了解我的尝试有什么问题。cordova在浏览器中不可用

谢谢。

内app.module.js

import {Facebook} from '@ionic-native/facebook'; 
import firebase from 'firebase'; 

export const firebaseConfig = { 
    .... 
    .... 
}; 

firebase.initializeApp(firebaseConfig); 

内home.ts

import { Component } from '@angular/core'; 
import { NavController } from 'ionic-angular'; 
import {Facebook} from '@ionic-native/facebook'; 
import firebase from 'firebase'; 

@Component({ 
    selector: 'page-home', 
    templateUrl: 'home.html' 
}) 
export class HomePage { 

    constructor(public navCtrl: NavController, public facebook: Facebook) { 

    } 
    fblogin() { 
     var me = this; 
     me.facebook.login(['email']).then(res=>{ 
      const fc = firebase.auth.FacebookAuthProvider.credential(res.authResponse.accessToken); 
      firebase.auth().signInWithCredential(fc).then(fs => { 
       alert("Firebase sec"); 
      }).catch(ferr => { 
       alert("error"); 
      }) 
     }).catch(err=>{ 
      console.log("JSON.stringify(err)"); 
     }) 
    } 

} 

回答

4

科尔多瓦插件运行与离子服务于浏览器的应用程序时,不可用。为了能够使用Cordova插件,您需要在模拟器/真实设备上运行应用程序。

UPDATE

我需要在Android和浏览器上运行的应用程序

我能想到的唯一的办法,就是使用该平台信息来检查,如果应用程序在其上运行一个移动设备(this.platform.is('cordova')),如果是,请使用Cordova插件。如果不是,你需要做的事情就像创建网站时一样,比如使用Firebase中的REST API(因此,不使用Cordova插件)

我应该在哪里检查这个平台?

就在调用任何Cordova插件相关的方法之前。所以它可能在您的服务中,或者在app.component.ts文件中。这只是为了决定是否需要使用基于Cordova插件的方法,或者是否需要执行使用Web服务的方法。

+0

所以如果我必须使用浏览器运行,我该怎么办。我正在尝试使用Firebase和离子框架实现Facebook登录。你能否给我建议我可以遵循的任何教程 – nas

+0

你的意思是在开发过程中,或者你的应用程序将在浏览器中使用? – sebaferreras

+0

是的,我需要在Android和浏览器中运行应用程序 – nas

1

科尔多瓦是即时拍摄的浏览器,我们需要安装XAMPP srver和纹波仿真器,然后将工作

步骤来运行:

1)安装XAMPP遵循的程序

2)安装纹波模拟器,并运行应用程序在本地,然后它将工作

相关问题