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 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); }); }
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 void SetLogUrlAfterConfigure() { MobileCenter.Configure("appsecret"); var customLogUrl = "www dot log url dot com"; MobileCenter.SetLogUrl(customLogUrl); _channelGroupMock.Verify(channelGroup => channelGroup.SetLogUrl(customLogUrl), Times.Once()); }
/// <summary> /// Initializes the singleton application object. This is the first line of authored code /// executed, and as such is the logical equivalent of main() or WinMain(). /// </summary> public App() { CoreApplication.EnablePrelaunch(true); InitializeComponent(); Suspending += OnSuspending; MobileCenter.LogLevel = LogLevel.Verbose; MobileCenter.SetLogUrl("https://in-integration.dev.avalanch.es"); MobileCenter.Start("42f4a839-c54c-44da-8072-a2f2a61751b2", typeof(Analytics), typeof(Crashes), typeof(Push)); Push.SetEnabledAsync(true); Push.PushNotificationReceived += PushNotificationReceivedHandler; }
static void Main() { Application.SetUnhandledExceptionMode(UnhandledExceptionMode.ThrowException); MobileCenter.LogLevel = LogLevel.Verbose; MobileCenter.SetLogUrl("https://in-integration.dev.avalanch.es"); MobileCenter.Start("42f4a839-c54c-44da-8072-a2f2a61751b2", typeof(Analytics), typeof(Crashes)); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm()); }
public void SetLogUrlAfterConfigure() { var channelGroupMock = new Mock <IChannelGroup>(); MobileCenter.Instance = new MobileCenter(new ApplicationSettings(), new MockChannelGroupFactory(channelGroupMock)); MobileCenter.Configure("appsecret"); var customLogUrl = "www dot log url dot com"; MobileCenter.SetLogUrl(customLogUrl); channelGroupMock.Verify(channelGroup => channelGroup.SetLogUrl(customLogUrl), Times.Once()); }
/// <summary> /// Invoked when the application is launched normally by the end user. Other entry points /// will be used such as when the application is launched to open a specific file. /// </summary> /// <param name="e">Details about the launch request and process.</param> protected override void OnLaunched(LaunchActivatedEventArgs e) { #if DEBUG if (System.Diagnostics.Debugger.IsAttached) { DebugSettings.EnableFrameRateCounter = true; } #endif MobileCenter.LogLevel = LogLevel.Verbose; MobileCenter.SetLogUrl("https://in-integration.dev.avalanch.es"); Push.PushNotificationReceived += PushNotificationReceivedHandler; MobileCenter.Start("42f4a839-c54c-44da-8072-a2f2a61751b2", typeof(Analytics), typeof(Crashes), typeof(Push)); Push.CheckLaunchedFromNotification(e); Frame rootFrame = Window.Current.Content as Frame; // Do not repeat app initialization when the Window already has content, // just ensure that the window is active if (rootFrame == null) { // Create a Frame to act as the navigation context and navigate to the first page rootFrame = new Frame(); rootFrame.NavigationFailed += OnNavigationFailed; if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) { //TODO: Load state from previously suspended application } // Place the frame in the current Window Window.Current.Content = rootFrame; } if (e.PrelaunchActivated == false) { if (rootFrame.Content == null) { // When the navigation stack isn't restored navigate to the first page, // configuring the new page by passing required information as a navigation // parameter rootFrame.Navigate(typeof(MainPage), e.Arguments); } // Ensure the current window is active Window.Current.Activate(); } }
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 override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) { // Override point for customization after application launch. // If not required for your application you can safely delete this method MobileCenter.LogLevel = LogLevel.Verbose; MobileCenter.SetLogUrl("https://in-integration.dev.avalanch.es"); MobileCenter.Start("b889c4f2-9ac2-4e2e-ae16-dae54f2c5899", typeof(Analytics), typeof(Crashes)); try { ThrowAnException(); } catch (Exception e) { MobileCenterLog.Verbose("THETAG", "THEMESSAGE", e); } Analytics.Enabled = true; System.Diagnostics.Debug.WriteLine("ANALYTICS: " + Analytics.Enabled.ToString()); return(true); }
public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) { // Override point for customization after application launch. // If not required for your application you can safely delete this method MobileCenter.LogLevel = LogLevel.Verbose; 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"); Distribute.DontCheckForUpdatesInDebug(); MobileCenter.Start("b889c4f2-9ac2-4e2e-ae16-dae54f2c5899", typeof(Analytics), typeof(Crashes), typeof(Distribute)); try { ThrowAnException(); } catch (Exception e) { MobileCenterLog.Verbose("THETAG", "THEMESSAGE", e); } Analytics.SetEnabledAsync(true); System.Diagnostics.Debug.WriteLine("ANALYTICS: " + Analytics.IsEnabledAsync().Result); return(true); }
protected override void OnStartup(StartupEventArgs e) { MobileCenter.LogLevel = LogLevel.Verbose; MobileCenter.SetLogUrl("https://in-integration.dev.avalanch.es"); MobileCenter.Start("42f4a839-c54c-44da-8072-a2f2a61751b2", typeof(Analytics), typeof(Crashes)); }