Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在react native中获取更新的设备令牌?_Ios_React Native - Fatal编程技术网

Ios 如何在react native中获取更新的设备令牌?

Ios 如何在react native中获取更新的设备令牌?,ios,react-native,Ios,React Native,由于iOS上的设备令牌即使在用户授予push notifications权限后也可以更改,因此需要有一种方法让我在设备令牌更新时检索它 提供了有关如何向用户请求推送通知权限的文档PushNotificationIOS.requestPermissions()以及当用户使用事件侦听器允许推送通知时如何检索设备令牌PushNotificationIOS.addEventListener('register',(令牌)=>console.log(令牌)) 但似乎没有函数允许我在此之后查询推送通知设备令

由于iOS上的设备令牌即使在用户授予push notifications权限后也可以更改,因此需要有一种方法让我在设备令牌更新时检索它

提供了有关如何向用户请求推送通知权限的文档
PushNotificationIOS.requestPermissions()以及当用户使用事件侦听器允许推送通知时如何检索设备令牌
PushNotificationIOS.addEventListener('register',(令牌)=>console.log(令牌))


但似乎没有函数允许我在此之后查询推送通知设备令牌。如何检查设备令牌是否已更新?如何在以后的任何阶段检索设备令牌?

您需要将设备令牌存储在
首选项中。然后在生成新toekn时从
首选项
获取令牌,并与新生成的令牌进行比较。如果两者相同,则不更新令牌,否则将新令牌存储在
首选项中
并在需要的地方使用它。

将令牌存储在
异步存储中
,检索后从“react native”包中取出,如下所示:

await AsyncStorage.setItem('token', token);
let previousToken = await AsyncStorage.getItem('token');
if (!previousToken) {
    // Use token
}
然后检查它是否在每次应用程序启动时都会更改,如:

await AsyncStorage.setItem('token', token);
let previousToken = await AsyncStorage.getItem('token');
if (!previousToken) {
    // Use token
}