Xamarin.Forms + HockeyApp - 自动提交崩溃报告

Xamarin.Forms + HockeyApp - auto submit crash reports

我正在尝试在 Xamarin.Forms(Android 和 iOS)上启用自动(无用户提示)提交曲棍球应用程序崩溃报告:

我在 MainActivity.cs 中为 Android 准备了这个:

var customCrashListener = new CustomCrashListener();
CrashManager.Register(this, "appId", customCrashListener);

CustomCrashListener 在哪里:

class CustomCrashListener : CrashManagerListener
{
    public bool ShouldAutoUploadCrashes()
    {
        return true;
    }
}

这不会发送任何崩溃报告,并且带有 Xamarin 文档的 HockeyApp 很薄。我也在尝试在 iOS.

上完成这项工作

在下面包含了一些示例代码,以及在 SDK 上启用调试的语句。启用此功能后,您可以查看应用程序输出以查明问题所在。如果您在启动时直接崩溃,SDK 将没有时间发送崩溃报告。此外,如果 App ID 不正确,您会看到此行为。

您需要在侦听器回调中包含 override 关键字,如下例所示。否则不会启用自动发送,仍然会出现崩溃提示。

Hockey.LogLevel = 3;
CrashManager.Register(this, AppID, new MyCrashManagerListener());

public class MyCrashManagerListener : CrashManagerListener
        {

            public override bool ShouldAutoUploadCrashes()
            {
                return true;
            }
        }

对于iOS,你只需要在你的AppDelegate.cs中设置BITCrashManagerStatusStartManager()之前:

var manager = BITHockeyManager.SharedHockeyManager;
manager.Configure(App_ID);
manager.LogLevel = BITLogLevel.Debug;
manager.CrashManager.CrashManagerStatus = BITCrashManagerStatus.AutoSend;
manager.StartManager();