Device Info

The ISN_Device is designed to contain the very same information as UIDevice. The code snippet bellow demonstrates how to print current device information.

private void ShowDevoceInfo() {
	ISN_Device device = ISN_Device.CurrentDevice;

	IOSMessage.Create("Device Info", "Name: "  + device.Name + "\n"
      + "System Name: " + device.SystemName + "\n"
      + "Model: " + device.Model + "\n"
      + "Localized Model: " + device.LocalizedModel + "\n"
      + "System Version: " + device.SystemVersion + "\n"
      + "Major System Version: " + device.MajorSystemVersion + "\n"
      + "User Interface Idiom: " + device.InterfaceIdiom + "\n"
      + "GUID in Base64: " + device.GUID.Base64String  );
}

Note: If you will use this API in Unity editor it will contain hardcoded values, but you can defiantly use it for testing purposes.

Locale

The default locale is appropriate for tasks that involve presenting data to the user. In this case, you want to use the user's date/time formats, number formats, rules for conversion to lowercase, and so on. In this case, it's safe to use the convenience methods.

The default locale is not appropriate for machine-readable output. The best choice there is usually Locale.US â this locale is guaranteed to be available on all devices, and the fact that it has no surprising special cases and is frequently used (especially for computer-computer communication) means that it tends to be the most efficient choice too.

Following code snippet shows how to retrieve basic Locale info:

IOSNativeUtility.OnLocaleLoaded += GetLocale;
IOSNativeUtility.Instance.GetLocale();

private void GetLocale (ISN_Locale locale){

		IOSNativePopUpManager.showMessage("Locale Info:", "Country:" + locale.CountryCode + "/" 
		                          + locale.DisplayCountry + "  :   " + "Language:" 
		                          + locale.LanguageCode + "/" 
		                          + locale.DisplayLanguage);
		IOSNativeUtility.OnLocaleLoaded -= GetLocale;
	}

The locale info is represented as the ISN_Locale object.

API Reference

ISN_Device

public class ISN_Device  {
	public string Name {get;}
	public string SystemName {get;}
	public string Model  {get;}
	public string LocalizedModel  {get;}
	public string SystemVersion {get;}
	public int MajorSystemVersion  {get;}
	public ISN_InterfaceIdiom InterfaceIdiom {get;}
	public ISN_DeviceGUID GUID {get;}
	public string PreferredLanguageCode {get;}
	public string AdvertisingIdentifier {get;}
	public bool AdvertisingTrackingEnabled {get;}


	public static ISN_Device CurrentDevice {get;}
}

ISN_InterfaceIdiom

public enum ISN_InterfaceIdiom  {
	Phone = 0,
	Pad = 1,
	Undefined = -1
}

ISN_DeviceGUID

public class ISN_DeviceGUID  {
	public string Base64String {get;}
	public byte[] Bytes  {get;}
}

ISN_Locale

public class ISN_Locale  {


	//Returns the country code for this locale, or "" if this locale doesn't correspond to a specific country.
	private string _CountryCode;
	
	//Returns the name of this locale's country, localized to locale. Returns the empty string if this locale does not correspond to a specific country.
	private string _DisplayCountry;
	
	
	//Returns the language code for this Locale or the empty string if no language was set.
	private string _LanguageCode;
	
	//Returns the name of this locale's language, localized to locale. If the language name is unknown, the language code is returned.
	private string _DisplayLanguage;



	public ISN_Locale(string countryCode, string contryName, string languageCode, string languageName) {
		_CountryCode = countryCode;
		_DisplayCountry = contryName;
		_LanguageCode = languageCode;
		_DisplayLanguage = languageName;
	}

	public string CountryCode {
		get {
			return _CountryCode;
		}
	}

	public string DisplayCountry {
		get {
			return _DisplayCountry;
		}
	}

	public string LanguageCode {
		get {
			return _LanguageCode;
		}
	}

	public string DisplayLanguage {
		get {
			return _DisplayLanguage;
		}
	}
}