2016-10-03 5 views
1

Если я включу swim в FCM в iOS, я обнаружил, что токен FCM все еще существует, даже когда пользователь отключает настройку уведомления устройства для моего приложения (возможно, сохраняется в данных приложения).Как реализовать поведение приложения при отключении пользователем уведомления в настройках устройства для iOS с использованием Firebase FCM swizzling?

Кажется не логичным управлять этим параметром больше в приложении, поскольку FCM позаботится об этой части для меня.

У меня 2 вопроса:

  1. Мне нужно создать уведомление установки переключателя внутри моего приложения, так что пользователь может включить или выключить уведомление ли?
  2. Если мне нужно сделать # 1, как я могу назвать регистрацию FCM вручную? Я знаю, что это api [FIRApp configure] будет делать все автоматически.

ответ

1

Я думаю, что следующие указатели должны помочь вам ответить на вопрос.

  1. В общем (Вне зависимости от SDK вы используете), создание и поддержания deviceToken полностью отделено от разрешений стремительного и ответа на этот запрос. Существуют такие случаи, как тихие нажатия, которые можно использовать для отправки нажатий на устройство, даже не спрашивая у пользователя разрешения (ну, эти нажатия вызывают ваше приложение для обновления данных, но ничего не могут показать в пользовательском интерфейсе)

  2. когда мы запрашиваем у пользователя разрешения, отказ в разрешении не делает недействительным уже установленный токен. Выпущенные в этом случае наборы пользовательских интерфейсов (Alert, Badge, Sound) будут по-прежнему приземляться на устройстве, но iOS не будет отображать эти уведомления после проверки разрешений пользователя.

Так на основе указанных выше точек данных, чтобы ответить на ваш вопрос,

Мне нужно создать переключатель настройки уведомлений в моем приложении, так что пользователь может включить или выключить уведомление ли?

Да, его, конечно, хорошая идея, чтобы иметь это так, но учтите, что после первоначальных разрешений подскажете тот же диалог обыкновение быть показан еще раз, поэтому лучше, чтобы перенаправить пользователя на настройки вашего приложения, где он может повторно -enable разрешения для уведомлений, см. this thread о том, как реализовать это.

Если мне нужно сделать # 1, как я могу назвать регистрацию FCM вручную? Я знаю, что этот api [FIRApp configure] будет делать все автоматически.

У меня нет опыта в использовании Firebase непосредственно, но, в основном, вам не нужно говорить ничего Firebase, потому что у него уже есть знак, и он может послал толчки этого устройства в любое время, следующий толчок это происходит после того, как пользователь изменит настройку, будет автоматически отображаться в соответствии с последними настройками пользователя.