#ios #firebase #firebase-cloud-messaging #push
#iOS #firebase #firebase-облако-обмен сообщениями #толкать
Вопрос:
Я внедряю Push-уведомления iOS с использованием FCM. Но я хочу показать изображение с моим уведомлением. Вот почему я склоняюсь к реализации UNNotificationServiceExtension
Что я сделал, так это следующее. Добавить новый target
> notification service extension
. Эта цель в настоящее время содержит
class NotificationService: UNNotificationServiceExtension {
var contentHandler: ((UNNotificationContent) -> Void)?
var bestAttemptContent: UNMutableNotificationContent?
override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
self.contentHandler = contentHandler
bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent)
if let bestAttemptContent = bestAttemptContent {
// Modify the notification content here...
bestAttemptContent.title = "(bestAttemptContent.title) [modified]"
bestAttemptContent.subtitle = "Hey from extension"
contentHandler(bestAttemptContent)
}
}
override func serviceExtensionTimeWillExpire() {
// Called just before the extension will be terminated by the system.
// Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used.
if let contentHandler = contentHandler, let bestAttemptContent = bestAttemptContent {
contentHandler(bestAttemptContent)
}
}
}
После этого я отправляю push-уведомление со следующей полезной нагрузкой:
Получено push-уведомление и т.д. Однако оно не проходит через расширение, потому что оно не содержит моих измененных данных, которые я добавил в NotificationService
Чего мне не хватает, как мне убедиться, что мое измененное расширение вызывается при получении push
Комментарии:
1. решена ли ваша проблема?
2. да, это решено, я ответил на свой собственный вопрос
3. Сталкиваюсь с той же проблемой. Я не получаю никакого обратного вызова в
didReceive
функции. Где моя цель установлена одинаково для приложения и расширения!!