我希望這是正確的論壇問這個的,我的選擇是堆棧溢出。但我所做的一切,儘可能準確發佈文章https://github.com/angular/angularfire2/blob/master/docs/Auth-with-Ionic3-Angular4.md中,我相信它在手機上正常工作,但我沒有看到我的名字。但是,在Web應用程序版本中,我確實看到了我的名字。被更新<h1>Hello {{ displayName }}</h1>
只是冷落的功能,如果(this.platform.is('cordova')) {
部分?AngularFire2/Ionic3 - Facebook驗證 - 原生科爾多瓦 - 閱讀對象/不更新HTML
signin.ts
import { Platform } from 'ionic-angular';
import { Component } from '@angular/core';
import { NavController, ToastController } from 'ionic-angular';
import { AngularFireAuth } from 'angularfire2/auth';
import * as firebase from 'firebase/app';
import { Facebook } from '@ionic-native/facebook';
@Component({
selector: 'page-signin',
templateUrl: 'signin.html',
})
export class SigninPage {
displayName;
constructor(public navCtrl: NavController,
private toastCtrl: ToastController,
private platform: Platform,
private fb: Facebook,
private afAuth: AngularFireAuth) {
afAuth.authState.subscribe((user: firebase.User) => {
if (!user) {
this.displayName = null;
return;
}
this.displayName = user.displayName;
});
}
signInWithFacebook() {
if (this.platform.is('cordova')) {
return this.fb.login(['email', 'public_profile']).then(res => {
const facebookCredential = firebase.auth.FacebookAuthProvider.credential(res.authResponse.accessToken);
return firebase.auth().signInWithCredential(facebookCredential);
})
}
else {
return this.afAuth.auth
.signInWithPopup(new firebase.auth.FacebookAuthProvider())
.then(res => console.log(res));
}
}
signOut() {
this.afAuth.auth.signOut();
}
}
signin.html
<ion-header>
<ion-navbar>
<ion-title>Login</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<h1>Hello {{ displayName }}</h1>
<button ion-button outline (click)="signInWithFacebook()">Login</button>
<button ion-button outline (click)="signOut()">Logout</button>
</ion-content>
我看我怎麼可以訂閱afAuth.authState
,但科爾多瓦,該Facebook
包使用,所以我不知道如何訪問用戶的字段或什麼是重新轉向對象是。感謝您提供的任何幫助。
如果有幫助,當Android設備上跑,我看到了Facebook的盒子彈出了一個短暫的時期,也許10毫秒,然後消失。這就是爲什麼我認爲這是工作(認證),但我只是想知道如何訪問用戶領域,所以我可以打印我的名字,吸引用戶ID與關聯垃圾遍佈,可能進入一個數據庫應用程序。
嗯,切換到你在一個新的錯誤提供的結果,該行:'不能讀取屬性「叫」 undefined'的。試圖研究它以找出原因。 – Kenny