protected override void OnStart() { MobileCenterLog.Assert(LogTag, "MobileCenter.LogLevel=" + MobileCenter.LogLevel); MobileCenter.LogLevel = LogLevel.Verbose; MobileCenterLog.Info(LogTag, "MobileCenter.LogLevel=" + MobileCenter.LogLevel); MobileCenterLog.Info(LogTag, "MobileCenter.Configured=" + MobileCenter.Configured); //set event handlers Crashes.SendingErrorReport += SendingErrorReportHandler; Crashes.SentErrorReport += SentErrorReportHandler; Crashes.FailedToSendErrorReport += FailedToSendErrorReportHandler; //set callbacks Crashes.ShouldProcessErrorReport = ShouldProcess; Crashes.ShouldAwaitUserConfirmation = ConfirmationHandler; MobileCenterLog.Assert(LogTag, "MobileCenter.Configured=" + MobileCenter.Configured); MobileCenterLog.Assert(LogTag, "MobileCenter.InstallId (before configure)=" + MobileCenter.InstallId); MobileCenter.SetLogUrl("https://in-integration.dev.avalanch.es"); MobileCenter.Start("android=bff0949b-7970-439d-9745-92cdc59b10fe;ios=b889c4f2-9ac2-4e2e-ae16-dae54f2c5899", typeof(Analytics), typeof(Crashes)); Analytics.TrackEvent("myEvent"); Analytics.TrackEvent("myEvent2", new Dictionary <string, string> { { "someKey", "someValue" } }); MobileCenterLog.Info(LogTag, "MobileCenter.InstallId=" + MobileCenter.InstallId); MobileCenterLog.Info(LogTag, "Crashes.HasCrashedInLastSession=" + Crashes.HasCrashedInLastSession); Crashes.GetLastSessionCrashReportAsync().ContinueWith(report => { MobileCenterLog.Info(LogTag, " Crashes.LastSessionCrashReport.Exception=" + report.Result?.Exception); }); }
public static void Log(string tag, string message, Exception exception = null, MobileCenterLogType type = MobileCenterLogType.Warn) { switch (type) { case MobileCenterLogType.Info: MobileCenterLog.Info(tag, message, exception); break; case MobileCenterLogType.Warn: MobileCenterLog.Warn(tag, message, exception); break; case MobileCenterLogType.Error: MobileCenterLog.Error(tag, message, exception); break; case MobileCenterLogType.Assert: MobileCenterLog.Assert(tag, message, exception); break; case MobileCenterLogType.Verbose: MobileCenterLog.Verbose(tag, message, exception); break; case MobileCenterLogType.Debug: MobileCenterLog.Debug(tag, message, exception); break; default: throw new Exception("MobileCenterLogType Does Not Exist"); } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); // Get our button from the layout resource, // and attach an event to it var button = FindViewById <Button>(Resource.Id.MyButton); button.Click += delegate { // Crash button.Text = button.Text.Substring(42); }; // Mobile Center integration MobileCenterLog.Assert(LogTag, "MobileCenter.LogLevel=" + MobileCenter.LogLevel); MobileCenter.LogLevel = LogLevel.Verbose; MobileCenterLog.Info(LogTag, "MobileCenter.LogLevel=" + MobileCenter.LogLevel); MobileCenter.SetLogUrl("https://in-integration.dev.avalanch.es"); MobileCenter.Start("bff0949b-7970-439d-9745-92cdc59b10fe", typeof(Analytics), typeof(Crashes)); Analytics.TrackEvent("myEvent", new Dictionary <string, string> { { "someKey", "someValue" } }); MobileCenterLog.Info(LogTag, "MobileCenter.InstallId=" + MobileCenter.InstallId); MobileCenterLog.Info(LogTag, "MobileCenter.HasCrashedInLastSession=" + Crashes.HasCrashedInLastSession); Crashes.GetLastSessionCrashReportAsync().ContinueWith(report => { MobileCenterLog.Info(LogTag, "MobileCenter.LastSessionCrashReport=" + report.Result?.AndroidDetails?.Throwable); }); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); // Get our button from the layout resource, // and attach an event to it var button = FindViewById <Button>(Resource.Id.MyButton); button.Click += delegate { // Crash button.Text = button.Text.Substring(42); }; // Mobile Center integration MobileCenterLog.Assert(LogTag, "MobileCenter.LogLevel=" + MobileCenter.LogLevel); MobileCenter.LogLevel = LogLevel.Verbose; MobileCenterLog.Info(LogTag, "MobileCenter.LogLevel=" + MobileCenter.LogLevel); MobileCenter.Start("44cd8722-bfe0-4748-ac14-7692e031a8a5", typeof(Analytics), typeof(Crashes)); Analytics.TrackEvent("myEvent", new Dictionary <string, string> { { "someKey", "someValue" } }); MobileCenterLog.Info(LogTag, "MobileCenter.InstallId=" + MobileCenter.InstallId); MobileCenterLog.Info(LogTag, "MobileCenter.HasCrashedInLastSession=" + Crashes.HasCrashedInLastSession); MobileCenterLog.Info(LogTag, "MobileCenter.LastSessionCrashReport=" + Crashes.LastSessionCrashReport?.AndroidDetails?.Throwable); }
protected override void OnStart() { MobileCenterLog.Assert(LogTag, "MobileCenter.LogLevel=" + MobileCenter.LogLevel); MobileCenter.LogLevel = LogLevel.Verbose; MobileCenterLog.Info(LogTag, "MobileCenter.LogLevel=" + MobileCenter.LogLevel); MobileCenterLog.Info(LogTag, "MobileCenter.Configured=" + MobileCenter.Configured); //set event handlers Crashes.SendingErrorReport += SendingErrorReportHandler; Crashes.SentErrorReport += SentErrorReportHandler; Crashes.FailedToSendErrorReport += FailedToSendErrorReportHandler; //set callbacks Crashes.ShouldProcessErrorReport = ShouldProcess; Crashes.GetErrorAttachment = ErrorAttachmentForReport; Crashes.ShouldAwaitUserConfirmation = ConfirmationHandler; MobileCenter.Start(typeof(Analytics), typeof(Crashes)); Analytics.TrackEvent("myEvent"); Analytics.TrackEvent("myEvent2", new Dictionary <string, string> { { "someKey", "someValue" } }); MobileCenterLog.Info(LogTag, "MobileCenter.InstallId=" + MobileCenter.InstallId); MobileCenterLog.Info(LogTag, "Crashes.HasCrashedInLastSession=" + Crashes.HasCrashedInLastSession); if (Crashes.HasCrashedInLastSession && Crashes.LastSessionCrashReport.Exception != null) { string message = Crashes.LastSessionCrashReport.Exception.Message; MobileCenterLog.Info(LogTag, "Last Session Crash Report exception message: " + message); } }
protected override void OnCreate() { base.OnCreate(); LoadApplication(new App()); try { MobileCenter.Start("54aa94d6-753f-40c3-b3f7-5af2767c7a42", typeof(Analytics) //, typeof(Crashes) ); MobileCenterLog.Assert(MobileCenterLog.LogTag, "SUCCESSFULLY STARTED"); } catch (Exception e) { MobileCenterLog.Error(MobileCenterLog.LogTag, "EXCEPTION!!!\n" + e.GetType() + '\n' + e.Message); } try { Analytics.TrackEvent("Video clicked", new Dictionary <string, string> { { "Category", "Music" }, { "FileName", "favorite.avi" } }); MobileCenterLog.Assert(MobileCenterLog.LogTag, "EVENT SENT"); } catch (Exception e) { MobileCenterLog.Error(MobileCenterLog.LogTag, "EXCEPTION!!!\n" + e.GetType() + '\n' + e.Message); } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); // Get the ViewPager and set it's PagerAdapter so that it can display items var viewPager = FindViewById(Resource.Id.viewpager) as ViewPager; viewPager.Adapter = new PagerAdapter(SupportFragmentManager, this); // Give the TabLayout the ViewPager var tabLayout = FindViewById(Resource.Id.tablayout) as TabLayout; tabLayout.SetupWithViewPager(viewPager); // Mobile Center integration MobileCenterLog.Assert(LogTag, "MobileCenter.LogLevel=" + MobileCenter.LogLevel); MobileCenter.LogLevel = LogLevel.Verbose; MobileCenterLog.Info(LogTag, "MobileCenter.LogLevel=" + MobileCenter.LogLevel); MobileCenterLog.Info(LogTag, "MobileCenter.Configured=" + MobileCenter.Configured); // Set event handlers Crashes.SendingErrorReport += SendingErrorReportHandler; Crashes.SentErrorReport += SentErrorReportHandler; Crashes.FailedToSendErrorReport += FailedToSendErrorReportHandler; // Set callbacks Crashes.ShouldProcessErrorReport = ShouldProcess; Crashes.ShouldAwaitUserConfirmation = ConfirmationHandler; Distribute.ReleaseAvailable = OnReleaseAvailable; MobileCenterLog.Assert(LogTag, "MobileCenter.Configured=" + MobileCenter.Configured); MobileCenter.SetLogUrl("https://in-integration.dev.avalanch.es"); Distribute.SetInstallUrl("http://install.asgard-int.trafficmanager.net"); Distribute.SetApiUrl("https://asgard-int.trafficmanager.net/api/v0.1"); MobileCenter.Start("bff0949b-7970-439d-9745-92cdc59b10fe", typeof(Analytics), typeof(Crashes), typeof(Distribute)); MobileCenter.IsEnabledAsync().ContinueWith(enabled => { MobileCenterLog.Info(LogTag, "MobileCenter.Enabled=" + enabled.Result); }); MobileCenter.GetInstallIdAsync().ContinueWith(installId => { MobileCenterLog.Info(LogTag, "MobileCenter.InstallId=" + installId.Result); }); Crashes.HasCrashedInLastSessionAsync().ContinueWith(hasCrashed => { MobileCenterLog.Info(LogTag, "Crashes.HasCrashedInLastSession=" + hasCrashed.Result); }); Crashes.GetLastSessionCrashReportAsync().ContinueWith(report => { MobileCenterLog.Info(LogTag, "Crashes.LastSessionCrashReport.Exception=" + report.Result?.Exception); MobileCenterLog.Info(LogTag, "Crashes.LastSessionCrashReport.Throwable=" + report.Result?.AndroidDetails?.Throwable); }); }
public App() { InitializeComponent(); MainPage = new NavigationPage(new MainPuppetPage()); MobileCenterLog.Assert(LogTag, "MobileCenter.LogLevel=" + MobileCenter.LogLevel); MobileCenter.LogLevel = LogLevel.Verbose; MobileCenterLog.Info(LogTag, "MobileCenter.LogLevel=" + MobileCenter.LogLevel); MobileCenterLog.Info(LogTag, "MobileCenter.Configured=" + MobileCenter.Configured); // set callbacks Crashes.ShouldProcessErrorReport = ShouldProcess; Crashes.ShouldAwaitUserConfirmation = ConfirmationHandler; Crashes.GetErrorAttachments = GetErrorAttachments; Distribute.ReleaseAvailable = OnReleaseAvailable; MobileCenterLog.Assert(LogTag, "MobileCenter.Configured=" + MobileCenter.Configured); MobileCenter.SetLogUrl("https://in-integration.dev.avalanch.es"); Distribute.SetInstallUrl("http://install.asgard-int.trafficmanager.net"); Distribute.SetApiUrl("https://asgard-int.trafficmanager.net/api/v0.1"); RealUserMeasurements.SetRumKey("b1919553367d44d8b0ae72594c74e0ff"); MobileCenter.Start($"uwp={UwpKey};android={AndroidKey};ios={IosKey}", typeof(Analytics), typeof(Crashes), typeof(Distribute), typeof(Push), typeof(RealUserMeasurements)); // Need to use reflection because moving this to the Android specific // code causes crash. (Unable to access properties before init is called). if (Xamarin.Forms.Device.RuntimePlatform == Xamarin.Forms.Device.Android) { if (!Properties.ContainsKey(OthersContentPage.FirebaseEnabledKey)) { Properties[OthersContentPage.FirebaseEnabledKey] = false; } if ((bool)Properties[OthersContentPage.FirebaseEnabledKey]) { typeof(Push).GetRuntimeMethod("EnableFirebaseAnalytics", new Type[0]).Invoke(null, null); } } MobileCenter.IsEnabledAsync().ContinueWith(enabled => { MobileCenterLog.Info(LogTag, "MobileCenter.Enabled=" + enabled.Result); }); MobileCenter.GetInstallIdAsync().ContinueWith(installId => { MobileCenterLog.Info(LogTag, "MobileCenter.InstallId=" + installId.Result); }); MobileCenterLog.Info(LogTag, "MobileCenter.SdkVersion=" + MobileCenter.SdkVersion); Crashes.HasCrashedInLastSessionAsync().ContinueWith(hasCrashed => { MobileCenterLog.Info(LogTag, "Crashes.HasCrashedInLastSession=" + hasCrashed.Result); }); Crashes.GetLastSessionCrashReportAsync().ContinueWith(report => { MobileCenterLog.Info(LogTag, "Crashes.LastSessionCrashReport.Exception=" + report.Result?.Exception); }); }
public override bool FinishedLaunching(UIApplication uiApplication, NSDictionary launchOptions) { Xamarin.Forms.Forms.Init(); MobileCenterLog.Assert(App.LogTag, "MobileCenter.Configured=" + MobileCenter.Configured); MobileCenterLog.Assert(App.LogTag, "MobileCenter.InstallId (before configure)=" + MobileCenter.InstallId); MobileCenter.SetServerUrl("https://in-integration.dev.avalanch.es"); MobileCenter.Configure("b889c4f2-9ac2-4e2e-ae16-dae54f2c5899"); LoadApplication(new App()); return(base.FinishedLaunching(uiApplication, launchOptions)); }
protected override void OnStart() { MobileCenterLog.Assert(LogTag, "MobileCenter.LogLevel=" + MobileCenter.LogLevel); MobileCenter.LogLevel = LogLevel.Verbose; MobileCenterLog.Info(LogTag, "MobileCenter.LogLevel=" + MobileCenter.LogLevel); MobileCenter.Start(typeof(Analytics), typeof(Crashes)); Analytics.TrackEvent("myEvent"); Analytics.TrackEvent("myEvent2", new Dictionary <string, string> { { "someKey", "someValue" } }); MobileCenterLog.Info(LogTag, "MobileCenter.InstallId=" + MobileCenter.InstallId); MobileCenterLog.Info(LogTag, "Crashes.HasCrashedInLastSession=" + Crashes.HasCrashedInLastSession); }
protected override void OnCreate(Bundle savedInstanceState) { TabLayoutResource = Resource.Layout.Tabbar; ToolbarResource = Resource.Layout.Toolbar; base.OnCreate(savedInstanceState); Xamarin.Forms.Forms.Init(this, savedInstanceState); MobileCenterLog.Assert(App.LogTag, "MobileCenter.Configured=" + MobileCenter.Configured); MobileCenterLog.Assert(App.LogTag, "MobileCenter.InstallId (before configure)=" + MobileCenter.InstallId); MobileCenter.SetServerUrl("https://in-integration.dev.avalanch.es"); MobileCenter.Configure("7f222d3c-0f5e-421b-93e7-f862c462e07e"); LoadApplication(new App()); }
protected override void OnStart() { MobileCenterLog.Assert(LogTag, "MobileCenter.LogLevel=" + MobileCenter.LogLevel); MobileCenter.LogLevel = LogLevel.Verbose; MobileCenterLog.Info(LogTag, "MobileCenter.LogLevel=" + MobileCenter.LogLevel); MobileCenterLog.Info(LogTag, "MobileCenter.Configured=" + MobileCenter.Configured); // set callbacks Crashes.ShouldProcessErrorReport = ShouldProcess; Crashes.ShouldAwaitUserConfirmation = ConfirmationHandler; Crashes.GetErrorAttachments = GetErrorAttachments; Distribute.ReleaseAvailable = OnReleaseAvailable; MobileCenterLog.Assert(LogTag, "MobileCenter.Configured=" + MobileCenter.Configured); MobileCenterLog.Assert(LogTag, "MobileCenter.InstallId (before configure)=" + MobileCenter.InstallId); MobileCenter.SetLogUrl("https://in-integration.dev.avalanch.es"); Distribute.SetInstallUrl("http://install.asgard-int.trafficmanager.net"); Distribute.SetApiUrl("https://asgard-int.trafficmanager.net/api/v0.1"); // Need to use reflection because moving this to the Android specific // code causes crash. (Unable to access properties before init is called). if (Xamarin.Forms.Device.RuntimePlatform == Xamarin.Forms.Device.Android) { if (!Properties.ContainsKey(OthersContentPage.FirebaseEnabledKey)) { Properties[OthersContentPage.FirebaseEnabledKey] = false; } if ((bool)Properties[OthersContentPage.FirebaseEnabledKey]) { typeof(Push).GetRuntimeMethod("EnableFirebaseAnalytics", new Type[0]).Invoke(null, null); } } MobileCenter.Start($"uwp={uwpKey};android={androidKey};ios={iosKey}", typeof(Analytics), typeof(Crashes), typeof(Distribute), typeof(Push)); MobileCenterLog.Info(LogTag, "MobileCenter.InstallId=" + MobileCenter.InstallId); MobileCenterLog.Info(LogTag, "Crashes.HasCrashedInLastSession=" + Crashes.HasCrashedInLastSession); Crashes.GetLastSessionCrashReportAsync().ContinueWith(report => { MobileCenterLog.Info(LogTag, "Crashes.LastSessionCrashReport.Exception=" + report.Result?.Exception); }); }
public static void Log(Exception exception, MobileCenterLogType type = MobileCenterLogType.Warn) { var exceptionType = exception.GetType().ToString(); var message = exception.Message; System.Diagnostics.Debug.WriteLine(exceptionType); System.Diagnostics.Debug.WriteLine($"Error: {message}"); switch (type) { case MobileCenterLogType.Info: MobileCenterLog.Info(exceptionType, message, exception); break; case MobileCenterLogType.Warn: MobileCenterLog.Warn(exceptionType, message, exception); break; case MobileCenterLogType.Error: MobileCenterLog.Error(exceptionType, message, exception); break; case MobileCenterLogType.Assert: MobileCenterLog.Assert(exceptionType, message, exception); break; case MobileCenterLogType.Verbose: MobileCenterLog.Verbose(exceptionType, message, exception); break; case MobileCenterLogType.Debug: MobileCenterLog.Debug(exceptionType, message, exception); break; default: throw new Exception("MobileCenterLogType Does Not Exist"); } }