# Custom Configuration

ContextSDK operates seamlessly in the background, designed from the ground up to minimize resource usage and have no impact on your app’s performance. For most use cases, we recommend keeping the default settings unless you have specific requirements.

If needed, you can customize these options by passing a `Configuration` object to the `applicationDidFinishLaunchingWithOptions` method, as seen here:

{% code title="AppDelegate.swift" %}

```swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // …
    let config = Configuration(…)
    ContextManager.applicationDidFinishLaunchingWithOptions(launchOptions, licenseKey: "YOUR_LICENSE_KEY", configuration: config)
    // …
}
```

{% endcode %}

## Configuration Options

### App Group Identifier

{% hint style="info" %}
Required for ContextPush reporting because the Notification Service Extension relies on App Group data sharing.
{% endhint %}

The `appGroupIdentifier` enables data sharing between your main app and a Notification Service Extension. This allows the extension to verify your license and share user preferences.

```swift
let config = Configuration(appGroupIdentifier: "group.com.yourcompany.yourapp")
```

**Requirements:**

* Both main app and extension must have the App Groups capability enabled
* Both must use the same App Group identifier
* The main app must be launched at least once after configuration to initialize shared data

See [Notification Service Extension](/context-push/notification-service-extension.md) for complete setup instructions.

***

For a comprehensive list of all configuration options, please refer to our [iOS SDK Reference (Configuration)](https://context-sdk.github.io/docs-ios/documentation/contextsdk/configuration).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.contextsdk.com/advanced/custom-configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
