# Initialization

### Initialization

In order to initialize Snapscreen, the following class method must be called in your custom Application class in **`onCreate()`**

```kotlin
class MyApplication: Application() {
    
    override fun onCreate() {
        super.onCreate()

        Snapscreen.setup(
            this, 
            "your-client-id", 
            "your-client-secret", 
            Environment.PRODUCTION
        )
    }
}
```

### Additional Information

For best results, locational information must be provided for the user on initialization. Within the SDK, set the users country and US state information using the parameters **country** and **usState**. For US customers, country and state information must be provided. For non-US customers, at least country should be provided.

```kotlin
Snapscreen.instance?.country = "US"
Snapscreen.instance?.usState = "NJ"
```

### Accessing SDK Instance

Once Snapscreen has been initialized, it can be retrieved by calling:

```kotlin
Snapscreen.instance
```
