Я думаю, что я прочитал всю возможную документацию и все возможные ответы через Интернет и до сих пор не могу сделать эту работу:
Использование облачных функций Firebase для отправки на сервер APNS
имеется 4 устройства: два соответствуют 13.3.1 (XR и SX Max), одно с 13,1 (6 с) и одно с 12 (6) ios установленными
Отправка уведомлений pu sh достигает всех телефонов, когда они находятся на переднем или заднем плане
Отправка уведомлений pu sh достигает всех телефоны, кроме телефона с ios 12, когда приложение отключено, но все еще подключено к источнику питания, и имеют сеть
После отключения от питания в течение некоторого времени или потери сетевого подключения, Даже если снова подключить телефон и восстановить сеть, XS max перестал получать уведомления, но XR и 6S все еще их получают. ( didReceiveRemoteNotification: fetchCompletionHandler: не срабатывает! )
Я испробовал каждый трюк и каждое предложение, приведенное где-либо.
Использование Swift 4.2 из разработки прямо сейчас и поддерживаемый SDK для этого проекта: IOS 10 (Компания не подняла до Swift 5 и IOS 12/13)
Код приложения: подписка происходит всегда (работает нормально)
В приложении: didFinishLaunchingWithOptions:
Messaging.messaging().delegate = self
Messaging.messaging().subscribe(toTopic: "theTopic") { error in
print("Subscribed to LocationWakeNotify topic")
}
let center = UNUserNotificationCenter.current()
center.requestAuthorization(options: [.sound, .alert]) { (granted, error) in }
application.registerForRemoteNotifications()
UNUserNotificationCenter.current().delegate = self
Код сервера:
let message = {
topic: data.topic,
apns: {
payload: {
aps: {
"content-available" : 1
},
"content-id" : 1
},
headers: {
"apns-push-type" : "background",
"apns-priority" : "5"
}
}
};
Я пытался с content-available: true, и это то же самое.
Я пробовал с заголовками и без них, и это происходит только тогда, когда приложение убито, и с помощью тихих уведомлений, если я отправляю контент (заголовок / текст), тогда доставка на все устройства 100%, но мне нужно, чтобы это было тихое уведомление.
Мне кажется, что когда я отключаю питание или сеть или что-то (я просто не могу понять это), некоторые устройства теряют слушателя?!? Я упомяну, что я не могу найти никакого различия в настройках в XR, который всегда работает, и XS Max, который теряет связь.
Более странная проблема заключается в том, что во всех устройствах изменения местоположения запускаются (locationManage : didUpdateLocations :), но делегат уведомления не запускается. Так что даже приложение не отключается от ОС. И уведомления работают так, как на некоторых устройствах они работают все время, а на других не ... очень странно.
10x