Регистрация push-уведомлений Apple и токен устройства Получите разъяснения?

Я работаю над приложением для iPhone с Apple Push Notification интеграция. У меня есть некоторые сомнения по этому поводу.

  1. Если пользователь нажал кнопку "Не разрешать" в предупреждении о регистрации APNS, получит ли наш код токен устройства от APNS?

  2. Я проверил, что, когда пользователь отключил уведомление в уведомлении iPhone, приложение все еще получает токен устройства от APNS? Это правильно?

Может кто-нибудь прояснить эти сомнения?

2 ответа

Решение
  1. В моем понимании APNS, это не зависит от действий пользователя (как вы упомянули, если пользователь нажимает кнопку "Не разрешать") для вашей iOS, чтобы получить токен устройства.

    Если вы включили в свое приложение:

    - (void)application:didRegisterForRemoteNotificationsWithDeviceToken        
    

    Это означает, что ваше приложение для iOS отправляет запрос на регистрацию push-уведомлений. Взамен Apple отправляет токен устройства на iOS; затем iOS отправляет токен приложению, а затем приложение отправляет его своему поставщику услуг.

    Обратите внимание, что когда пользователь спрашивает "Не разрешать", это не означает, что вы не получите токен устройства. "Не разрешать" относится к действию, которое необходимо выполнить для любого уведомления, полученного приложением, которое предназначено для пользователя. Скажи, местоположение. Это совсем другое. Это означает, что пользователь не позволяет приложению использовать свое местоположение.

  2. Да. он все еще получает токен устройства как то, что я обсуждал в своем ответе на ваш вопрос в #1. Это только настройка для вашего приложения, что означает, что вы не будете получать никаких видимых уведомлений (значок, сообщение или звук), когда есть обновления о любой информации, относящейся к вашему приложению. Это похоже на настройку вашей учетной записи Facebook, чтобы получать уведомления только тогда, когда ваши друзья отправят вам личное сообщение. Кроме этого, вы не будете уведомлены вообще.

    Процесс включения APNS:

    1. Запрос на сертификат органа
    2. Создать идентификатор приложения
    3. Настройка AppId для push-уведомлений
    4. Создать профиль обеспечения
    5. Предоставление устройства
    6. Включение профиля в Xcode
    7. Создание провайдера push-уведомлений.

Для большего понимания на APNS, проверьте это.

Я тестировал с Xcode 6.1, ios8.1.2. В настоящее время токен устройства будет сгенерирован только в двух случаях.

  1. Согласие Apple по умолчанию с опцией "ОК"
  2. После "Не разрешать", измените вручную в Настройки-> Уведомления-> Приложение->AllowNotification(Вкл.)

При первом отклонении с согласия Apple не будет генерироваться токен устройства, пока вручную не будет изменено значение на странице настроек.

Другие вопросы по тегам