diff --git a/packages/messaging/ios/RNFBMessaging/RNFBMessagingModule.m b/packages/messaging/ios/RNFBMessaging/RNFBMessagingModule.m index 449e566996..18c2b80951 100644 --- a/packages/messaging/ios/RNFBMessaging/RNFBMessagingModule.m +++ b/packages/messaging/ios/RNFBMessaging/RNFBMessagingModule.m @@ -179,6 +179,12 @@ - (NSDictionary *)constantsToExport { options |= UNAuthorizationOptionSound; } + if ([permissions[@"criticalAlert"] isEqual:@(YES)]) { + if (@available(iOS 12.0, *)) { + options |= UNAuthorizationOptionCriticalAlert; + } + } + if ([permissions[@"provisional"] isEqual:@(YES)]) { if (@available(iOS 12.0, *)) { options |= UNAuthorizationOptionProvisional; diff --git a/packages/messaging/lib/index.d.ts b/packages/messaging/lib/index.d.ts index f3a90b1d2d..084f53d30a 100644 --- a/packages/messaging/lib/index.d.ts +++ b/packages/messaging/lib/index.d.ts @@ -399,6 +399,13 @@ export namespace FirebaseMessagingTypes { */ badge?: boolean; + /** + * Request permission for critical alerts. + * + * Defaults to false. + */ + criticalAlert?: boolean; + /** * Request permission to display notifications in a CarPlay environment. * diff --git a/packages/messaging/lib/index.js b/packages/messaging/lib/index.js index 44c1260f4e..822a86586c 100644 --- a/packages/messaging/lib/index.js +++ b/packages/messaging/lib/index.js @@ -219,6 +219,7 @@ class FirebaseMessagingModule extends FirebaseModule { carPlay: true, provisional: false, sound: true, + criticalAlert: false, }; if (!permissions) {