Почему функции Crashlytics не определены? - PullRequest
0 голосов
/ 13 февраля 2019

Я установил плагин cordova-fabric-plugin в своем проекте Ionic 2.После этого я расширил IonicHandlerError в FabricHandlerError (код ниже).Проблема состоит в том, что когда приходит кэшированная ошибка, Crashlytics определяется, и все функции появляются в консоли, но когда вы используете это, они не определены.

import {Injectable} from "@angular/core";
import {IonicErrorHandler } from 'ionic-angular';
import { Crashlytics } from '@ionic-native/fabric';

@Injectable()
export class FabricErrorHandler extends IonicErrorHandler {
    constructor (public crashlytics: Crashlytics) {
        super();
    }

    handleError(error: any): void {
        console.log('In Fabric Error Handler');
        console.log(error);
        this.crashlytics.addLog(error.message);
        this.crashlytics.sendCrash();
        console.log('Crashlytics Sended. Error message: '+ error.message);

        super.handleError(error);
    }
}

При остановке консоли при ошибке обработчика:

this.crashlytics
  Crashlytics {}
    __proto__: IonicNativePlugin
   addLog: ƒ ()
   constructor: ƒ Crashlytics()
   recordError: ƒ ()
   sendCrash: ƒ ()
   sendNonFatalCrash: ƒ ()
   setBoolValueForKey: ƒ ()
   setFloatValueForKey: ƒ ()
   setIntValueForKey: ƒ ()
   setStringValueForKey: ƒ ()
   setUserEmail: ƒ ()
   setUserIdentifier: ƒ ()
   setUserName: ƒ ()
   __proto__: Object

this.crashlytics.addLog('ERROR TESTING');
  undefined

this.crashlytics.sendCrash();
  undefined
...