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