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

eth*_*ane 6 c# xamarin.ios xamarin.android hockeyapp xamarin.forms

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

我在MainActivity.cs中为Android安装了这个:

var customCrashListener = new CustomCrashListener();
CrashManager.Register(this, "appId", customCrashListener);
Run Code Online (Sandbox Code Playgroud)

CustomCrashListener的位置是:

class CustomCrashListener : CrashManagerListener
{
    public bool ShouldAutoUploadCrashes()
    {
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

这不是发送任何崩溃报告,HockeyApp与Xamarin文档很薄.我也试图在iOS上完成这项工作.

Sha*_*yas 6

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

您需要在侦听器回调中包含override关键字,如下例所示.否则,将不会启用autosend,仍会显示崩溃提示.

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

public class MyCrashManagerListener : CrashManagerListener
        {

            public override bool ShouldAutoUploadCrashes()
            {
                return true;
            }
        }
Run Code Online (Sandbox Code Playgroud)

对于iOS,您只需要BITCrashManagerStatusAppDelegate.cs之前设置StartManager():

var manager = BITHockeyManager.SharedHockeyManager;
manager.Configure(App_ID);
manager.LogLevel = BITLogLevel.Debug;
manager.CrashManager.CrashManagerStatus = BITCrashManagerStatus.AutoSend;
manager.StartManager();
Run Code Online (Sandbox Code Playgroud)