---
title: "Android SDKでGoogle Playメッセージを制御する"
description: "支払い拒否通知などのGoogle Playアプリ内メッセージを表示するタイミングをAndroidアプリで制御し、フローやオンボーディングの妨げにならないようにします。"
---

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

Google Playは、サブスクリプションの支払いが拒否されて支払い方法の更新が必要な場合など、ユーザーにメッセージを表示することがあります。Google Playはアプリがリクエストしたときのみ、アプリの上にこれらのメッセージを表示します。

デフォルトでは、Adapty SDK はアプリの `Activity` が起動するたびに 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\}

アプリがGoogle Playのメッセージでユーザーの操作を妨げない状態に達したとき（例えば、ユーザーがフローを閉じた後やオンボーディングを完了した後など）、メッセージを表示する`Activity`を引数として`showStoreMessages`を呼び出してください：

<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`で再度メッセージをリクエストする場合などに使用します。