VersionTrackingPlugin icon indicating copy to clipboard operation
VersionTrackingPlugin copied to clipboard

Version Tracking Plugin for Xamarin and Windows

Version Tracking Plugin for Xamarin and Windows NuGet

Track which versions of your Xamarin.iOS, Xamarin.Mac, Xamarin.Android, or Windows app a user has previously installed.

Setup

  • Available on NuGet: https://www.nuget.org/packages/Plugin.VersionTracking/
  • Install into your PCL/.NET Standard project and Client projects.
    (fuctionality is exposed through a built-in Singleton, no dependency service required)
Platform Support
Platform Version
Xamarin.iOS iOS 7+
Xamarin.Android API 10+
Windows 10 UWP 10+
Xamarin.Mac All

Supports both classic Xamarin.iOS / Xamarin.Android and Xamarin.Forms

API Usage

Call this on each app launch inside DidFinishLaunching (Xamarin.iOS), FinishedLaunching (Xamarin.Mac), or the MainActivity's OnCreate (Xamarin.Android)

CrossVersionTracking.Current.Track ();

Then call these whenever you want (in these examples the user has launched a bunch of previous versions, and this is the first time he's launched the new version 1.0.11):

var vt = CrossVersionTracking.Current;

vt.IsFirstLaunchEver;        // false
vt.IsFirstLaunchForVersion;  // true
vt.IsFirstLaunchForBuild;    // true

vt.CurrentVersion;           // 1.0.11
vt.PreviousVersion;          // 1.0.10
vt.FirstInstalledVersion;    // 1.0.0
vt.VersionHistory;           // [ 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.10, 1.0.11 ]

vt.CurrentBuild;             // 18
vt.PreviousBuild;            // 15
vt.FirstInstalledBuild;      // 1
vt.BuildHistory;             // [ 1, 2, 3, 4, 5, 8, 9, 10, 11, 13, 15, 18 ]

Or set up actions to be called on the first lauch of a specific version or build:

var vt = CrossVersionTracking.Current;

vt.OnFirstLaunchOfBuild ("18", () => Console.WriteLine ("First time Build 18 launched!"));
vt.OnFirstLaunchOfVersion ("1.0.11", () => Console.WriteLine ("First time Version 1.0.11 launched!"));

Contributors

License

The MIT License (MIT) Copyright © 2017 Colby Williams