Preseasonを利用するために、xamarin用の最新のHockeyApp nugetパッケージを使用しています。Preseason のドキュメントにはmainactivity
、ネイティブ Android アプリケーション用に次のコードを記述しなければならないと記載されています。
MetricsManager.register(this, getApplication());
Xamarin Android アプリケーションで以下を使用しました。
MetricsManager.Register(Android.App.Application.Context, this.Application );
しかし、私は非常に奇妙なエラーを受け取り、それを修正する方法がわからない、またはメトリクスマネージャーを適切に呼び出しているかどうかさえわかりません.
これが私のコードです:
protected override void OnCreate(Bundle bundle)
{
try
{
base.OnCreate(bundle);
// Register the crash manager before Initializing the trace writer
HockeyApp.CrashManager.Register(this, AppId);
//Register to with the Update Manager
HockeyApp.UpdateManager.Register(this, AppId);
// Initialize the Trace Writer
HockeyApp.TraceWriter.Initialize();
// Wire up Unhandled Expcetion handler from Android
AndroidEnvironment.UnhandledExceptionRaiser += (sender, args) =>
{
// Use the trace writer to log exceptions so HockeyApp finds them
HockeyApp.TraceWriter.WriteTrace(args.Exception);
args.Handled = true;
};
MetricsManager.Register(Android.App.Application.Context, new Android.App.Application());
Xamarin.Forms.Forms.Init(this, bundle);
LoadApplication(new App());
CheckForCrashes();
CheckForUpdates();
}
catch
{
}
}
private void CheckForCrashes()
{
CrashManager.Register(this, AppId);
}
private void CheckForUpdates()
{
//todo: Remove this for production!!
UpdateManager.Register(this, AppId);
}
エラーは次のとおりです。
Xamarin.Forms.Platform.Android.FormsApplicationActivity.OnPrepareOptionsMenu (IMenu メニュー) [0x00000] で:0 Android.App.Activity.n_OnPrepareOptionsMenu_Landroid_view_Menu_ (IntPtr jnienv、IntPtr native__this、IntPtr native_menu) [0x00011] で /Users/builder/data /lanes/3053/a94a03b5/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.App.Activity.cs:4301 at (wrapper dynamic-method) System.Object:0ea0564e-2a6f -481c-ab24-cf222ecfff78 (intptr,intptr,intptr)