Push-уведомление AWS SNS не получено на iPhone 6 и выше - PullRequest
0 голосов
/ 26 октября 2018

Мой коллега и я создаем приложение и реализуем функцию push-уведомлений с использованием AWS SNS API.Проблема заключается в том, что некоторые устройства работают нормально, но некоторые, такие как iPhone 6,7,8, не получают уведомления независимо от версии ОС (в основном это iOS 11,12).

Мы рассмотрели основныепроверка следующих пунктов:

  1. уведомление включено на всех тестовых устройствах
  2. тестеры дают разрешение на получение уведомления во время запуска приложения
  3. сертификат p12загруженный в AWS действителен, и формат правильный

Сообщения об ошибках, которые мы получали из журналов AWS CloudWatch, в основном были «неверный токен устройства» или «незарегистрированный», но мы уверены, что мы загружаемтокен устройства, как только мы получили его от APNS.

РЕДАКТИРОВАТЬ: фактический код добавлен

Зарегистрироваться для уведомления (в пределах didFinishLaunchingWithOptions)

UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
    if let error = error {
        print("\(error.localizedDescription)")
    } else {
        application.registerForRemoteNotifications()
    }
}

Получить токен

func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    print("Successfully registered for notifications!")
 // upload token to our database for later use
}

Что-то нам не хватает?

...