在 C++Builder FMX 应用程序中为移动设备(iOS 和 Android)创建唯一 ID 的好方法是什么?
就我而言,我只想让我的应用程序用户投票,但每个设备只能投票一次(即使他们删除应用程序并重新安装)。 他们保持匿名,但不能多次投票。
我知道 Apple 推出了适用于 Swift 的 DeviceCheck,但我不知道如何在 C++ 中使用它。
更新:此解决方案针对 Android 设备。我没有使用 iOS 设备的经验。
原始答案:可能为时已晚,但这是我使用
_di_JTelephonyManager
的解决方案:
_di_JObject obj;
_di_JTelephonyManager tm;
UnicodeString id;
try {
obj = SharedActivityContext()->getSystemService(TJContext::JavaClass->TELEPHONY_SERVICE);
if (obj) {
tm = TJTelephonyManager::Wrap(static_cast<_di_ILocalObject>(obj)->GetObjectID());
if (tm) {
//only if SIM Card is in device:
//id = JStringToString(tm->getSubscriberId());
//will get IMEI or MEID number
id = JStringToString(TJSettings_Secure::JavaClass->getString
(SharedActivity()->getContentResolver(),
TJSettings_Secure::JavaClass->ANDROID_ID));
}
}
}
catch (Exception &e) {
//catch exceptions
}
希望对您有帮助:)