swift – Flutter ios Handle background notification in terminated status app


i have an issue when handling silent push in my app when the user close the app, here is my native code which works like charm when the app in the foreground, background or terminated status from a short time from closing the app, and after long time from closing it (+30min) it will not work anymore, it make me confuse why it does not work and other messaging app like viber, whatsapp and messanger you can still receive messages and calls even you swipe the app and close it !! is there any thing must i add !!

override func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
            Messaging.messaging().appDidReceiveMessage(userInfo)
            if Auth.auth().canHandleNotification(userInfo) {
                completionHandler(.noData)
                return
            }
        
        // sample notification for testing
            let content = UNMutableNotificationContent()
            content.title = "Hi there"
            content.body = "Just test"
            content.sound = UNNotificationSound.default
            
            let request = UNNotificationRequest(identifier: "helloNotification", content: content, trigger: nil)
            
            UNUserNotificationCenter.current().add(request) { (error) in
                if let error = error {
                    print("Error adding notification request: \(error.localizedDescription)")
                }
            }
        // resent to dart side
        let controller: FlutterViewController = window?.rootViewController as! FlutterViewController
        let notificationChannel = FlutterMethodChannel(name: "notificationHandler", binaryMessenger: controller.binaryMessenger)
        var dataToSend: [String: Any] = [:]

        if let text = userInfo["text"] as? String {
            dataToSend["text"] = text
        }
        
        // Convert the dictionary to NSDictionary
        let nsDataToSend = NSDictionary(dictionary: dataToSend)


        // Pass the NSDictionary to Dart
       ```
i double checked :

background capabilities : remote notifs, background fetching, voip, background processing


I tried using background handler of firebase_messaging and handle it natively using swift and same problem, the app stop handling silent push after closing it after a short time

Latest articles

spot_imgspot_img

Related articles

Leave a reply

Please enter your comment!
Please enter your name here

spot_imgspot_img