Я наткнулся на проблему с моим приложением Ionic, Angular и Firebase.
Раньше у меня была эта проблема, но она, казалось, решилась сама собой, и теперь у меня это снова, и мне интересно, знает ли кто-нибудь почему.
Я использую Firebase FCM для хранения token
пользователя, чтобы затем отправить ему уведомление. На андроиде это работает отлично, а на iOS раньше работало ..
Я сгенерировал свой GoogleService-Info.plist
файл из Firebase и поместил его в основную папку.
У меня есть следующий код для получения токена fcm
:
getFCMToken() {
let token;
this.firebaseNative.getToken().then((tok) => {
token = tok;
if(this.platform.is('ios')) {
this.firebaseNative.grantPermission().then((tok) => {
return this.fcmToFirestore(token);
}).catch(error => this.showToast("There was an error: " + error));
} else {
return this.fcmToFirestore(token);
}
}).catch(error => {
this.showToast("There was an error: " + error)
});
}
fcmToFirestore(token) {
if (!token) return;
const devicesRef = this.afs.collection('devices')
const docData = {
token,
userId: this.userData.uid,
}
return devicesRef.doc(token).set(docData);
}
Когда я запускаю следующий код на iPhone, я получаю тостовое сообщение:
Произошла ошибка: Firebase не инициализирован
Я инициализирую приложение в app.module.ts
в imports
, которое всегда работало, и, как я уже сказал, прекрасно работает на Android.
Есть идеи, почему это не работает на iOS? Спасибо!