我正在使用React-Native编写应用程序,需要一些有关在重新安装应用程序后识别设备的帮助。
我需要:
- 获取每个Android和iOS设备的唯一设备ID。
- 即使用户卸载并重新安装应用程序,也应返回相同的ID。
目前最接近这一要求的是react-native-device-info中的getUniqueID()
方法。但是,由于该方法返回的值与供应商相关,因此在iOS上重新安装应用程序时将返回不同的ID。
祝您拥有美好的一天!
我正在使用React-Native编写应用程序,需要一些有关在重新安装应用程序后识别设备的帮助。
我需要:
目前最接近这一要求的是react-native-device-info中的getUniqueID()
方法。但是,由于该方法返回的值与供应商相关,因此在iOS上重新安装应用程序时将返回不同的ID。
祝您拥有美好的一天!
在使用iOS时,您可以获取此令牌,并通过使用自己的服务器作为中间人(不应直接从移动应用程序中执行)在由Apple直接托管的服务器上设置两个位。
根据苹果公司:苹果公司为您记录位并向您报告位,但您负责跟踪位的含义。您还需要确定何时为给定设备重置位;例如,当用户将设备出售给其他人时。
同样,在Android上-只需将认证从设备发送到服务器,其中将对其进行验证。
要在React Native中使用上述库,可以安装相应的库:
或者,如果使用Firebase库(例如,来自rnfirebase.io),则可以使用AppCheck,它在核心上使用SafetyNet和DeviceCheck/App Attestation,并且还带有易于使用的服务器端验证(也适用于非Firebase资源)。
库:
由于这个令牌可以(按设计)随时间而改变,因此您应该实现一些支持此功能的服务或潜在地重新构建您的应用程序。通常,在后端下用户配置文件中存储令牌(或以某种其他方式链接到正在使用给定设备的用户)。
Debug version uniqueID:
1st install - 3279dhsbqd9yrbceqiqbcv
2nd uninstall and install - 3279dhsbqd9yrbceqiqbcv
3, 4, 5, 6, .... - are same uniqueID
Release version uniqueID:
1st install - dsvfhdfgdf454tdsgsghetuh7j5
2 nd uninstall and install - dsvfhdfgdf454tdsgsghetuh7j5
3, 4, 5, 6, .... - are same uniqueID
npm install react-native-imei --save
const IMEI = require('react-native-imei');
IMEI.getImei().then(imeiList => {
console.log(imeiList)
});
<uses-permission android:name="android.permission.READ_PHONE_STATE" />