override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
self.contentHandler = contentHandler
bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent)
if let bestAttemptContent = bestAttemptContent {
manageCustomReplacements(request: request, bestAttemptContent: bestAttemptContent)
private func manageCustomReplacements(request: UNNotificationRequest, bestAttemptContent: UNMutableNotificationContent) {
let appGroupIdentifier = "YOUR_APP_GROUP_ID"
let customDatakey = "com.mumble.mpush.customData"
guard let customData = UserDefaults(suiteName: appGroupIdentifier)?.object(forKey: customDatakey) as? [String: String] else {
for (key, value) in customData {
bestAttemptContent.title = request.content.title.replacingOccurrences(of: key, with: value)
bestAttemptContent.body = request.content.body.replacingOccurrences(of: key, with: value)