# Android SDK

***

{% hint style="danger" %} <mark style="color:red;">**Warning!**</mark>

Please note! We will be not able to receive and show your data without this step!
{% endhint %}

To connect your Android app to Appflow\.ai console you need to follow 3 steps during onboarding or using Settings=>Applications=>New Application

<figure><img src="https://1902080327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTUSTYqtR8RNNkx3qqWf9%2Fuploads%2FqXtCLzRi0YCx2VRZgDrr%2Fimage.png?alt=media&#x26;token=81fe8e36-c873-431d-8d29-03843d919963" alt=""><figcaption></figcaption></figure>

1. First step is to download app token. Download and put it into the assets folder.
2. Second step is Install SDK. Install via Gradle

a. If your project doesn't have dependencyResolutionManagement in your settings.gradle, add the following to your top-level build.gradle at the end of repositories：

```kotlin
/** top-level build.gradle */
allprojects {
    repositories {
        ...
        maven { url 'https://maven.appflow.ai/repository/sdk' }
    }
}
```

Otherwise add the following to your settings.gradle in repositories of dependencyResolutionManagement section：

```kotlin
/** settings.gradle */
dependencyResolutionManagement {
    ...
    repositories {
        ...
        maven { url 'https://maven.appflow.ai/repository/sdk' }
    }
}
```

b. add the dependency to your module-level build.gradle at the end of dependencies

```kotlin
/** module-level build.gradle */
dependencies {
    ...
    implementation 'com.imp:appflow:1.1.0'
}
```

3\. The step 3 is the most important - Initialize SDK

Add configuration file

Download the appflow-app-token.json file in the dash.appflow\.ai and add the file to the app\src\main\assets folder of the project&#x20;

Initialize&#x20;

Add the following to your Application class

```kotlin
override fun onCreate() {
    super.onCreate()
    Appflow.init(this)
}
```

If you want to know if the SDK is initialized, you can do the following

```kotlin
override fun onCreate() {
    super.onCreate()
    Appflow.init(this, AppflowConfig.Builder().build()) {
			//AppflowSDK initialization finished，do something
    }
}
```

Set user id (optional)

You can set the user id in the following way

```kotlin
override fun onCreate() {
    super.onCreate()
    Appflow.init(this, AppflowConfig.Builder().setAppUserID("your_user_id").build())
}
```

Enable SDK log (optional)&#x20;

You can enable SDK log output before initializing the SDK&#x20;

```kotlin
override fun onCreate() {
    super.onCreate()
    Appflow.setLogEnable(true)
    Appflow.init(this)
}
```

{% hint style="info" %}
Please, also follow the next step - adding keys for the RTDN access
{% endhint %}

{% hint style="danger" %} <mark style="color:red;">**Can't find topic name?**</mark>

Make sure you switched on [Google Pub/Sub](https://console.cloud.google.com/flows/enableapi?apiid=pubsub) for your project

* Find the Settings tab on your project.
* Click on "Stores"
* Then click "Connect to Google" in Google Developer Notification settings.
  {% endhint %}
