Я описал 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, я хочу реализовать это с помощью плагина.Это действительно возможно?