Я думаю, что следующие указатели должны помочь вам ответить на вопрос.
Как правило (независимо от того, какой пакет SDK вы используете), создание и поддержка deviceToken полностью отделены от запроса разрешений и ответа на этот запрос. Существуют варианты использования, такие как тихие push-уведомления, которые можно использовать для отправки push-уведомлений на устройство, даже не запрашивая у пользователя разрешения (ну, эти push-уведомления вызывают ваше приложение для обновления данных, но не могут ничего отображать в пользовательском интерфейсе).
Даже когда мы запрашиваем у пользователя разрешения, отказ в разрешении не делает уже созданный токен недействительным. Отправляемые в этом случае push-уведомления на основе пользовательского интерфейса (предупреждение, значок, звук) по-прежнему будут попадать на устройство, но iOS не будет отображать эти уведомления после проверки разрешений пользователя.
Итак, основываясь на приведенных выше данных, чтобы ответить на ваш вопрос,
Нужно ли мне создавать переключатель настроек уведомлений в моем приложении, чтобы пользователь мог включить или отключить уведомление?
Да, это, безусловно, хорошая идея, но обратите внимание, что после начального запроса разрешений тот же диалог не будет отображаться снова, поэтому лучше перенаправить пользователя в настройки вашего приложения, где он может повторно включить разрешения на уведомления, обратитесь к этой теме при реализации того же.
Если мне нужно сделать № 1, как мне вызвать регистрацию FCM вручную? Я знаю, что этот API [конфигурация FIRApp] сделает все автоматически.
У меня нет опыта использования Firebase напрямую, но в основном вам не нужно ничего сообщать Firebase, потому что у него уже есть токен, и он может отправлять push-уведомления на это устройство в любое время, следующий push-уведомление, которое приходит после того, как пользователь изменяет настройка будет автоматически отображаться в соответствии с последними предпочтениями пользователя.
person
Saumitra R. Bhave
schedule
27.05.2017