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

标签 c# xamarin.ios xamarin.android xamarin.forms hockeyapp

我正在尝试在 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,您只需要在 StartManager() 之前在 AppDelegate.cs 中设置 BITCrashManagerStatus:

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

关于c# - Xamarin.Forms + HockeyApp - 自动提交崩溃报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44436601/

相关文章:

c# - 是否可以访问项目外部的 SetUpFixture?

c# - 为什么 Entity Framework 在从 View 中选择时创建子查询?

MonoDroid使用Beta,MonoTouch使用Release?

c# - 如何从大型ViewModel中分离出命令

c# - Xamarin iOS(WebClient IPv6 拒绝)

xamarin - DisplayAlert 更改文本 xamarin 表单

c# - 当我在 Xamarin.Android 中有一个 uri 对象时,如何获取字节数组?

android - 如何设置发送到NotificationHub的推送通知的高优先级

c# - 如何从 Xamarin 客户端连接到 SignalR 服务器?

c# - 空构造函数或无构造函数