与Ionic 3 app的Crashlytics

时间:2018-03-22 13:14:36

标签: firebase ionic3 crashlytics

我已经使用ionic 3 app实施了Firebase插件。它工作正常。你能告诉我如何在这个插件中使用Crashlytics吗?根据该文档,它似乎适用于原生应用程序。那么我们怎么能用Ionic 3来做呢?

我们可以在离子应用中使用插件cordova-fabric-plugin。但似乎我们不再需要它了,因为关于本机应用程序文档的这个说明:请问任何指导?

  

注意:如果您要从Fabric Crashlytics升级,请删除Fabric   AndroidManifest.xml中的API密钥。删除密钥的元数据标记,   应该有io.fabric.ApiKey和API密钥。

3 个答案:

答案 0 :(得分:3)

理论上,您应该按照描述设置FabricPlugin。 (firebase所需的版本低于曾经包含的版本)

要设置离子,我建议您阅读以下问题:https://github.com/sarriaroman/FabricPlugin/issues/70

简短版本:然后创建一个自定义错误处理程序

{provide: ErrorHandler, useClass: FabricErrorHandler},

然后是您的自定义错误处理程序

import {Injectable} from "@angular/core";
import {IonicErrorHandler } from 'ionic-angular';
import * as stacktrace from 'stacktrace-js';

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

    handleError(error) {
        window.fabric.Crashlytics.addLog('crash triggered');
        stacktrace.get().then(
            trace => window.fabric.Crashlytics.endNonFatalCrash(error.message, trace)
        );

        super.handleError(error);
    }
}

答案 1 :(得分:0)

引用此链接 https://fabric.io/kits/android/crashlytics/features

使用Ionic 3应用程序的Crashlytics

首先,按照他们的说法……安装IDE插件等。 现在。 Ionic将gradle用于其建筑物。您会期望安装立即生效,但不会成功。 Ionic / Cordova会覆盖“依赖项”部分中的build.gradle定义。

无论如何,首先打开build.gradle,然后在buildscript>存储库中(如果尚未存在)添加

jcenter()行家{url'https://maven.fabric.io/public'}

接下来,每个gradle版本都有3个依赖项。如果您知道您运行的是哪个版本,那就太好了。否则,将以下内容添加到所有这些内容中。 classpath'io.fabric.tools:gradle:1。+'

现在我们需要做的是扩展gradle的构建。 在您的android / ios目录中创建一个名为build-extras.gradle的文件。 在其中,我们需要定义存储库。

应用插件:'io.fabric'存储库{jcenter()maven {url'https://maven.fabric.io/public'}}}依赖项{// Crashlytics Kit编译('com.crashlytics.sdk.android:crashlytics:2.5.5 @aar'){传递= true}}

现在,尽管Fabric.io 79无法识别您的应用程序,但是当您运行或构建该应用程序时,它应该可以运行。 我们将需要安装Cordova插件, 我使用的是: https://www.npmjs.com/package/cordova-fabric-plugin 946

安装后,添加强制崩溃并重建和运行您的应用。

如果仍然无法正常运行,请确保您没有安装任何广告拦截软件。即使没有,也可以重新安装,并确保所有设置都已重置(IE AdAway会编辑您的主机文件,卸载它不会重置它们,您需要重置它们,然后才能卸载它们)。 / p>

希望这对其他遇到问题的人有所帮助。

编辑 当前,Crashlytics不支持自定义堆栈跟踪。所有崩溃都将来自Crashlytics / Fabric.io插件。您必须使用日志来指定错误。

答案 2 :(得分:-2)

Fabric目前不支持Unity以外的任何非本机平台。但是,正如@wodka所提到的,还有社区解决方法。