#react-native
#react-native
Вопрос:
Используя библиотеку PushNotificationIOS, я могу получить deviceToken при событии register:
const registerPN = PushNotificationIOS.addEventListener('register', deviceToken => {
console.log("Registering Push Notification Token", deviceToken);
store.dispatch(setPushNotificationToken(userPushNotificationToken));
});
Однако, если пользователь изначально отклоняет вопрос уведомления, мы подталкиваем его к обновлению настроек с помощью:
Alert.alert(
'Action Required',
`To turn notifications on, you'll need to update your settings`,
[
{
text: 'Go to settings',
onPress: () => {
Linking.openURL('app-settings:');
}
},
{
text: 'Cancel',
style: 'cancel'
}
]
)
Если пользователь затем переходит на панель настроек и возвращается, событие ‘register’, похоже, не вызывается, поэтому я не уверен, как получить токен устройства.
Как я могу добавить прослушиватель для обновления «настроек», чтобы я мог сохранить токен для отправлений с сервера?
Ответ №1:
Разобрался.
С помощью вызова PushNotificationIOS.checkPermissions() вы можете проверить, изменились ли они. Если это так, запустите вызов PushNotificationIOS.requestPermissions(), который автоматически запустит прослушиватель с правильным токеном.