首页 文章

与Ionic 3 app的Crashlytics

提问于
浏览
3

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

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

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

3 回答

  • 0

    从理论上讲,您应该按照描述设置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);
        }
    }
    
  • 0

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

  • 3

    请参阅此链接https://fabric.io/kits/android/crashlytics/features

    与Ionic 3 app的Crashlytics

    首先,按照他们的说法...安装IDE插件等 . 现在 . Ionic使用gradle进行建筑 . 你会期望安装立即工作,但它不会 . Ionic / Cordova会覆盖依赖项部分中的build.gradle定义 .

    无论如何,首先打开build.gradle,在buildscript>存储库中,如果它还没有在那里,添加

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

    接下来,每个gradle版本有3个依赖项 . 如果你知道你正在运行什么版本,那很好 . 否则将以下内容添加到所有这些中 . classpath'io.fabric.tools:gradle:1 . “

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

    apply plugin:'io.fabric' repositories {jcenter()maven {url'https://maven.fabric.io/public ' } } dependencies { // Crashlytics Kit compile(' com.crashlytics.sdk.android:crashlytics:2.5.5@aar') }

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

    安装完成后,添加强制崩溃并重建并运行您的应用程序 .

    如果仍然无法正常工作,请确保您没有安装任何广告拦截软件 . 即使您没有,但过去也重新安装,并确保重置所有设置(I.E AdAway编辑您的主机文件,卸载它不会重置它们,您需要重置它们然后您可以卸载它们) .

    希望这有助于其他任何有问题设置的人 .

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

相关问题