
### NotificationServiceExtension
**Declared In:**  
Headers/SNRNotificationServiceExtension.h
  
**Inherits From:**  
[NSObject](https://developer.apple.com/documentation/objectivec/nsobject)
  
**Declaration:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-457">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-457-0" data-tab-group="tabgrp-457" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-457-1" data-tab-group="tabgrp-457">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-457-0" data-tab-group="tabgrp-457" data-tab-active="true">

```Swift
class NotificationServiceExtension: BaseModel
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-457-1" data-tab-group="tabgrp-457">

```Objective-C
@interface SNRNotificationServiceExtension : NSObject
```

</div>
</div>

  
**Methods:**

This method enables or disables console logs from **NotificationServiceExtension**.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-458">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-458-0" data-tab-group="tabgrp-458" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-458-1" data-tab-group="tabgrp-458">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-458-0" data-tab-group="tabgrp-458" data-tab-active="true">

```Swift
static func setDebugModeEnabled(_: Bool)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-458-1" data-tab-group="tabgrp-458">

```Objective-C
+ (void)setDebugModeEnabled:(BOOL)enabled
```

</div>
</div>


---

This method sets a fallback title and body for notification alert when decryption fails.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-459">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-459-0" data-tab-group="tabgrp-459" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-459-1" data-tab-group="tabgrp-459">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-459-0" data-tab-group="tabgrp-459" data-tab-active="true">

```Swift
static func setDecryptionFallbackNotificationTitleAndBody(title: String, body: String)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-459-1" data-tab-group="tabgrp-459">

```Objective-C
+ (void)setDecryptionFallbackNotificationTitle:(nullable NSString *)title andBody:(nullable NSString *)body
```

</div>
</div>


---

This method passes notification for processing by the SDK.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-460">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-460-0" data-tab-group="tabgrp-460" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-460-1" data-tab-group="tabgrp-460">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-460-0" data-tab-group="tabgrp-460" data-tab-active="true">

```Swift
static func didReceiveNotificationExtensionRequest(_: UNNotificationRequest, withMutableNotificationContent: UNMutableNotificationContent)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-460-1" data-tab-group="tabgrp-460">

```Objective-C
+ (void)didReceiveNotificationExtensionRequest:(UNNotificationRequest *)request withMutableNotificationContent:(UNMutableNotificationContent *)notificationContent
```

</div>
</div>


---

This method passes notification with additional parameters for processing by the SDK.


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

This method was introduced in SDK version 4.24.0.

</div></div></div>


| Parameter | Default | Description |
| --- | --- | --- |
| **kSNRNotificationServiceExtensionOptionsPushDismissProcessing** | false | Enables tracking `push.dismiss` when clearing from the notification center |


<div class="content-tabs code-tabs" data-tab-group="tabgrp-461">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-461-0" data-tab-group="tabgrp-461" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-461-1" data-tab-group="tabgrp-461">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-461-0" data-tab-group="tabgrp-461" data-tab-active="true">

```Swift
static func didReceiveNotificationExtensionRequest(_: UNNotificationRequest, withMutableNotificationContent: UNMutableNotificationContent, options: [SNRNotificationServiceExtensionOptionsKey: Any]?)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-461-1" data-tab-group="tabgrp-461">

```Objective-C
+ (void)didReceiveNotificationExtensionRequest:(UNNotificationRequest *)request withMutableNotificationContent:(UNMutableNotificationContent *)notificationContent options:(nullable NSDictionary<SNRNotificationServiceExtensionOptionsKey, id> *)options
```

</div>
</div>


---

This method passes notification for processing by the SDK when the extension is terminated by the system.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-462">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-462-0" data-tab-group="tabgrp-462" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-462-1" data-tab-group="tabgrp-462">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-462-0" data-tab-group="tabgrp-462" data-tab-active="true">

```Swift
static func serviceExtensionTimeWillExpireRequest(_: UNNotificationRequest, withMutableNotificationContent: UNMutableNotificationContent)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-462-1" data-tab-group="tabgrp-462">

```Objective-C
+ (void)serviceExtensionTimeWillExpireRequest:(UNNotificationRequest *)request withMutableNotificationContent:(UNMutableNotificationContent *)notificationContent
```

</div>
</div>


---
---

### SingleMediaNotificationContentExtensionViewController
**Declared In:**  
Headers/SNRSingleMediaContentExtensionViewController.h  
  
**Inherits From:**  
[UIViewController](https://developer.apple.com/documentation/uikit/uiviewcontroller)  
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-463">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-463-0" data-tab-group="tabgrp-463" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-463-1" data-tab-group="tabgrp-463">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-463-0" data-tab-group="tabgrp-463" data-tab-active="true">

```Swift
class SingleMediaContentExtensionViewController: UIViewController
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-463-1" data-tab-group="tabgrp-463">

```Objective-C
@interface SNRSingleMediaContentExtensionViewController : UIViewController
```

</div>
</div>

  
**Methods:**
Sets a notification to generate a view.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-464">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-464-0" data-tab-group="tabgrp-464" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-464-1" data-tab-group="tabgrp-464">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-464-0" data-tab-group="tabgrp-464" data-tab-active="true">

```Swift
func setSyneriseNotification(_: UNNotification)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-464-1" data-tab-group="tabgrp-464">

```Objective-C
- (void)setSyneriseNotification:(UNNotification *)notification
```

</div>
</div>


---

Passes a notification response to interact with a view.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-465">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-465-0" data-tab-group="tabgrp-465" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-465-1" data-tab-group="tabgrp-465">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-465-0" data-tab-group="tabgrp-465" data-tab-active="true">

```Swift
func setSyneriseNotificationResponse(_: UNNotificationResponse, completionHandler: ((UNNotificationContentExtensionResponseOption) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-465-1" data-tab-group="tabgrp-465">

```Objective-C
- (void)setSyneriseNotificationResponse:(UNNotificationResponse *)response completionHandler:(void (^)(UNNotificationContentExtensionResponseOption))completion
```

</div>
</div>


---
---

### CarouselNotificationContentExtensionViewController
**Declared In:**  
Headers/SNRCarouselContentExtensionViewController.h  
  
**Inherits From:**  
[UIViewController](https://developer.apple.com/documentation/uikit/uiviewcontroller)  
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-466">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-466-0" data-tab-group="tabgrp-466" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-466-1" data-tab-group="tabgrp-466">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-466-0" data-tab-group="tabgrp-466" data-tab-active="true">

```Swift
class CarouselContentExtensionViewController: UIViewController
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-466-1" data-tab-group="tabgrp-466">

```Objective-C
@interface SNRCarouselContentExtensionViewController : UIViewController
```

</div>
</div>

  
**Methods:**

This method sets a notification to generate a view.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-467">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-467-0" data-tab-group="tabgrp-467" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-467-1" data-tab-group="tabgrp-467">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-467-0" data-tab-group="tabgrp-467" data-tab-active="true">

```Swift
func setSyneriseNotification(_: UNNotification)
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-467-1" data-tab-group="tabgrp-467">

```Objective-C
- (void)setSyneriseNotification:(UNNotification *)notification
```

</div>
</div>


---

This method passes a notification response to interact with a view.

<div class="content-tabs code-tabs" data-tab-group="tabgrp-468">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-468-0" data-tab-group="tabgrp-468" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-468-1" data-tab-group="tabgrp-468">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-468-0" data-tab-group="tabgrp-468" data-tab-active="true">

```Swift
func setSyneriseNotificationResponse(_: UNNotificationResponse, completionHandler: ((UNNotificationContentExtensionResponseOption) -> Void))
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-468-1" data-tab-group="tabgrp-468">

```Objective-C
- (void)setSyneriseNotificationResponse:(UNNotificationResponse *)response completionHandler:(void (^)(UNNotificationContentExtensionResponseOption))completion
```

</div>
</div>
