Skip to main content

Microsoft's mobile center w/ xamarin.forms

Mobile center is a great and easy add-on to your xamarin.forms apps. It provides crash and usage analytics as well as push notifications and a distribution/testing framework. You just have to install a few nuget packages and add a few lines to start mobile center. One gotcha on the push notification component - it does not work in the iOS simulator. For those that got here from google and want to know why Push.IsEnabledAsync() returns false - note that you can not get notifications in the iOS simulator.

References:
https://mobile.azure.com
https://www.visualstudio.com/vs/mobile-center/

Comments

Popular posts from this blog

Xamarin.Forms OnPlatform - TabbedPage vs NavigationPage

I switched my start page from a NavigationPage to a TabbedPage and all of a sudden the content overwrote the the carrier/battery row. I looked into this and discovered that the TabbedPage does not offset itself below this header in iOS (but works for android and windows). The solution is to add a platform dependent offset or padding thickness of 20 pixels.

Xamarin.Forms persistance (aka save/load local settings)

I just learned and implemented how to persist local settings for a xamarin.forms app. At first read, I noticed that xamarin.forms Application.Current.Properties supports this functionality but I wasn't able to figure it out. Usually I like to use default functionality when available but this simple API was not working for me. So I did some research and found a bunch of alternatives from James Montemagno's settings plugin to the realm mobile database. For my simple needs at this time, I nuget'ed the settings plugin and had it working in 2-3m (only because I spent a minute reading the GettingStarted.html). The code is simple and looks like:

Save:
CrossSettings.Current.AddOrUpdateValue("Securities", _addedSecurities.ToFlatFile(','));

Load:
protected override void OnStart()
{
string securitiesCsv = CrossSettings.Current.GetValueOrDefault("Securities", string.Empty);
}