James Montemagno
James Montemagno

Live, Love, Bike, and Code.

Tags


James Montemagno

Xamarin

Enabling Users to Manage Subscriptions on iOS/Android

You know I love talking about in app purchases and subscriptions. Due to my InAppBilling library I get all the "fun" updates when Apple or Google force developers to make changes to stay compliant. Upcoming is a nice large change from Google to push Android developers to use Billing v4 (which my library does!) and another is that we must now give users a way to easily manage and cancel their subscriptions. You may have recently seen this message from google: We’re updating our Subscriptions poli…

James Montemagno James Montemagno

Implementing In-App Subscriptions in iOS & Android with no backend servers

Over the years I have created several apps that I am super proud of, and for the most part, I have always put them out for free onto the app stores. More recently I have been experimenting with different monetization strategies for the apps so users can unlock features or just leave a tip. For the longest time I kept things simple with a "non-consumable" one-time purchase. The strategy is straight forward, they either purchased the item or they didn't. Based on this information you would unlock…

James Montemagno James Montemagno

Goodbye Android Emulators, the Windows Subsystem for Android is Here!

Android Emulators have been a pain in everyone's side for pretty much ever. Intel HAXM is great, but limited to Intel, then there were custom emulators like Xamarin Android Player and Genymotion, but required additional installs, and finally Hyper-V support, which brought with it AMD support, and side by side Docker support as well. But now, Windows 11 is here and so is a brand new Insiders Preview that brings with it Android app support, which is CRAZY AWESOME. More so is that you can use the n…

James Montemagno James Montemagno

Staged Rollouts & Phased Release on Google Play and App Store Connect

As an app developer it is hard enough to create your app, test your app, prep the app store listings, and then get your app approved. The last thing you want to think about is how fast or slow to roll out your app and updates to users. For the past 10 years all I have ever done was just release the app to everyone all at once, and for a long time this all that was available to us. However, now there are options for developers from both Google and Apple that can manage your release. Unfortunately…

James Montemagno James Montemagno

Long-running Operations on macOS and iOS with NSProcessInfo

One issue that sometimes comes up in app development is keeping your app alive and running during long running processes. In my case with My Stream Timer, when the user starts a timer, it needs to keep running no matter what. My first solution was to simply turn on Screen Saver mode. var appDelegate = ((AppDelegate)NSApplication.SharedApplication.Delegate); appDelegate.MainWindow.Level = NSWindowLevel.ScreenSaver;This solution "works" but has the side effect that the app will always be on top al…

James Montemagno James Montemagno

Setting Up an M1 Mac for Xamarin Development

Who just upgraded their MacBook after 8 years?!?! This guy!!! Let's set it up for mobile development with Xamarin for iOS & Android development in C#. That is right, I finally decided to go all in on an M1 MacBook Air (8-Core GPU, 512GB SSD, 16GB RAM) thanks to the $500 "credit" from participating in the DTK program.  Not only was it time for an upgrade since my machine was 8 years old, but also because this new generation of machines marks a pivotal transition for macOS devices moving to AR…

James Montemagno James Montemagno

Cross-Platform In-App Purchases for Xamarin.Mac Apps!

This week, one of my best friends Frank Krueger released his brilliant app iCircuit 3D for macOS (he also wrote an awesome blog on how it was made). While I know that catalyst support for Xamarin (and .NET MAUI) is coming soon, I still think there are great opportunities to monetize macOS apps written in C# today (see iCircuit 3D!). I released my In-App Billing Plugin a few years ago for iOS, Android, and UWP apps and it has been awesome to hear how it has helped so many developers monetize thei…

James Montemagno James Montemagno

How-to Integrate Helpful Support Emails in Mobile Apps with Insightful Data & Logs

In the mad rush to finish my most recent app, My Cadence, I forgot to integrate an essential feature. A feature that enables my users to easily get a hold of me to report issues or request features, which is of course email support. Both Google Play and the App Store enable you to supply a support website and email, however this is a very lack luster experience for both you and your users. For your users they need to go open the app store, find your app, and then find the support button. For you…

James Montemagno James Montemagno

I crush code and share it, publish NuGet packages, speak at conferences, upload videos, pretend I am good at playing video games, tweet up a storm, drink gallons of coffee, and ride my bike. Checkout my monthly newsletter that you should subscribe to!