2017-08-02 162 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)安裝紋波模擬器,並運行應用程序在本地,然後它將工作

相關問題