Je travaille sur les notifications push fcm ioniques . J'ai importé
import {Firebase} depuis '@ ionic-native / firebase';
mais je ne parviens pas à initialiser Firebase
dans le constructeur. Ceci est mon code
"private": true, "dependencies": { "@angular/common": "^7.2.2", "@angular/core": "^7.2.2", "@angular/forms": "^7.2.2", "@angular/http": "^7.2.2", "@angular/platform-browser": "^7.2.2", "@angular/platform-browser-dynamic": "^7.2.2", "@angular/router": "^7.2.2", "@ionic-native/core": "^5.0.0", "@ionic-native/fcm": "^5.1.0", "@ionic-native/firebase": "^5.1.0", "@ionic-native/splash-screen": "^5.0.0", "@ionic-native/status-bar": "^5.0.0", "@ionic/angular": "^4.0.0", "angularfire2": "^5.1.1", "cordova-plugin-firebase": "2.0.5", "core-js": "^2.5.4", "firebase": "^5.8.3", "ionic-angular": "^3.1.0", "nvm-win": "^0.2.4", "reinstall": "^2.0.0", "rxjs": "~6.3.3", "zone.js": "~0.8.29" }, }
Je reçois une erreur à
constructor(private platform: Platform, public firebaseNative:Firebase,
Il dit
Impossible de trouver le nom Firebase
Je suis cet article .
J'ai installé les packages npm i @ ionic-native / firebase et npm i @ ionic-native / fcm toujours pas il. Pour plus d'informations, voir capture d'écran:
Mise à jour: Veuillez Package. Json
import { Injectable } from '@angular/core'; import { Firebase } from '@ionic-native/firebase'; import { Platform } from 'ionic-angular'; import {HttpClient, HttpHeaders} from '@angular/common/http'; @Injectable() export class FcmProvider { constructor(private platform: Platform, public firebaseNative:Firebase, public http: HttpClient) { console.log('Hello FcmProvider Provider'); } // Get permission from the user async getToken() { let token; if (this.platform.is('android')) { token = await this.firebaseNative.getToken() } } } }
Comment puis-je résoudre ce problème?
3 Réponses :
Peut-être que vous utilisez le projet ionic version 3 et que vous utilisez de la dernière version ionic V4.
première solution
Comme mentionné dans le document v4, utilisez "ngx" à la fin du chemin d'importation
Comme: -
importer {Firebase} depuis '@ ionic-native / firebase / ngx'; REF: https://ionicframework.com/docs/native/firebase
Deuxième solution
Commencez par supprimer le plugin existant le plugin ionic cordova supprime cordova-plugin-firebase
Ajoutez-le avec
plugin cordova ionique ajouter cordova-plugin-firebase
npm install --save @ ionic-native / firebase @ 4
N'oubliez pas de suivre la doc v3 pour une mise en œuvre ultérieure
Puisque vous utilisez une version Angular supérieure à Angular 6, vous devez inclure / ngx
à la fin de l'importation. C'est à dire. importer {Firebase} depuis '@ ionic-native / firebase / ngx';
L'erreur survient si vous avez installé la mauvaise version du plug-in natif pour votre type de projet ou si vous n'ajoutez pas ngx à la fin de l'importation.
Vérifiez le type de projet dans ionic.config.json
Si le type est " ionic-angular " (généralement Ionic 3), alors installez la version 4.xx.
XXX
Si le type est "angulaire" (généralement Ionic 4), alors installez la dernière version
import { Firebase } from '@ionic-native/firebase'
Remarque:
Ajoutez ngx à la fin de l'importation uniquement si vous utilisez Angular 6
import { Firebase } from '@ionic-native/firebase/ngx';
sinon supprimez ngx de l'importation
XXX
Référence : https://github.com/ionic-team/ionic/issues/15225#issuecomment-414074074
Veuillez partager votre fichier package.json ou la version du package
avez-vous essayé avec ça?
importer * comme firebase depuis "firebase / app";
@MustafaLokhandwala - Nous n'avons pas encore essayé cela et tout ce qui a été donné en réponse. Besoin d'un peu de temps pour essayer. Bien sûr, je vais le faire savoir. Merci.
Sûr pas de problèmes.