diff --git a/src/ios/PushPlugin.m b/src/ios/PushPlugin.m index f6aef9d8a..c008e7e78 100644 --- a/src/ios/PushPlugin.m +++ b/src/ios/PushPlugin.m @@ -413,6 +413,7 @@ - (void)didReceiveNotificationResponse:(NSNotification *)notification { NSDictionary *originalUserInfo = response.notification.request.content.userInfo; NSMutableDictionary *modifiedUserInfo = [originalUserInfo mutableCopy]; [modifiedUserInfo setObject:applicationStateNumber forKey:@"applicationState"]; + [modifiedUserInfo setObject:response.actionIdentifier forKey:@"actionCallback"]; switch (applicationState) { case UIApplicationStateActive: @@ -491,7 +492,8 @@ - (void)notificationReceived { // Remove "actionCallback" when application state is not foreground. Only applied to foreground. NSNumber *applicationStateNumber = mutableNotificationMessage[@"applicationState"]; UIApplicationState applicationState = (UIApplicationState)[applicationStateNumber intValue]; - if (applicationState != UIApplicationStateActive) { + if (applicationState != UIApplicationStateActive + && [[mutableNotificationMessage objectForKey:@"actionCallback"] isEqualToString:UNNotificationDefaultActionIdentifier]) { [mutableNotificationMessage removeObjectForKey:@"actionCallback"]; } // @todo do not sent applicationState data to front for now. Figure out if we can add diff --git a/src/ios/PushPluginSettings.m b/src/ios/PushPluginSettings.m index e6ece77ed..037ddc9f9 100644 --- a/src/ios/PushPluginSettings.m +++ b/src/ios/PushPluginSettings.m @@ -117,7 +117,7 @@ - (UNNotificationAction *)createActionFromDictionary:(NSDictionary *)dictionary return nil; } - NSString *identifier = [dictionary objectForKey:@"identifier"]; + NSString *identifier = [dictionary objectForKey:@"callback"]; NSString *title = [dictionary objectForKey:@"title"]; if (!title || !identifier) {