首页 > 解决方案 > 集成织物 Crashlytics 后,Ionic App 无法正常工作

问题描述

我想集成织物 Crashlytics,但它不适合我。我已经集成了 chrashlytics,但是当我在模块中导入 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

然后我像这样在module.ts中添加了Crashlytics

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 {}

然后我像这样在 home.ts 中添加 Crashlytics

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)

请仔细查看并帮我解决

标签: cordovacrashlyticsionic4

解决方案


Ionic Native 文档中所述

对于 Angular,导入路径应以/ngx

所以:

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

应该:

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

推荐阅读