
This article describes options that allow you to change some SDK behaviors.
It contains all settings you can configure to change some SDK behaviors. The settings are divided into groups:

- [General](/developers/mobile-sdk/settings#general) - This group contains options related to the general functioning of mobile SDK.
- [Notifications](/developers/mobile-sdk/settings#notifications) - This group contains options related to push notifications.
- [In-app messaging](/developers/mobile-sdk/settings#in-app-messaging) - This group contains options related to the [in-app messages](/docs/campaign/in-app-messages) feature.
- [Tracker](/developers/mobile-sdk/settings#tracker) - This group contains options related to tracking the customer activities in a mobile application.
- [Injector](/developers/mobile-sdk/settings#injector) - This group contains options related to displaying [campaigns](/docs/campaign/Mobile). 


## Pre-initialization settings
Some of the pre-initialization settings are optional. If you want to use them, they must be configured before Synerise SDK is initialized, before invoking the following methods:
- Synerise.Builder.build() (Android)
- [Synerise.initialize(apiKey:)](/developers/mobile-sdk/method-reference/ios/lifecycle#initialization) (iOS)
  
**Pre-initialization settings:**
- [Set up App Group Identifier](#set-up-app-group-identifier) (iOS only)
- [Set up Keychain Group Identifier](#set-up-keychain-group-identifier) (iOS only)
- [Maintaining customer session on different API keys](#maintaining-customer-session-on-different-api-keys)
- [Turn on/turn off notification encryption](#turn-onturn-off-notification-encryption)

  **The rest of the options can be changed dynamically anytime.**


  <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">

  See advanced initialization example with all settings options for:
- [Advanced initialization - Android](/developers/mobile-sdk/installation-and-configuration/android#initialization)
- [Advanced initialization - iOS](/developers/mobile-sdk/installation-and-configuration/ios#advanced-initialization)
- [Advanced initialization - React Native](/developers/mobile-sdk/installation-and-configuration/react-native#advanced-initialization)

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


## General

### Enable/disable SDK
---
This parameter specifies if the SDK is enabled.

If the SDK is disabled, it means:
- the SDK does not send any events
- the SDK does not handle notifications
- the SDK does not show in-app messages
  
Available on: **Android**, **iOS**, **React Native**, **Flutter**.


<div class="content-tabs" data-tab-group="tabgrp-1206">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1206-0" data-tab-group="tabgrp-1206" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1206-1" data-tab-group="tabgrp-1206">iOS</button><button class="tab-button" data-tab-id="tabgrp-1206-2" data-tab-group="tabgrp-1206">React Native</button><button class="tab-button" data-tab-id="tabgrp-1206-3" data-tab-group="tabgrp-1206">Flutter</button></div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.sdk.enabled` | `Boolean` | true |

</div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.sdk.enabled` | `Bool` | true |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1206-2" data-tab-group="tabgrp-1206">

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.Settings.sdk.enabled`| `boolean` | true |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1206-3" data-tab-group="tabgrp-1206">

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.sdk.enabled`| `bool` | true |

</div>
</div>



### Minimum time interval to refresh token
---
This parameter sets a time interval (in seconds) counting backwards from the expiration time. Within this time, the authorization token will be automatically refreshed by the SDK.
  
Available on: **Android**, **iOS**, **React Native**, **Flutter**.


<div class="content-tabs" data-tab-group="tabgrp-1207">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1207-0" data-tab-group="tabgrp-1207" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1207-1" data-tab-group="tabgrp-1207">iOS</button><button class="tab-button" data-tab-id="tabgrp-1207-2" data-tab-group="tabgrp-1207">React Native</button><button class="tab-button" data-tab-id="tabgrp-1207-3" data-tab-group="tabgrp-1207">Flutter</button></div>

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

| Method | Type | Default | Minimum |
| --- | --- | --- | --- |
| `Synerise.settings.sdk.setMinTokenRefreshInterval(value)` | `TimeInterval` | 1800 | 1800 |

</div>

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

| Parameter | Type | Default | Minimum |
| --- | --- | --- | --- |
| `Synerise.settings.sdk.minTokenRefreshInterval` | `TimeInterval` | 1800 | 1800 |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1207-2" data-tab-group="tabgrp-1207">

| Parameter | Type | Default | Minimum |
| --- | --- | --- | --- |
| `Synerise.Settings.sdk.minTokenRefreshInterval` | `number` | 1800 | 1800 |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1207-3" data-tab-group="tabgrp-1207">

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.sdk.minTokenRefreshInterval`| `double` | 1800 |

</div>
</div>



### Maintaining customer session on different API keys
---
This parameter specifies if a session is destroyed after the Profile API (formerly Client) key changes.


<div class="admonition admonition-important"><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="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

This option must be configured when Synerise SDK is initialized.

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

  
Available on: **Android**, **iOS**, **React Native**, **Flutter**.


<div class="content-tabs" data-tab-group="tabgrp-1208">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1208-0" data-tab-group="tabgrp-1208" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1208-1" data-tab-group="tabgrp-1208">iOS</button><button class="tab-button" data-tab-id="tabgrp-1208-2" data-tab-group="tabgrp-1208">React Native</button><button class="tab-button" data-tab-id="tabgrp-1208-3" data-tab-group="tabgrp-1208">Flutter</button></div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.sdk.shouldDestroySessionOnApiKeyChange` | `Boolean` | true |

</div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.sdk.shouldDestroySessionOnApiKeyChange` | `Bool` | true |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1208-2" data-tab-group="tabgrp-1208">

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.Settings.sdk.shouldDestroySessionOnApiKeyChange` | `boolean` | true |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1208-3" data-tab-group="tabgrp-1208">

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.sdk.shouldDestroySessionOnApiKeyChange`| `bool` | true |

</div>
</div>




<div class="admonition admonition-important"><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="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

This option works only if you change the Profile (formerly Client) API key within one workspace.

To change the API key from a different workspace, use the following method:
- for Android [Client.changeApiKey](/developers/mobile-sdk/method-reference/android/lifecycle#change-profile-api-key-dynamically)
- for iOS [Synerise.changeApiKey](/developers/mobile-sdk/method-reference/ios/lifecycle#change-profile-api-key-dynamically)
- for React Native [Synerise.changeApiKey](/developers/mobile-sdk/method-reference/react-native/lifecycle#change-profile-api-key-dynamically)
- for Flutter [Synerise.changeApiKey](/developers/mobile-sdk/method-reference/flutter/lifecycle#change-profile-api-key-dynamically)

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



### Set up App Group Identifier
---
This parameter identifies the user default group applications and extensions belong to.


<div class="admonition admonition-important"><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="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

This option must be configured when Synerise SDK is initialized, before invoking the [Synerise.initialize(apiKey:)](/developers/mobile-sdk/method-reference/ios/lifecycle#initialization) method.

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


Available on: **iOS**, **React Native (iOS)**, **Flutter (iOS)**.


<div class="content-tabs" data-tab-group="tabgrp-1209">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1209-0" data-tab-group="tabgrp-1209" data-tab-active="true">iOS</button><button class="tab-button" data-tab-id="tabgrp-1209-1" data-tab-group="tabgrp-1209">React Native</button><button class="tab-button" data-tab-id="tabgrp-1209-2" data-tab-group="tabgrp-1209">Flutter</button></div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.sdk.appGroupIdentifier` | `String` | nil |

</div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.Settings.sdk.appGroupIdentifier` | `string` | null |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1209-2" data-tab-group="tabgrp-1209">

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.sdk.appGroupIdentifier`| `String` | null |

</div>
</div>


Synerise SDK requires this parameter to be configured for storing your non-sensitive data and sharing it between your app and extensions.

Your App Group must be registered on the [Apple Developer](https://developer.apple.com/) portal. It is recommended to use reverse-domain name style and prefix it with `group.` by default. For example, your App Group can be `group.com.synerise.sdk.sample`.  
When your App Group is registered, add it as a capability on the [Apple Developer](https://developer.apple.com/) portal in App ID Configuration and in Xcode in the **Signing&Capabilities** tab.

Documentation is available at [Apple Developer - App Groups](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_application-groups).

Once configured, you need to set it up in the SDK:

#### Example

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

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

```Swift
Synerise.settings.sdk.appGroupIdentifier = "group.com.synerise.sdk.sample"
```

</div>

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

```Objective-C
SNRSynerise.settings.sdk.appGroupIdentifier = @"group.com.synerise.sdk.sample";
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1203-2" data-tab-group="tabgrp-1203">

```JavaScript
Synerise.Settings.sdk.appGroupIdentifier = "group.com.synerise.sdk.sample";
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1203-3" data-tab-group="tabgrp-1203">

```Dart
Synerise.settings.sdk.appGroupIdentifier = "group.com.synerise.sdk.sample";
```

</div>
</div>


### Set up Keychain Group Identifier
---
This parameter identifies the keychain group used by applications, extensions and services that your app belongs to.


<div class="admonition admonition-important"><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="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

This option must be configured when Synerise SDK is initialized, before invoking the [Synerise.initialize(apiKey:)](/developers/mobile-sdk/method-reference/ios/lifecycle#initialization) method.

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

  
Available on: **iOS**, **React Native (iOS)**, **Flutter (iOS)**.


<div class="content-tabs" data-tab-group="tabgrp-1210">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1210-0" data-tab-group="tabgrp-1210" data-tab-active="true">iOS</button><button class="tab-button" data-tab-id="tabgrp-1210-1" data-tab-group="tabgrp-1210">React Native</button><button class="tab-button" data-tab-id="tabgrp-1210-2" data-tab-group="tabgrp-1210">Flutter</button></div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.sdk.keychainGroupIdentifier` | `String` | nil |

</div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.Settings.sdk.keychainGroupIdentifier` | `string` | null |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1210-2" data-tab-group="tabgrp-1210">

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.sdk.keychainGroupIdentifier`| `String` | null |

</div>
</div>


Synerise SDK requires that parameter to be configured for storing your data safely and sharing it between your app and extensions.

Your Keychain Group Identifier is made of:
- your Keychain Group
- your $(AppIdentifierPrefix), also called Team ID.

For example, if your Keychain Group is set to `SharedItems` and your Team ID is `ABC1234DEF`, the complete literal that you should set as Keychain Group Identifier is `ABC1234DEF.SharedItems`.

Documentation is available at [Apple Developer - Sharing Access to Keychain Items Among a Collection of Apps](https://developer.apple.com/documentation/security/keychain_services/keychain_items/sharing_access_to_keychain_items_among_a_collection_of_apps).

Once configured, you need to set it up in the SDK:

#### Example

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

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

```Swift
Synerise.settings.sdk.keychainGroupIdentifier = "ABC1234DEF.SharedItems"
```

</div>

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

```Objective-C
SNRSynerise.settings.sdk.keychainGroupIdentifier = @"ABC1234DEF.SharedItems";
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1204-2" data-tab-group="tabgrp-1204">

```JavaScript
Synerise.Settings.sdk.keychainGroupIdentifier = "ABC1234DEF.SharedItems";
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1204-3" data-tab-group="tabgrp-1204">

```Dart
Synerise.settings.sdk.keychainGroupIdentifier = "ABC1234DEF.SharedItems";
```

</div>
</div>


### Localize some strings occurring in the SDK
---
This parameter specifies the localization of some strings occurring in the SDK.
  
When this option isn't used, the SDK uses default strings.
  
Available on: **iOS**, **React Native (iOS)**, **Flutter (iOS)**.


<div class="content-tabs" data-tab-group="tabgrp-1211">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1211-0" data-tab-group="tabgrp-1211" data-tab-active="true">iOS</button><button class="tab-button" data-tab-id="tabgrp-1211-1" data-tab-group="tabgrp-1211">React Native</button><button class="tab-button" data-tab-id="tabgrp-1211-2" data-tab-group="tabgrp-1211">Flutter</button></div>

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

| Parameter | Type | Default | Min. SDK version |
| --- | --- | --- | --- |
| `Synerise.settings.sdk.localizable` | `[LocalizableStringKey: String]` | nil | 4.14.12 |

</div>

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

| Parameter | Type | Default | Min. SDK version |
| --- | --- | --- | --- |
| `Synerise.Settings.sdk.localizable` | `object` | null | 0.19.0 |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1211-2" data-tab-group="tabgrp-1211">

| Parameter | Type | Default | Min. SDK version |
| --- | --- | --- | --- |
| `Synerise.settings.sdk.localizable` | `Map<String, String>` | null | 1.0.0 |

</div>
</div>



<div class="admonition admonition-important"><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="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

We recommend updating the property when you change the language in the Host App.

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


## Notifications

### Enable/disable notifications
---
This parameter specifies if handling notifications by the SDK is enabled.
  
Available on: **Android**, **iOS**, **React Native**, **Flutter**.


<div class="content-tabs" data-tab-group="tabgrp-1212">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1212-0" data-tab-group="tabgrp-1212" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1212-1" data-tab-group="tabgrp-1212">iOS</button><button class="tab-button" data-tab-id="tabgrp-1212-2" data-tab-group="tabgrp-1212">React Native</button><button class="tab-button" data-tab-id="tabgrp-1212-3" data-tab-group="tabgrp-1212">Flutter</button></div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.notifications.enabled` | `Boolean` | true |

</div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.notifications.enabled` | `Bool` | true |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1212-2" data-tab-group="tabgrp-1212">

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.Settings.notifications.enabled` | `boolean` | true |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1212-3" data-tab-group="tabgrp-1212">

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.notifications.enabled` | `bool` | true |

</div>
</div>


### Turn on/turn off notification encryption
---
This parameter specifies if encryption for push notifications is enabled.  


<div class="admonition admonition-important"><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="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

This option must be configured when Synerise SDK is initialized.

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

  
Available on: **Android**, **iOS**, **React Native**, **Flutter**.


<div class="content-tabs" data-tab-group="tabgrp-1213">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1213-0" data-tab-group="tabgrp-1213" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1213-1" data-tab-group="tabgrp-1213">iOS</button><button class="tab-button" data-tab-id="tabgrp-1213-2" data-tab-group="tabgrp-1213">React Native</button><button class="tab-button" data-tab-id="tabgrp-1213-3" data-tab-group="tabgrp-1213">Flutter</button></div>

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

| Method | Type | Default |
| --- | --- | --- |
| `Synerise.settings.notifications.setEncryption(value)` | `Boolean` | false |

</div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.notifications.encryption` | `Bool` | false |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1213-2" data-tab-group="tabgrp-1213">

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.Settings.notifications.encryption` | `boolean` | false |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1213-3" data-tab-group="tabgrp-1213">

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.notifications.encryption` | `bool` | false |

</div>
</div>



<div class="admonition admonition-important"><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="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

Encryption must be enabled in the [workspace settings](https://app.synerise.com/spa/modules/old-settings/setting/integration), in the Firebase integration section.

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



<div class="admonition admonition-important"><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="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The application must be properly configured and implemented for notification encryption:
- [Configure Notification Encryption for Android.](/developers/mobile-sdk/configuring-push-notifications/android#configure-notification-encryption) 
- [Configure Notification Encryption for iOS.](/developers/mobile-sdk/configuring-push-notifications/ios#configure-notification-encryption)
- [Configure Notification Encryption for React Native.](/developers/mobile-sdk/configuring-push-notifications/react-native#configure-notification-encryption)
- [Configure Notification Encryption for Flutter.](/developers/mobile-sdk/configuring-push-notifications/flutter#configure-notification-encryption)

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


### Enable/disable notification in-app alerts
---
This parameter determines whether the SDK displays an additional alert in the application right after a notification is delivered.

If you have your own notification implementation, or you do not want to display alerts with notification content, you should disable in-app notification alerts from the Synerise SDK.
  
Also, read [here](/developers/mobile-sdk/campaigns/simple-push#additional-in-app-alert-when-simple-push-is-received).

Available on: **iOS**, **React Native (iOS)**, **Flutter (iOS)**.


<div class="content-tabs" data-tab-group="tabgrp-1214">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1214-0" data-tab-group="tabgrp-1214" data-tab-active="true">iOS</button><button class="tab-button" data-tab-id="tabgrp-1214-1" data-tab-group="tabgrp-1214">React Native</button><button class="tab-button" data-tab-id="tabgrp-1214-2" data-tab-group="tabgrp-1214">Flutter</button></div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.notifications.disableInAppAlerts` | `Bool` | false |

</div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.Settings.notifications.disableInAppAlerts` | `boolean` | false |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1214-2" data-tab-group="tabgrp-1214">

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.notifications.disableInAppAlerts` | `bool` | false |

</div>
</div>


## In-app messaging

### Check Global Control Groups when fetching definitions
---
This parameter specifies if global control groups should be checked immediately after in-app definitions are fetched.
  
Available on: **Android**, **iOS**, **React Native**, **Flutter**.


<div class="content-tabs" data-tab-group="tabgrp-1215">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1215-0" data-tab-group="tabgrp-1215" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1215-1" data-tab-group="tabgrp-1215">iOS</button><button class="tab-button" data-tab-id="tabgrp-1215-2" data-tab-group="tabgrp-1215">React Native</button><button class="tab-button" data-tab-id="tabgrp-1215-3" data-tab-group="tabgrp-1215">Flutter</button></div>

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

| Parameter | Type | Default | Min. SDK version |
| --- | --- | --- | --- |
| `Synerise.settings.inAppMessaging.checkGlobalControlGroupsOnDefinitionsFetch` | `Boolean` | false | 5.15.0 |

</div>

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

| Parameter | Type | Default | Min. SDK version |
| --- | --- | --- | --- |
| `Synerise.settings.inAppMessaging.checkGlobalControlGroupsOnDefinitionsFetch` | `Bool` | false | 4.15.0 |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1215-2" data-tab-group="tabgrp-1215">

| Parameter | Type | Default | Min. SDK version |
| --- | --- | --- | --- |
| `Synerise.Settings.notifications.checkGlobalControlGroupsOnDefinitionsFetch` | `boolean` | false | 0.19.0 |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1215-3" data-tab-group="tabgrp-1215">

| Parameter | Type | Default | Min. SDK version |
| --- | --- | --- | --- |
| `Synerise.settings.inAppMessaging.checkGlobalControlGroupsOnDefinitionsFetch` | `bool` | false | 0.8.3 |

</div>
</div>



### Maximum time interval between in-app definition updates
---
This parameter sets the maximum interval (in seconds) between automatic [in-app message](/docs/campaign/in-app-messages) definition updates.
  
Available on: **Android**, **iOS**, **React Native**, **Flutter**.


<div class="content-tabs" data-tab-group="tabgrp-1216">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1216-0" data-tab-group="tabgrp-1216" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1216-1" data-tab-group="tabgrp-1216">iOS</button><button class="tab-button" data-tab-id="tabgrp-1216-2" data-tab-group="tabgrp-1216">React Native</button><button class="tab-button" data-tab-id="tabgrp-1216-3" data-tab-group="tabgrp-1216">Flutter</button></div>

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

| Method | Type | Default | Minimum | Min. SDK version |
| --- | --- | --- | --- | --- |
| `Synerise.settings.inAppMessaging.setMaxDefinitionUpdateIntervalLimit(value)` | `TimeInterval` | 600.0 | 600.0 | 4.7.0 |

</div>

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

| Parameter | Type | Default | Minimum | Min. SDK version |
| --- | --- | --- | --- | --- |
| `Synerise.settings.inAppMessaging.maxDefinitionUpdateIntervalLimit` | `TimeInterval` | 600.0 | 600.0 | 4.6.0 |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1216-2" data-tab-group="tabgrp-1216">

| Parameter | Type | Default | Minimum | Min. SDK version |
| --- | --- | --- | --- | --- |
| `Synerise.Settings.inAppMessaging.maxDefinitionUpdateIntervalLimit` | `number` | 600.0 | 600.0 | 0.12.0 |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1216-3" data-tab-group="tabgrp-1216">

| Parameter | Type | Default | Minimum | Min. SDK version |
| --- | --- | --- | --- | --- |
| `Synerise.settings.inAppMessaging.maxDefinitionUpdateIntervalLimit` | `double` | 600.0 | 600.0 | 0.4.0 |

</div>
</div>


### Content base URL for in-app message
---
This parameter defines the base URL for loading external resources (such as JavaScript files, CSS stylesheets, images, or fonts) within your in-app content. This is particularly useful when resources are hosted on your own server and you have set up **CORS (Cross-Origin Resource Sharing) policies**.


<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">

Thanks to the base URL, the app will know where to look for all external resources that are loaded dynamically. This helps avoid specifying full URLs each time a resource is requested and ensures that resources are consistently loaded from the correct location.

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


Available on: **Android**, **iOS**, **React Native**, **Flutter**.


<div class="content-tabs" data-tab-group="tabgrp-1217">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1217-0" data-tab-group="tabgrp-1217" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1217-1" data-tab-group="tabgrp-1217">iOS</button><button class="tab-button" data-tab-id="tabgrp-1217-2" data-tab-group="tabgrp-1217">React Native</button><button class="tab-button" data-tab-id="tabgrp-1217-3" data-tab-group="tabgrp-1217">Flutter</button></div>

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

| Parameter | Type | Default | Min. SDK version |
| --- | --- | --- | --- |
| `Synerise.settings.inAppMessaging.contentBaseUrl` | `String` | null | 5.21.0 |

</div>

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

| Parameter | Type | Default | Min. SDK version |
| --- | --- | --- | --- |
| `Synerise.settings.inAppMessaging.contentBaseUrl` | `String` | nil | 4.21.0 |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1217-2" data-tab-group="tabgrp-1217">

| Parameter | Type | Default | Min. SDK version |
| --- | --- | --- | --- |
| `Synerise.Settings.inAppMessaging.contentBaseUrl` | `string` | null | 0.24.0 |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1217-3" data-tab-group="tabgrp-1217">

| Parameter | Type | Default | Min. SDK version |
| --- | --- | --- | --- |
| `Synerise.settings.inAppMessaging.contentBaseUrl` | `String` | null | 1.4.0 |

</div>
</div>

  
#### Example
You should set `contentBaseUrl` to the root URL of the server hosting your resources. This is especially important when hosting assets such as fonts, images, or scripts from a specific domain or server.


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

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

```Swift
Synerise.settings.inAppMessaging.contentBaseUrl = "https://www.synerise.com"
```

</div>

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

```Objective-C
SNRSynerise.settings.inAppMessaging.contentBaseUrl = @"https://www.synerise.com";
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1205-2" data-tab-group="tabgrp-1205">

```JavaScript
Synerise.Settings.inAppMessaging.contentBaseUrl = "https://www.synerise.com"
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1205-3" data-tab-group="tabgrp-1205">

```Dart
Synerise.settings.inAppMessaging.contentBaseUrl = "https://www.synerise.com"
```

</div>
</div>


### Maximum time for in-app message rendering
---
This parameter sets a timeout (in seconds) for in-app message rendering.
  
Available on: **Android**, **iOS**, **React Native**, **Flutter**.


<div class="content-tabs" data-tab-group="tabgrp-1218">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1218-0" data-tab-group="tabgrp-1218" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1218-1" data-tab-group="tabgrp-1218">iOS</button><button class="tab-button" data-tab-id="tabgrp-1218-2" data-tab-group="tabgrp-1218">React Native</button><button class="tab-button" data-tab-id="tabgrp-1218-3" data-tab-group="tabgrp-1218">Flutter</button></div>

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

| Parameter | Type | Default | Minimum | Min. SDK version |
| --- | --- | --- | --- | --- |
| `Synerise.settings.inAppMessaging.renderingTimeout` | `TimeInterval` | 2.0 | - | 4.7.0 |

</div>

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

| Parameter | Type | Default | Minimum | Min. SDK version |
| --- | --- | --- | --- | --- |
| `Synerise.settings.inAppMessaging.renderingTimeout` | `TimeInterval` | 5.0 | 1.0 | 4.6.0 |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1218-2" data-tab-group="tabgrp-1218">

| Parameter | Type | Default | Minimum | Min. SDK version |
| --- | --- | --- | --- | --- |
| `Synerise.Settings.inAppMessaging.renderingTimeout` | `number` | 2.0 (Android)<br/>5.0 (iOS) | - (Android)<br/>1.0 (iOS) | 0.12.0 |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1218-3" data-tab-group="tabgrp-1218">

| Parameter | Type | Default | Minimum | Min. SDK version |
| --- | --- | --- | --- | --- |
| `Synerise.settings.inAppMessaging.renderingTimeout` | `double` | 2.0 (Android)<br/>5.0 (iOS) | - (Android)<br/>1.0 (iOS) | 0.4.0 |

</div>
</div>



### Enable/disable sending inApp.capping event
---
This parameter specifies if the SDK should send the `inApp.capping` event.
  
Available on: **Android**, **iOS**, **React Native**, **Flutter**.


<div class="content-tabs" data-tab-group="tabgrp-1219">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1219-0" data-tab-group="tabgrp-1219" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1219-1" data-tab-group="tabgrp-1219">iOS</button><button class="tab-button" data-tab-id="tabgrp-1219-2" data-tab-group="tabgrp-1219">React Native</button><button class="tab-button" data-tab-id="tabgrp-1219-3" data-tab-group="tabgrp-1219">Flutter</button></div>

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

| Parameter | Type | Default | Min. SDK version |
| --- | --- | --- | --- |
| `Synerise.settings.inAppMessaging.shouldSendInAppCappingEvent` | `Boolean` | true | 5.10.1 |

</div>

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

| Parameter | Type | Default | Min. SDK version |
| --- | --- | --- | --- |
| `Synerise.settings.inAppMessaging.shouldSendInAppCappingEvent` | `Bool` | true | 4.14.8 |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1219-2" data-tab-group="tabgrp-1219">

| Parameter | Type | Default | Min. SDK version |
| --- | --- | --- | --- |
| `Synerise.Settings.inAppMessaging.shouldSendInAppCappingEvent` | `boolean` | true | 0.16.0 |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1219-3" data-tab-group="tabgrp-1219">

| Parameter | Type | Default | Min. SDK version |
| --- | --- | --- | --- |
| `Synerise.settings.inAppMessaging.shouldSendInAppCappingEvent` | `bool` | true | 0.7.2 |

</div>
</div>


## Tracker

### Enable/disable declarative tracking
---
This parameter specifies if the [declarative tracking](/developers/mobile-sdk/event-tracking#declarative-tracking) feature is enabled.
  
Available on: **Android**, **iOS**.


<div class="content-tabs" data-tab-group="tabgrp-1220">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1220-0" data-tab-group="tabgrp-1220" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1220-1" data-tab-group="tabgrp-1220">iOS</button></div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.tracker.tracking.enabled` | `Boolean` | true |

</div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.tracker.tracking.enabled` | `Bool` | true |

</div>
</div>


### Enable/disable auto-tracking
---


<div class="admonition admonition-warning"><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="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z" /></svg></div><div class="admonition-body"><div class="admonition-content">

Autotracking is **NOT** available when building apps with Jetpack Compose (Android) and SwiftUI (iOS).

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


This parameter specifies if the [auto-tracking feature](/developers/mobile-sdk/event-tracking#auto-tracking) is enabled.
  
Available on: **Android**, **iOS**.


<div class="content-tabs" data-tab-group="tabgrp-1221">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1221-0" data-tab-group="tabgrp-1221" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1221-1" data-tab-group="tabgrp-1221">iOS</button></div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.tracker.autoTracking.enabled` | `Boolean` | true |

</div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.tracker.autoTracking.enabled` | `Bool` | true |

</div>
</div>


### Require/do not require backend time synchronization to send events
---
This parameter specifies if events are sent when the server time synchronization has failed.
  
Available on: **Android**, **iOS**, **React Native**, **Flutter**.


<div class="content-tabs" data-tab-group="tabgrp-1222">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1222-0" data-tab-group="tabgrp-1222" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1222-1" data-tab-group="tabgrp-1222">iOS</button><button class="tab-button" data-tab-id="tabgrp-1222-2" data-tab-group="tabgrp-1222">React Native</button><button class="tab-button" data-tab-id="tabgrp-1222-3" data-tab-group="tabgrp-1222">Flutter</button></div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.tracker.isBackendTimeSyncRequired` | `Boolean` | true |

</div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.tracker.isBackendTimeSyncRequired` | `Bool` | true |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1222-2" data-tab-group="tabgrp-1222">

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.Settings.tracker.isBackendTimeSyncRequired` | `Bool` | true |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1222-3" data-tab-group="tabgrp-1222">

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.tracker.isBackendTimeSyncRequired` | `bool` | true |

</div>
</div>


### Minimum number of events in queue
---
This parameter sets the minimum number of events in queue required to send the queue.
  
Available on: **Android**, **iOS**, **React Native**, **Flutter**.


<div class="content-tabs" data-tab-group="tabgrp-1223">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1223-0" data-tab-group="tabgrp-1223" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1223-1" data-tab-group="tabgrp-1223">iOS</button><button class="tab-button" data-tab-id="tabgrp-1223-2" data-tab-group="tabgrp-1223">React Native</button><button class="tab-button" data-tab-id="tabgrp-1223-3" data-tab-group="tabgrp-1223">Flutter</button></div>

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

| Method | Type | Default | Minimum | Maximum |
| --- | --- | --- | --- | --- |
| `Synerise.settings.tracker.setMinimumBatchSize(value)` | `Integer` | 10 | 1 | 100 |

</div>

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

| Parameter | Type | Default | Minimum | Maximum |
| --- | --- | --- | --- | --- |
| `Synerise.settings.tracker.minBatchSize` | `Int` | 10 | 1 | 100 |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1223-2" data-tab-group="tabgrp-1223">

| Parameter | Type | Default | Minimum | Maximum |
| --- | --- | --- | --- | --- |
| `Synerise.Settings.tracker.minBatchSize` | `number` | 10 | 1 | 100 |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1223-3" data-tab-group="tabgrp-1223">

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.tracker.minBatchSize` | `int` | 10 | 1 | 100 |

</div>
</div>




<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">

If the [timer](/developers/mobile-sdk/settings#timeout-to-send-events-automatically) runs out, events are sent even if the queue is smaller than defined in **minBatchSize**.

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


### Maximum number of events in queue
---
This parameter sets the maximum number of events which may be sent in a single batch.
  
Available on: **Android**, **iOS**, **React Native**, **Flutter**.


<div class="content-tabs" data-tab-group="tabgrp-1224">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1224-0" data-tab-group="tabgrp-1224" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1224-1" data-tab-group="tabgrp-1224">iOS</button><button class="tab-button" data-tab-id="tabgrp-1224-2" data-tab-group="tabgrp-1224">React Native</button><button class="tab-button" data-tab-id="tabgrp-1224-3" data-tab-group="tabgrp-1224">Flutter</button></div>

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

| Method | Type | Default | Minimum | Maximum |
| --- | --- | --- | --- | --- |
| `Synerise.settings.tracker.setMaximumBatchSize(value)` | `Integer` | 100 | 1 | 100 |

</div>

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

| Parameter | Type | Default | Minimum | Maximum |
| --- | --- | --- | --- | --- |
| `Synerise.Settings.tracker.maxBatchSize` | `number` | 100 | 1 | 100 |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1224-2" data-tab-group="tabgrp-1224">

| Parameter | Type | Default | Minimum | Maximum |
| --- | --- | --- | --- | --- |
| `Synerise.Settings.tracker.maxBatchSize` | `number` | 100 | 1 | 100 |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1224-3" data-tab-group="tabgrp-1224">

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.tracker.maxBatchSize` | `int` | 100 | 1 | 100 |

</div>
</div>


### Timeout to send events automatically
---
This parameter sets the time (in milliseconds for Android, in seconds for other SDKs) required before an attempt is made to send the queue.
  
Available on: **Android**, **iOS**, **React Native**, **Flutter**.


<div class="content-tabs" data-tab-group="tabgrp-1225">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1225-0" data-tab-group="tabgrp-1225" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1225-1" data-tab-group="tabgrp-1225">iOS</button><button class="tab-button" data-tab-id="tabgrp-1225-2" data-tab-group="tabgrp-1225">React Native</button><button class="tab-button" data-tab-id="tabgrp-1225-3" data-tab-group="tabgrp-1225">Flutter</button></div>

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

| Method | Type | Default | Minimum | Maximum |
| --- | --- | --- | --- | --- |
| `Synerise.settings.tracker.setAutoFlushTimeout(value)` | `TimeInterval` | 5000 | 50 | - |

</div>

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

| Parameter | Type | Default | Minimum | Maximum |
| --- | --- | --- | --- | --- |
| `Synerise.settings.tracker.autoFlushTimeout` | `TimeInterval` | 5.0 | 0.5 | - |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1225-2" data-tab-group="tabgrp-1225">

| Parameter | Type | Default | Minimum | Maximum |
| --- | --- | --- | --- | --- |
| `Synerise.Settings.tracker.autoFlushTimeout` | `number` | 5.0 | 0.5 | - |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1225-3" data-tab-group="tabgrp-1225">

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.tracker.autoFlushTimeout` | `double` | 5.0 | 0.5 | - |

</div>
</div>



<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">

If the [minimum queue size](/developers/mobile-sdk/settings#minimum-number-of-events-in-queue) is met, events are sent even if the timer has not run out.

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


### Events triggering flush mechanism
---
This parameter sets an array of event 'action' values which trigger the flush mechanism.

The list can be modified or cleared - including removing the default values.
  
Available on: **Android** (5.17.0 or newer), **iOS** (4.17.0 or newer).


<div class="content-tabs" data-tab-group="tabgrp-1226">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1226-0" data-tab-group="tabgrp-1226" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1226-1" data-tab-group="tabgrp-1226">iOS</button></div>

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

| Parameter | Type | Default | Min. SDK version |
| --- | --- | --- | --- |
| `Synerise.settings.tracker.eventsTriggeringFlush` | `List<String>` | ["push.click", "push.view", "push.notView", "push.button.click", "push.dismiss"] | 5.17.0 |

</div>

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

<div class="admonition admonition-important"><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="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

In iOS, `push.view` events are handled by the Notification Service Extension and always sent immediately, regardless of this setting.

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


| Parameter | Type | Default | Min. SDK version |
| --- | --- | --- | --- |
| `Synerise.settings.tracker.eventsTriggeringFlush` | `[String]` | ["push.openInApp", "push.click", "push.button.click", "push.dismiss"] | 4.17.0 |

</div>
</div>


### Automatic location event sending
---
This parameter specifies if location events are sent automatically.
  
Available on: **Android**, **iOS**.


<div class="content-tabs" data-tab-group="tabgrp-1227">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1227-0" data-tab-group="tabgrp-1227" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1227-1" data-tab-group="tabgrp-1227">iOS</button></div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.tracker.locationAutomatic` | `Boolean` | false |

</div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.tracker.locationAutomatic` | `Bool` | false |

</div>
</div>


### Auto-tracking mode
---
This parameter parameter defines the [auto-tracking](/developers/mobile-sdk/event-tracking#auto-tracking-configuration) mode.
  
Available on: **Android**, **iOS**.


<div class="content-tabs" data-tab-group="tabgrp-1228">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1228-0" data-tab-group="tabgrp-1228" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1228-1" data-tab-group="tabgrp-1228">iOS</button></div>

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

- `PLAIN` - listeners are set to track screen visits only.
- `FINE`  - listeners are attached to nearly everything that is clickable in your app, including screen visits.

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.tracker.autoTracking.trackMode` | TrackMode | FINE |

</div>

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

- `.disabled` - listeners are disabled (default).
- `.plain` - listeners are set to on-click only.
- `.fine` - listeners are attached to nearly everything in your app (even to activities and `viewDidAppear`, the method that records [**VisitedScreen**](/developers/mobile-sdk/class-reference/ios/events#visitedscreenevent) events).

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.tracker.autoTracking.mode` | `TrackerAutoTrackMode` | .disabled |

</div>
</div>


### Classes excluded from auto-tracking
---
This parameter excludes classes from auto-tracking.
  
Available on: **Android**, **iOS**.


<div class="content-tabs" data-tab-group="tabgrp-1229">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1229-0" data-tab-group="tabgrp-1229" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1229-1" data-tab-group="tabgrp-1229">iOS</button></div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.tracker.autoTracking.excludedClasses` | `List<Object>` | [] |

</div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.tracker.autoTracking.excludedClasses` | `[AnyClass]` | [] |

</div>
</div>


### View Tags excluded from auto-tracking
---
This parameter excludes view tags from [auto-tracking](/developers/mobile-sdk/event-tracking#auto-tracking-configuration).
  
Available on: **iOS**.


<div class="content-tabs" data-tab-group="tabgrp-1230">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1230-0" data-tab-group="tabgrp-1230" data-tab-active="true">iOS</button></div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.tracker.autoTracking.excludedViewTags` | `[Int]` | [] |

</div>
</div>


## Injector

### Enable/disable automatic starting of mobile campaigns (deprecated)
---
This parameter specifies if walkthrough is processed automatically or not. - **DEPRECATED**
  
Available on: **Android**, **iOS**, **React Native**, **Flutter**.


<div class="content-tabs" data-tab-group="tabgrp-1231">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1231-0" data-tab-group="tabgrp-1231" data-tab-active="true">Android</button><button class="tab-button" data-tab-id="tabgrp-1231-1" data-tab-group="tabgrp-1231">iOS</button><button class="tab-button" data-tab-id="tabgrp-1231-2" data-tab-group="tabgrp-1231">React Native</button><button class="tab-button" data-tab-id="tabgrp-1231-3" data-tab-group="tabgrp-1231">Flutter</button></div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.injector.automatic` | `Boolean` | false |

</div>

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

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.injector.automatic` | `Bool` | false |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1231-2" data-tab-group="tabgrp-1231">

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.Settings.injector.automatic` | `boolean` | false |

</div>

<div class="tab-panel" data-tab-id="tabgrp-1231-3" data-tab-group="tabgrp-1231">

| Parameter | Type | Default |
| --- | --- | --- |
| `Synerise.settings.injector.automatic` | `bool` | false |

</div>
</div>




