Expo不会弹出

时间:2017-10-21 13:18:28

标签: android react-native expo

This library可让您获取Android设备的唯一设备ID / Mac地址,重新安装后无法更改。

每次重新安装后

Expo.Constants.deviceId都会更改(即使应用版本号相同)。

有没有办法获得Android的唯一ID,重新安装后不会更改(至少如果它是相同的版本),而不会弹出?

3 个答案:

答案 0 :(得分:2)

对于 Expo IOS 目前的选择非常有限,因为 Apple 禁止获取私人设备信息。我们需要在下面创建我们自己的唯一标识符。

我的解决方案是结合 uuid 和 Expo SecureStore 适用于 IOS 和 Android。

import * as SecureStore from 'expo-secure-store';
import 'react-native-get-random-values';
import { v4 as uuidv4 } from 'uuid';


let uuid = uuidv4();
await SecureStore.setItemAsync('secure_deviceid', JSON.stringify(uuid));
let fetchUUID = await SecureStore.getItemAsync('secure_deviceid');
console.log(fetchUUID)

即使应用重新安装,或者用户切换设备并将所有数据复制到新设备,此解决方案也能正常工作。 (Expo.Constants.deviceId 已弃用,将在 SDK 44 中删除)

答案 1 :(得分:1)

只需使用 react-native-device-info 中的 getuniqueid() 方法。适用于 iOS 和 android 以唯一标识设备。

答案 2 :(得分:-1)

猜猜您可以为此目的使用facebook模块。 https://docs.expo.io/versions/latest/sdk/facebook-ads/#currentdevicehash

不确定到底发生了什么-但是看起来在重新安装应用程序,重新启动设备等过程中是唯一的。