---
schema_version: "1"
id: eebd9c26d49fb8df7bdf89255d20f7cdafc735ea59d2347b9b0e34a7527481e2
title: SFNotificationServiceConfig
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/marketing-cloud-mobilepush/engagement_sdk/references/ios-sdk-v11/extension-sdk/classes/sfnotificationserviceconfig.md
canonical_url: https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/sfnotificationserviceconfig.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 37a390bbe0d5b4571af67956428e204cb5156eeaddf57138236222092c4ebd05
products:
  - Salesforce Engagement SDK
---
# SFNotificationServiceConfig

`Class`

The configuration class for the notification service which provides configuration options for notification service extension, including option for setting logging levels.

## Declaration

```swift
@objc(SFMCNotificationServiceConfig)
public final class SFNotificationServiceConfig : NSObject

@objc
public let logLevel: LogLevel

@objc
public let shouldShowCarouselThumbnail: Bool

@objc
public let mediaProviders: Int

@objc
public init(logLevel: LogLevel = .none,
            shouldShowCarouselThumbnail: Bool = true,
            mediaProviders: Int = MediaProviders.sfmc.rawValue)

@objc
public convenience init(logLevel: LogLevel = .none, shouldShowCarouselThumbnail: Bool = true)
```

## Cases

### `logLevel`

The log level used for notification service extension. The default is `.none` .

```swift
@objc
public let logLevel: LogLevel
```

---

### `shouldShowCarouselThumbnail`

Indicates whether a thumbnail should be displayed for carousel notifications. The default is `true` .

```swift
@objc
public let shouldShowCarouselThumbnail: Bool
```

---

### `mediaProviders`

Bitmask of enabled media providers. Combine `SFMCMediaProviders` raw values with a bitwise OR (e.g. `SFMCMediaProvidersSfmc` ). Defaults to `SFMCMediaProviders.sfmc` . Use `SFMCMediaProviders.none` (i.e. `0` ) to opt out of SDK-managed media handling.

```swift
@objc
public let mediaProviders: Int
```

---

### `init(logLevel:shouldShowCarouselThumbnail:mediaProviders:)`

Initializes the notification service configuration with specified options.

```swift
@objc
public init(logLevel: LogLevel = .none,
            shouldShowCarouselThumbnail: Bool = true,
            mediaProviders: Int = MediaProviders.sfmc.rawValue)
```

---

### `init(logLevel:shouldShowCarouselThumbnail:)`

Convenience for callers who only need to set log level / thumbnail flag. Preserves the ObjC selector `initWithLogLevel:shouldShowCarouselThumbnail:` and inherits the primary init’s default of `SFMCMediaProviders.sfmc` .

```swift
@objc
public convenience init(logLevel: LogLevel = .none, shouldShowCarouselThumbnail: Bool = true)
```

---
