---
title: "旧版安装指南"
description: "在 Android 上开始使用 Adapty，简化订阅设置与管理。"
---

请参阅下方兼容性表格，选择正确的 Adapty SDK 与 AdaptyUI SDK 版本组合。

| Adapty SDK 版本    | AdaptyUI 版本    |
| :----------------- | :--------------- |
| 2.7.x–2.9.x        | 2.0.x            |
| 2.10.0             | 2.1.2            |
| 2.10.2             | 2.1.3            |
| 2.11.0 - 2.11.3    | 2.11.0 - 2.11.2  |
| 2.11.5             | 2.11.3           |

您可以通过 Gradle 安装 Adapty SDK。

:::danger
发布应用前请检查发布清单

在发布应用之前，请务必仔细阅读[发布清单](release-checklist)。该清单确保您已完成所有必要步骤，并提供评估集成成功与否的标准。
:::

### 通过 Gradle 安装 \{#install-via-gradle\}

<Tabs groupId="current-os" queryString>
  <TabItem value="module-level build.gradle" label="module-level build.gradle" default>

```groovy showLineNumbers
dependencies {
    ...
    implementation 'io.adapty:android-sdk:2.11.5'
    implementation 'io.adapty:android-ui:2.11.3'
}
```

</TabItem>
<TabItem value="module-level build.gradle.kts" label="module-level build.gradle.kts" default>

```kotlin showLineNumbers
dependencies {
    ...
    implementation("io.adapty:android-sdk:2.11.5")
    implementation("io.adapty:android-ui:2.11.3")
}
```

</TabItem>
<TabItem value="version catalog" label="version catalog" default>

```toml showLineNumbers
//libs.versions.toml

[versions]
..
adapty = "2.11.5"
adaptyUi = "2.11.3"

[libraries]
..
adapty = { group = "io.adapty", name = "android-sdk", version.ref = "adapty" }
adapty-ui = { group = "io.adapty", name = "android-ui", version.ref = "adaptyUi" }

//module-level build.gradle.kts

dependencies {
    ...
    implementation(libs.adapty)
    implementation(libs.adapty.ui)
}
```

</TabItem>
</Tabs>

如果依赖无法解析，请确认您的 Gradle 脚本中包含 `mavenCentral()`。

<details>
   <summary>添加方法说明</summary>

如果您的项目 `settings.gradle` 中没有 `dependencyResolutionManagement`，请在顶层 `build.gradle` 的 repositories 末尾添加以下内容：

```groovy showLineNumbers title="top-level build.gradle"
allprojects {
    repositories {
        ...
        mavenCentral()
    }
}
```

否则，请在 `settings.gradle` 的 `dependencyResolutionManagement` 部分的 `repositories` 中添加以下内容：

```groovy showLineNumbers title="settings.gradle"
dependencyResolutionManagement {
    ...
    repositories {
        ...
        mavenCentral()
    }
}
```

</details>

### 配置 Proguard \{#configure-proguard\}

请在您的 Proguard 配置中添加 `-keep class com.adapty.** { *; }`。

### 配置 Adapty SDK \{#configure-adapty-sdk\}

在您的 `Application` 类中添加以下内容：

<Tabs groupId="current-os" queryString>
  <TabItem value="kotlin" label="Kotlin" default>

```kotlin showLineNumbers
override fun onCreate() {
    super.onCreate()
    Adapty.activate(
      applicationContext,
      AdaptyConfig.Builder("PUBLIC_SDK_KEY")
          .withObserverMode(false) //default false
          .withCustomerUserId(customerUserId) //default null
          .withIpAddressCollectionDisabled(false) //default false
          .build()
    )  
      
    //OR 
    //the method is deprecated since Adapty SDK v2.10.5
    
    Adapty.activate(applicationContext, "PUBLIC_SDK_KEY", observerMode = false, customerUserId = "YOUR_USER_ID")
}
```

</TabItem>
<TabItem value="java" label="Java" default>

```java showLineNumbers
@Override
public void onCreate() {
    super.onCreate();
    Adapty.activate(
      applicationContext,
      new AdaptyConfig.Builder("PUBLIC_SDK_KEY")
          .withObserverMode(false) //default false
          .withCustomerUserId(customerUserId) //default null
          .withIpAddressCollectionDisabled(false) //default false
          .build()
    );
  
    //OR
    //the method is deprecated since Adapty SDK v2.10.5
  
    Adapty.activate(getApplicationContext(), "PUBLIC_SDK_KEY", false, "YOUR_USER_ID");
}
```

</TabItem>
</Tabs>

配置参数说明：

| 参数                        | 是否必填 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| --------------------------- | -------- |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| apiKey                      | 必填     | 您可以在 Adapty 应用设置的 **Public SDK key** 字段中找到该密钥：[**App settings** -> **General** 标签页 -> **API keys** 子章节](https://app.adapty.io/settings/general)。请确保使用 **Public SDK key** 初始化 Adapty，**Secret key** 仅用于[服务端 API](getting-started-with-server-side-api)。                                                                                            |
| observerMode                | 可选     | 布尔值，用于控制[观察者模式](observer-vs-full-mode)。如果您自行处理购买和订阅状态，并仅使用 Adapty 发送订阅事件和分析数据，请开启此选项。默认值为 `false`。🚧 在观察者模式下，Adapty SDK 不会关闭任何交易，请确保您自行处理。                                                                                                                                                                                                                                |
| customerUserId              | 可选     | 您系统中的用户标识符。我们会在订阅和分析事件中发送该值，以将事件归因到正确的用户画像。您也可以在 [**Profiles and Segments**](https://app.adapty.io/profiles/users) 菜单中通过 `customerUserId` 查找用户。如果在初始化 Adapty 时尚无用户 ID，可以稍后使用 `.identify()` 方法设置。详情请参阅[用户识别](android-identifying-users)章节。 |
| IpAddressCollectionDisabled | 可选     | 布尔参数。设为 `true` 可禁用用户 IP 地址的收集。默认值为 `false`。该参数仅适用于 `AdaptyConfig.Builder`。                                                                                                                                                                                                                                                                                                                                                         |

:::note
**SDK 密钥**对每个应用都是唯一的，如果您有多个应用，请确保选择正确的密钥。
:::