Приложение Ionic не работает, работает после интегрированной программы fabric Crashlytics

#cordova #crashlytics #ionic4

#cordova #crashlytics #ionic4

Вопрос:

Я хочу интегрировать fabric Crashlytics, но у меня это не работает. Я интегрировал crashlytics, но когда я импортирую Crashlytics в модуль, он возвращает мне ошибку. У меня есть ссылка на плагин для добавления этого

 ionic cordova plugin add cordova-fabric-plugin --variable FABRIC_API_KEY=asdjfkjasldfjklajsdfkljasldjfl--variable FABRIC_API_SECRET=asdfasdfasdfasdfasd
npm install --save @ionic-native/fabric@4
  

затем я добавил Crashlytics в module.ts следующим образом

 import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';

import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';

import { DatePipe } from '@angular/common';
import { Crashlytics } from '@ionic-native/fabric/';

@NgModule({
  declarations: [AppComponent],
  entryComponents: [],
  imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule],
  providers: [
    StatusBar,
    Crashlytics,
    DatePipe,
    SplashScreen,
    { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}
  

затем я добавляю Crashlytics в home.ts следующим образом

 import { Component } from '@angular/core';
import { DatePipe } from '@angular/common';
import { Crashlytics } from '@ionic-native/fabric';
@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss']
})
export class Tab1Page {

  constructor(public datepipe: DatePipe,
     private crashlytics: Crashlytics
    ){
      try {
        throw new Error("this is javascriptError");
      }
      catch (e) {
        this.crashlytics.addLog("Error while loading data");
        this.crashlytics.sendNonFatalCrash(e.message || e);
      }
    }
  myTime: String = this.datepipe.transform(new Date().toISOString(), 'hh:mm');;

  myDate: String = this.datepipe.transform(new Date().toISOString(), 'MMM dd, yyyy');;

}
  

и это мои журналы ошибок

 vendor.js:75062 Uncaught TypeError: Object(...) is not a function
    at vendor.js:75062
    at Module../node_modules/@ionic-native/fabric/index.js (vendor.js:75164)
    at __webpack_require__ (runtime.js:84)
    at Module../src/app/app.module.ts (main.js:1036)
    at __webpack_require__ (runtime.js:84)
    at Module../src/main.ts (main.js:1114)
    at __webpack_require__ (runtime.js:84)
    at Object.0 (main.js:1137)
    at __webpack_require__ (runtime.js:84)
    at checkDeferredModules (runtime.js:46)
  

пожалуйста, внимательно ознакомьтесь с этим и помогите мне решить проблему

Ответ №1:

Как указано в документации Ionic Native:

Для Angular путь импорта должен заканчиваться /ngx

Итак:

 import { Crashlytics } from '@ionic-native/fabric';
  

должно быть:

 import { Crashlytics } from '@ionic-native/fabric/ngx';
  

Комментарии:

1. Я получаю эту ошибку. Не удается найти модуль ‘@ionic-native / fabric / ngx’.ts(2307)

2. Я не вижу никакой прямой поддержки для fabric в Ionic Native docs , но есть для Firebase Crashlytics , так что попробуйте это.

Ответ №2:

Вам необходимо установить:

npm install @ionic-native/fabric@latest

и импорт:

import { Crashlytics } from '@ionic-native/fabric/ngx';