---
title: "在 Android SDK 中控制 Google Play 消息"
description: "选择 Android 应用何时显示 Google Play 应用内消息（例如付款被拒通知），以免打断流程或用户引导。"
---

> **AI agents**: to search Adapty docs faster and with fewer tokens, install the Adapty skills: `npx adapty skills install --yes`

Google Play 有时需要向用户展示有关其订阅的消息——例如，订阅付款被拒、需要更新付款方式。这些消息会叠加显示在应用界面上，且仅在应用主动请求时才会弹出。

默认情况下，每次应用的 `Activity` 启动时，Adapty SDK 都会请求 Google Play 消息。消息会覆盖显示在该 `Activity` 上方，包括流程、用户引导或结账页面。如需自行控制消息显示时机，可将 SDK 切换为手动消息处理模式，并在不打扰用户的时机调用 `showStoreMessages`。

Google Play 会自行判断消息是否适用于该用户，因此请求并不总会显示消息。如果用户通过消息修复了支付方式，SDK 会将用户的购买信息与 Adapty 同步，您的[用户画像监听器](android-listen-subscription-changes)将收到更新后的访问等级。

:::warning
在手动模式下，SDK 不会自行请求 Google Play 消息。如果您的应用从未调用 `showStoreMessages`，支付失败的用户将不会在应用中看到相关提示。
:::

## 开始之前 \{#before-you-start\}

您需要 Adapty Android SDK 4.3.0 或更高版本。更早的版本不会请求 Google Play 消息。

## 启用手动处理 \{#enable-manual-handling\}

若要仅在应用调用 `showStoreMessages` 时才请求 Google Play 消息，请在[激活 SDK](sdk-installation-android#activate-adapty-module-of-adapty-sdk) 时将 `withStoreMessagesHandling` 设置为 `MANUAL`：

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

```kotlin showLineNumbers

AdaptyConfig.Builder("PUBLIC_SDK_KEY")
    .withStoreMessagesHandling(AdaptyConfig.StoreMessagesHandling.MANUAL) // AUTO is the default
    .build()
```

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

```java showLineNumbers

new AdaptyConfig.Builder("PUBLIC_SDK_KEY")
    .withStoreMessagesHandling(AdaptyConfig.StoreMessagesHandling.MANUAL) // AUTO is the default
    .build();
```

</TabItem>
</Tabs>

## 展示消息 \{#show-messages\}

当您的应用到达一个不会打扰用户的时机——例如，用户关闭流程或完成用户引导之后——请调用 `showStoreMessages`，并传入显示该消息的 `Activity`：

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

```kotlin showLineNumbers
Adapty.showStoreMessages(activity)
```

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

```java showLineNumbers
Adapty.showStoreMessages(activity);
```

</TabItem>
</Tabs>

该方法不返回任何结果。以下情况下，SDK 不会请求消息：

- **SDK 未激活**：请在 `Adapty.activate` 之后调用 `showStoreMessages`。
- **`Activity` 无法显示消息**：`Activity` 正在结束或已销毁，或其窗口尚未附加。请从用户当前可见的 `Activity` 中调用该方法。

在默认的 `AUTO` 模式下，你也可以调用 `showStoreMessages`——例如，在已运行的 `Activity` 上再次请求消息。