Simple way of getting common device information in Xamarin.iOS, Xamarin.Android, Windows, and Xamarin.Forms projects.
- Available on NuGet: http://www.nuget.org/packages/Xam.Plugin.DeviceInfo
- Install into your PCL project and Client projects.
Platform Support
Platform | Supported | Version |
---|---|---|
Xamarin.iOS | Yes | iOS 7+ |
Xamarin.iOS Unified | Yes | iOS 7+ |
Xamarin.Android | Yes | API 10+ |
Windows Phone Silverlight | Yes | 8.0+ |
Windows Phone RT | Yes | 8.1+ |
Windows Store RT | Yes | 8.1+ |
Windows 10 UWP | Yes | 10+ |
Xamarin.Mac | No |
Call CrossDeviceInfo.Current from any project or PCL to gain access to APIs.
GenerateAppId Used to generate a unique Id for your app.
/// <summary>
/// Generates a an AppId optionally using the PhoneId a prefix and a suffix and a Guid to ensure uniqueness
///
/// The AppId format is as follows {prefix}guid{phoneid}{suffix}, where parts in {} are optional.
/// </summary>
/// <param name="usingPhoneId">Setting this to true adds the device specific id to the AppId (remember to give the app the correct permissions)</param>
/// <param name="prefix">Sets the prefix of the AppId</param>
/// <param name="suffix">Sets the suffix of the AppId</param>
/// <returns></returns>
string GenerateAppId(bool usingPhoneId = false, string prefix = null, string suffix = null);
Id
/// <summary>
/// This is the device specific Id (remember the correct permissions in your app to use this)
/// </summary>
string Id { get; }
Important:
Windows Phone: Permissions to add: ID_CAP_IDENTITY_DEVICE
Device Model
/// <summary>
/// Get the model of the device
/// </summary>
string Model { get; }
Version
/// <summary>
/// Get the version of the Operating System
/// </summary>
string Version { get; }
Returns the specific version number of the OS such as:
- iOS: 8.1
- Android: 4.4.4
- Windows Phone: 8.10.14219.0
- WinRT: always 8.1 until there is a work around
Platform
/// <summary>
/// Get the platform of the device
/// </summary>
Platform Platform { get; }
Returns the Platform Enum of:
public enum Platform
{
Android,
iOS,
WindowsPhone,
Windows
}
Contributions are welcome! If you find a bug please report it and if you want a feature please report it.
If you want to contribute code please file an issue and create a branch off of the current dev branch and file a pull request.
Under MIT, see LICENSE file.