Я экспериментирую с iOS Remote Push Notification впервые.Я думаю, что все настроил правильно.Краткий обзор:
- Активированные удаленные уведомления и фоновая выборка в фоновых режимах;
- deviceToken сохраняется в моей базе данных MySQL через сервер Node.JS при регистрации;
- Уведомление отправляется с использованием правильных сертификатов, и я получаю сообщение об успехе на моем сервере Node.JS (используя node-apn);
- Правильные методы, реализованные в Swift (
didReceiveRemoteNotification:fetchCompletionHandler:
, didReceive response: UNNotificationResponse
, ...).
Что я сейчас испытываю, так это то, что мое приложение не всегда сразу получает Push-уведомления.Мой опыт подсказывает, что это как-то связано с состоянием приложения.Я думаю, что это происходит, когда приложение находится в фоновом режиме или в состоянии ожидания, когда уведомления отображаются только через 2-3 минуты.
Однако я не уверен.Иногда они доставляют сразу, иногда нет.Поэтому мне интересно, знает ли кто-то точные параметры, определяющие, когда и когда показывается уведомление.
Имеет ли это какое-то отношение к моей настройке, например, я плохо обрабатываю полученное уведомление (насколькоЯ знаю, что уведомление всегда должно отображаться, если приложение не на переднем плане, независимо от моей реализации didReceiveRemoteNotification:fetchCompletionHandler:
, пока не установлено content-available, что имеет место (оно не установлено).
Если это не влияет на доставку уведомления, существуют ли другие, зависящие от устройства, факторы, которые могут быть связаны с этим: низкий заряд батареи, включение Bluetooth, сохранение заряда батареи, ...?
Я планирую проверить это заранее в ближайшие дни, но если у кого-то есть какая-то информация, это, по крайней мере, укажет мне правильное направление.
Приветствия!