# アプリメッセージ

App Messagesは、Push NotificationsやLive Activitiesとは異なり、サブスクリプショントークンを必要とせずにユーザー基盤と対話し、エンゲージすることを可能にします。App Messageは、プログラムで提供できるカスタム条件を含む複数の基準に基づいて、自動的に表示するよう設定できます。

カスタム条件を使用したApp Messagesでは、PushSDKが、これらの条件が満たされたことを通知するための便利なメソッドや、特定のライフサイクルイベントを監視する機能を提供します。

## 前提条件

SDKとApp Messagesを統合する前に、以下の要件を満たす必要があります:

* 次を使用するアプリ [<mark style="color:青色;">Jetpack（AndroidX）</mark>](https://developer.android.com/jetpack/androidx/migrate)
* Google Play ストアサービスがインストールされた、API 19+（Android 4.4）で動作するAndroid端末またはエミュレータ。
* App MessagesをサポートするPushSDKリリース（以下のバージョン対応表を参照）

## ステップ 1: Android SDK のセットアップ

アプリケーションが **まだ** PushSDKを使用していない場合は、ネイティブアプリのPushセットアップガイドを参照してください。 [Android](https://documentation.pushly.com/pushly-ja/integration/implementation-steps/android).

すでにPushSDKを使用しているアプリケーションでは、App Messageサポートを含む後続のバージョンへアップグレードする必要がある場合があります。以下の表を使用して、インストールのアップグレードが必要かどうかを確認してください。

<table><thead><tr><th width="191">SDK</th><th>App Messagesを含む最初のバージョン</th></tr></thead><tbody><tr><td><a href="">Java / Kotlin</a></td><td>1.2.0+</td></tr><tr><td><a href="../../react-native">React Native SDK</a></td><td>1.2.0+</td></tr><tr><td><a href="../../flutter">Flutter SDK</a></td><td>1.2.0+</td></tr></tbody></table>

{% tabs %}
{% tab title="app/build.gradle" %}

* 次を対象にしていることを確認してください `com.pushly.android:pushsdk:[1.2, 1.3[` アプリの gradle に追加します。
* gradle の同期を実行します。

```gradle
dependencies {
    ...
    implementation 'com.pushly.android:pushsdk:[1.2, 1.3['
}
```

{% endtab %}
{% endtabs %}

## ステップ2: App Messageを作成してスケジュールする

Pushly Platformを使用して、最初の [App Message](https://documentation.pushly.com/pushly-ja/platform/apurimessji).

## ステップ3:（任意）App Messageのカスタム条件をトリガーする

カスタム条件を使用する場合、PushSDKを使ってこれらの条件をプログラムで提供し、その後、現在アクティブで、提供された条件に一致するApp Messagesを評価する処理がトリガーされます。

多くの場合、1つの条件を一度にトリガーして評価します。このような場合は、 `trigger(condition: String, value: String)` メソッドシグネチャを使用します。

{% tabs %}
{% tab title="Kotlin" %}
{% code fullWidth="false" %}

```kotlin
PushSDK.AppMessages.trigger(condition = "enabled_subscription", value = "true")
```

{% endcode %}
{% endtab %}

{% tab title="Java" %}

```java
PushSDK.AppMessages.trigger("enabled_subscription", "true");
```

{% endtab %}
{% endtabs %}

ただし、評価のために複数の条件を一度にトリガーする方が便利な場合があります。そうした場合には、任意の数の条件を含む HashMap を次に渡すことができます。 `trigger(conditions: HashMap<String, String>)` メソッドシグネチャを使用します。

{% tabs %}
{% tab title="Kotlin" %}
{% code fullWidth="false" %}

```kotlin
PushSDK.AppMessages.trigger(conditions = hashMapOf(
    "enabled_subscription" to "true",
    "subscriber_tier" to "premium"
))
```

{% endcode %}
{% endtab %}

{% tab title="Java" %}

```java
PushSDK.AppMessages.trigger(Map.of(
    "enabled_subscription", "true",
    "subscriber_tier", "premium"
));
```

{% endtab %}
{% endtabs %}

## ステップ4:（任意）App Messageのライフサイクルイベントを監視する

こちらの [SDK コールバック](https://documentation.pushly.com/pushly-ja/integration/implementation-steps/android/sdkkrubakku#app-message-lifecycle-callbacks) ドキュメントを参照して、App Messagesのライフサイクルイベントの処理方法について確認してください。
