В моем нативном приложении React есть следующий код. До сегодняшнего дня это работало так, как ожидалось, но теперь я всегда получаю сообщение «заблокировано» в результате первого запуска события, ДО ТОГО, как пользователь фактически сделал выбор.
Как таким образом, разрешение на уведомление также срабатывает, поскольку эта функция больше не ожидается, что приводит к ее появлению поверх модального окна отслеживания. Это выглядит плохо, так как сначала отображается отслеживание, затем уведомление, а затем, после того как вы ответите на уведомление, снова отображается отслеживание.
Никаких побочных эффектов, кроме невозможно использовать результат для чего-либо, если не вызвать его снова позже.
Интересно, как это исправить. Спасибо за любую помощь!
Код: Выделить всё
if (Platform.OS === 'ios' && AppState.currentState == 'active') {
await request(PERMISSIONS.IOS.APP_TRACKING_TRANSPARENCY)
.then(async (result) => {
console.log('app trancking permissions result:', result);
// do something with result
await requestNotifications(['alert', 'sound']).then(({ status, settings }) => {
console.log('request notification status: ', status);
});
})
.catch((error) => {
console.log('error in request tracking permissions: ', error);
});
}
Источник: https://stackoverflow.com/questions/781 ... rency-fire
Мобильная версия