2
votes

L'importation Firebase ne s'initialise pas dans le constructeur ionique natif

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:

 entrez la description de l'image ici

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?


4 commentaires

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.


3 Réponses :


2
votes

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

https://ionicframework.com/docs/v3/native/firebase/


0 commentaires

2
votes

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';


0 commentaires