Ich implementieren Push-Benachrichtigungen mit einem Bild in meiner iOS-App mithilfe von Firebase Cloud Messaging (FCM). Ich habe eine benutzerdefinierte NotificationServiceExtension erstellt, um das Herunterladen und Anhängen von Bildern zu verwalten. Das Bild wird jedoch nicht in der Benachrichtigung angezeigt.
Hier ist der Code, den ich verwende:
NotificationService.swift::
Ich implementieren Push-Benachrichtigungen mit einem Bild in meiner iOS-App mithilfe von Firebase Cloud Messaging (FCM). Ich habe eine benutzerdefinierte NotificationServiceExtension erstellt, um das Herunterladen und Anhängen von Bildern zu verwalten. Das Bild wird jedoch nicht in der Benachrichtigung angezeigt. Hier ist der Code, den ich verwende: NotificationService.swift:: [code]import UIKit import UserNotifications import FirebaseMessaging
class NotificationService: UNNotificationServiceExtension { private var contentHandler: ((UNNotificationContent) -> Void)? private var bestAttemptContent: UNMutableNotificationContent? override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) { self.contentHandler = contentHandler bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent)defer { contentHandler(bestAttemptContent ?? request.content) } guard let attachment = request.attachment else { return } bestAttemptContent?.attachments = [attachment] } override func serviceExtensionTimeWillExpire() { if let contentHandler = contentHandler, let bestAttemptContent = bestAttemptContent { contentHandler(bestAttemptContent) } } }
let imageFileIdentifier = UUID().uuidString + ".jpg" let fileURL = temporaryFolderURL.appendingPathComponent(imageFileIdentifier) try data.write(to: fileURL) try self.init(identifier: imageFileIdentifier, url: fileURL, options: options) } } [/code] FCM-Nutzlast Hier ist die Nutzlast, die ich vom Server sende: [code]message = messaging.Message( data=convert_to_firebase_compatible(data), token=registration_id, android=messaging.AndroidConfig( priority='high', ttl=ttl ), notification=messaging.Notification( title=data.get('title', 'ABC'), body=data.get('message', ''), image=data.get('image_url', '') ), apns=messaging.APNSConfig( headers={ 'apns-priority': '10', }, payload=messaging.APNSPayload( aps=messaging.Aps( sound='default', mutable_content='1' ), ), fcm_options=messaging.APNSFCMOptions( image=data.get('image_url', '') ) ), ) [/code] Problem: [list] [*]Die Benachrichtigungen werden auf iOS empfangen, aber das Bild wird nicht angezeigt. [*]Ich habe bestätigt, dass die Bild-URL in der Nutzlast „userInfo“ gültig und zugänglich ist. [/list] Durchgeführte Schritte: [list] [*]NotificationServiceExtension zur Verarbeitung von Bildern hinzugefügt Anhang. [*]Überprüft, dass die image_url in der Nutzlast korrekt und zugänglich ist. [*]Bestätigt, dass mutable_content in der Nutzlast auf „1“ gesetzt ist. [/list] Fragen: [list] Verpassen mir irgendwelche Schritte beim Einrichten der NotificationServiceExtension für die Verarbeitung von Bildern? ? [*]Ist die FCM-Nutzlast richtig strukturiert für das Senden von Bildern in iOS-Benachrichtigungen? [*]Muss ich noch etwas für APNs oder FCM konfigurieren, um Bilder in Benachrichtigungen zu unterstützen? [/list]
Ich untersuche, warum es keine Tonbenachrichtigung gibt, wenn eine Push -Benachrichtigung über unsere App gesendet wird. Benachrichtigungen funktionieren, aber es gibt keinen Ton (noch Vibration),...
Ich untersuche, warum es keine Tonbenachrichtigung gibt, wenn eine Push -Benachrichtigung über unsere App gesendet wird. Benachrichtigungen funktionieren, aber es gibt keinen Ton (noch Vibration),...
Ich versuche, einen Chats-Abschnitt auf meiner ASP .NET Core MVC-Website zu erstellen, und ich habe Probleme beim Laden der Firebase-Dienste und des Firebase-Messaging-sw.js und vieles mehr. Gibt es...
Wir haben eine App für Kurznachrichten mit über 1L aktiven Nutzern in fünf Sprachen entwickelt. Benutzer erhalten Push-Benachrichtigungen basierend auf ihrer ausgewählten Sprache, ihrem Bundesland...