在向Xamarin Android应用添加崩溃报告和分析时,按照AppCenter的说明进行操作:
在应用程序的MainActivity.cs中,添加以下using语句。
using Microsoft.AppCenter;
using Microsoft.AppCenter.Analytics;
using Microsoft.AppCenter.Crashes;
在同一文件中,在OnCreate()方法中添加以下内容。
AppCenter.Start("xxxx-xxxx-xxxx-xxxx-xxxx",
typeof(Analytics), typeof(Crashes));
但是,我有一个Splash活动在MainActivity之前运行,该活动很容易崩溃-并且如果Splash活动在MainActivity启用更改并调用AppCenter.Start
之前崩溃,则不会报告崩溃。
因此,我还向SplashActivity的开头添加了AppCenter.Start
。这是否意味着如果我要启动多个实例,应该从MainActivity中删除AppCenter.Start
吗?还是AppCenter实例是与每个活动分开的,我需要向项目中的每个活动添加AppCenter.Start
(例如,包括我的设置页面活动)?
答案 0 :(得分:1)
添加一个新类,并从Application类继承它,如下所示:
#if DEBUG
[Application(Debuggable=true)]
#else
[Application(Debuggable = false)]
#endif
public class MainApp : Application
{
public MainApp(IntPtr javaReference, JniHandleOwnership transfer) : base(javaReference, transfer)
{
}
public override void OnCreate()
{
base.OnCreate();
}
}
覆盖OnCreate
方法,现在每次执行活动OnCreate
方法时都会执行此方法。
因此您可以在此处简单地添加崩溃分析代码,例如:
public override void OnCreate()
{
base.OnCreate();
AppCenter.Start("xxxx-xxxx-xxxx-xxxx-xxxx",
typeof(Analytics), typeof(Crashes));
}