Плагин Flutter didReceiveRemoteNotification не работает - PullRequest
0 голосов
/ 04 апреля 2019

Я описал didReceiveRemoteNotification в файле FlutterPlugin, но он не вызывается при открытии Push-уведомления.

public class SwiftSmcPlugin: 
 FlutterPluginAppLifeCycleDelegate, FlutterPlugin , FlutterStreamHandler, UNUserNotificationCenterDelegate, MarketingCloudSDKURLHandlingDelegate{

Я подумал, что должен использовать FlutterPluginAppLifeCycleDelegate, и реализовал его.

Однако, даже если уведомление было открыто, сторона plug-in didReceiveRemoteNotification никогда не вызывалась


@nonobjc override public func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)  {

        let sdk : MarketingCloudSDK = MarketingCloudSDK.sharedInstance()

        print(userInfo)

        if #available(iOS 10.0, *) {
            let theSilentPushContent = UNMutableNotificationContent()
            theSilentPushContent.userInfo = userInfo
            let theSilentPushRequest = UNNotificationRequest(identifier:UUID().uuidString, content: theSilentPushContent, trigger: nil)
            sdk.sfmc_setNotificationRequest(theSilentPushRequest)
            print("Notification Data \(userInfo["_od"])")
            sfmc_handle( URL(string: userInfo["_od"] as! String), type: SFMCURLTypeOpenDirect)
        } else {
            // Fallback on earlier versions
        }

        completionHandler(.noData)
    }

Плагины не вызывают didReceiveRemoteNotification, но Appdelegate в Runner работает

, так как я использую salesforce-marketingcloud sdk, я хочу реализовать это с помощью плагина.Это действительно возможно?

...