获取用于在 Android 应用 (Xamarin) 中进行许可的设备信息



我正在使用Xamarin MonoTouch开发APP,此应用程序需要我们提供的自定义许可证密钥。为了识别每个安装,我们必须存储某种设备信息来控制应用程序的滥用。

经过尝试各种方式,现在的问题是:

设备ID或Android ID :每次设备恢复出厂设置或格式化时都会更改。

Settings.System.GetString(this.ContentResolver, Settings.Secure.AndroidId);

IMEI号码:没有SIM卡标签没有。双SIM卡手机没有固定插槽明智的imei,并发送随机选择一个。

var telephonyManager = (TelephonyManager)GetSystemService(TelephonyService);
string imei = telephonyManager.DeviceId;

WIFI Mac地址:好方法,但某些设置(如HTC和中文)在检索MAC地址时会引发异常,但需要一段时间。因此,每次应用程序启动时都不会获得修复ID。

WifiManager wm = (WifiManager)GetSystemService(WifiService);
string macid = wm.ConnectionInfo.MacAddress;

因此,每次上述任何ID失败时,用户都需要一次又一次地重新注册应用程序。我们有什么万无一失的方法吗?

好的,根据 Matt 的评论,因为没有万无一失的方法可以从 android 设备获取唯一 ID。因此,我提供了针对WIFI Mac ID和Android ID验证安装的规定。如果发现其中任何一个匹配,则安装是正版或欺骗安装。

最新更新