RN Firebase — Как проверить, принял ли пользователь разрешение на уведомления на IOS

Согласно официальной документации react-native-firebase docs вы можете использовать метод requestPermissions() для ios, чтобы предложить пользователю принять уведомления, но как я могу проверить, отклонил ли пользователь его или нет, поскольку указанный метод возвращает void?


person Gabriel Schneider    schedule 10.01.2018    source источник


Ответы (1)


Похоже, что в документах неправильно указано, что он возвращает void, на самом деле он возвращает обещание, которое разрешается с помощью объекта - мы обновим документы.

В iOS 9 и более ранних версиях невозможно определить, принял или отклонил пользователь всплывающее окно с разрешениями — в этом случае объект будет иметь свойство с именем status со значением "unknown".

Во всех остальных случаях объект будет иметь свойство granted, которое является логическим значением true/false.

iOS ‹= 9: https://github.com/invertase/react-native-firebase/blob/master/ios/RNFirebase/messaging/RNFirebaseMessaging.m#L291

iOS >= 10: https://github.com/invertase/react-native-firebase/blob/master/ios/RNFirebase/messaging/RNFirebaseMessaging.m#L302

РЕДАКТИРОВАТЬ: я обновил документы, чтобы отразить вышеизложенное.

person Salakar    schedule 17.01.2018
comment
Большое спасибо за подробное объяснение! - person Gabriel Schneider; 18.01.2018