> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appcharge.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Implement the Callbacks

To implement the Auto Update SDK, include the following callback methods:

| Method                    | Description                                                                                                                                                                                                                                          |
| :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `onInitializationSuccess` | Triggered when SDK initialization is successful.                                                                                                                                                                                                     |
| `onUpdateStatus`          | Triggered when a new version of the app is available, and immediately after invoking the`checkForUpdate()`method.                                                                                                                                    |
| `onDownloadStarted`       | Triggered when permission to install has been granted by the player, and the download process begins. The SDK will attempt to download the new app version.                                                                                          |
| `onProgress`              | Triggered when the download is initiated and when every new byte or packet is downloaded thereafter. You may use it to show download progression in real-time.                                                                                       |
| `onDownloadEnded`         | Triggered when the download process is complete.                                                                                                                                                                                                     |
| `onInstallationReady`     | Triggered when the SDK is ready to start the installation process.                                                                                                                                                                                   |
| `onError`                 | Triggered when an error occurs during the update process, excluding initialization failures. Follow the instructions in the [Android Auto Update SDK troubleshooting](./troubleshooting)  article and try to re-initialize again based on the error. |

## Example code

Below is the example code for the implementation:

```kotlin theme={"system"}
bridgeAPI.init(this, config, object : IUpdateCallback {
    override fun onInitializationSuccess() {
        Log.v(tag, "Initialization successful.")
    }

    override fun onUpdateStatus(status: UpdateStatusModel) {
        Log.v(tag, "Checking whether a new version is available: ${status.isUpdateAvailable}")
    }

    override fun onDownloadStarted() {
        Log.v(tag, "Downloading the new app version.")
    }
    
    override fun onProgress(progress: Int) {
        Log.v(tag, "Progress: $progress")
    }

    override fun onDownloadEnded() {
        Log.v(tag, "The new app version has been downloaded.")
    }

    override fun onInstallationReady() {
        Log.v(tag, "The new app version has been downloaded and is ready to install.")
    }

    override fun onError(errorCode: Int) {
        Log.v(tag, "Error: $errorCode")
    }
})
```
