
## InitializationConfig
Class for additional initialization parameters.

**Declared In:**  
lib/main/initialization_config.dart

**Declaration:**  

<pre><code class="language-dart">class InitializationConfig</code></pre>


**Properties**
| Property | Type | Description |
| --- | --- | --- |
| **requestValidationSalt** | String | [Simple Profile Authentication](/developers/mobile-sdk/user-identification-and-authorization/simple-authentication) salt |

---
---

## Synerise
Main SDK class responsible for managing all Synerise modules and core features.
  
**Declared In:**  
lib/synerise.dart 

**Related To:**  
[SyneriseInitializer](/developers/mobile-sdk/class-reference/flutter/lifecycle#syneriseinitializer)  
[SettingsImpl](/developers/mobile-sdk/class-reference/flutter/modules#settings)  
[NotificationsImpl](/developers/mobile-sdk/class-reference/flutter/modules#notifications)  
[ClientImpl](/developers/mobile-sdk/class-reference/flutter/modules#client)  
[TrackerImpl](/developers/mobile-sdk/class-reference/flutter/modules#tracker)  
[InjectorImpl](/developers/mobile-sdk/class-reference/flutter/modules#injector)  
[ContentImpl](/developers/mobile-sdk/class-reference/flutter/modules#content)  

**Declaration:**

<pre><code class="language-Dart">class Synerise</code></pre>


**Properties:**
| Property | Type | Description |
| --- | --- | --- |
| **settings** | [SettingsImpl](/developers/mobile-sdk/class-reference/flutter/modules#settings) | Returns the Settings module |
| **notifications** | [NotificationsImpl](/developers/mobile-sdk/class-reference/flutter/modules#notifications) | Returns the Notifications module |
| **client** | [ClientImpl](/developers/mobile-sdk/class-reference/flutter/modules#client) | Returns the Client module |
| **tracker** | [TrackerImpl](/developers/mobile-sdk/class-reference/flutter/modules#tracker) | Returns the Tracker module |
| **injector** | [InjectorImpl](/developers/mobile-sdk/class-reference/flutter/modules#injector) | Returns the Injector module |
| **content** | [ContentImpl](/developers/mobile-sdk/class-reference/flutter/modules#content) | Returns the Content module |
  
**Methods:**

This method initializes Synerise.

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

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

```Dart
static SyneriseInitializer initializer()
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/lifecycle#initialization)

---

This method changes a Profile (formerly Client) API key dynamically.

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

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

```Dart
SyneriseInitializer changeApiKey(String apiKey)
```

</div>
</div>

[(Click for more details)](/developers/mobile-sdk/method-reference/flutter/lifecycle#change-profile-api-key-dynamically)

---

---
---

## SyneriseInitializer
Class responsible for initialization of the SDK.
  
**Declared In:**  
lib/main/synerise_initializer.dart  
  
**Declaration:**

<pre><code class="language-Dart">class SyneriseInitializer</code></pre>


**Methods:**

This method sets Profile API Key (formerly Client API Key) for the SDK initialization.

<pre><code class="language-Dart">SyneriseInitializer withApiKey(String apiKey)</code></pre>



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

Before version 2.0.0, this method was called `withClientApiKey`.

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


---

This method sets the Synerise API base URL for SDK initialization in a custom environment.

<pre><code class="language-Dart">SyneriseInitializer withBaseUrl(String baseUrl)</code></pre>


---

This method sets the salt string for request validation.

<pre><code class="language-Dart">SyneriseInitializer setRequestValidationSalt(String requestValidationSalt)</code></pre>


---

This method enables or disables console logs from Synerise SDK.

<pre><code class="language-Dart">SyneriseInitializer withDebugModeEnabled(bool debugModeEnabled)</code></pre>


---

This method enables or disables crash handling by Synerise SDK.

<pre><code class="language-Dart">SyneriseInitializer withCrashHandlingEnabled(bool crashHandlingEnabled)</code></pre>


---

This method chooses the type of mobile services to use:
- `gms` for Google Mobile Services (default)
- `hms` for Huawei Mobile Services (can only be used on Huawei devices)


  <pre><code class="language-Dart">SyneriseInitializer setMessagingServiceType(String messagingServiceType)</code></pre>


---

This method initializes Synerise.

<pre><code class="language-Dart">Future&lt;void&gt; init() async</code></pre>


