# アプリメッセージ

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

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

## 前提条件

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

* iOSアプリ
* iOS 11.0以降がインストールされたデバイスまたはエミュレーター
* App MessagesをサポートするPushSDKリリース（以下のバージョン対応表を参照）

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

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

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

<table><thead><tr><th width="191">SDK</th><th>App Messagesを含む最初のバージョン</th></tr></thead><tbody><tr><td><a href="">Objective-C / Swift</a></td><td>1.3.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="Swift Package Manager" %}
Xcodeのプロジェクトナビゲーターパネル内で `Package Dependencies`を見つけて右クリックし、 `Pushly` を選択します。 `Update Package`.

<figure><img src="https://1832353165-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lry9Z27iWOZyQEGAgY7%2Fuploads%2F9faSouNBrEPdCAgMZh4r%2Fimage.png?alt=media&#x26;token=aca77332-b0b7-49d8-9d8a-1c7606950e3f" alt=""><figcaption></figcaption></figure>

更新後にパッケージが 1.3.0 以上でない場合は、プロジェクトナビゲータでプロジェクトを選択し、プロジェクトを選択してから、次へ移動します `Package Dependencies`。次を選択します `Pushly` に移動し、 `Dependency Rule` が `Up to Next Major Version` を、1.3.0以上を対象として。

<figure><img src="https://1832353165-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lry9Z27iWOZyQEGAgY7%2Fuploads%2FGsUeegTRGVruLueDjKzv%2Fimage.png?alt=media&#x26;token=78a89577-2661-4c17-812f-442a324ac9cc" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="CocoaPods" %}

* 次を対象にしていることを確認してください `'Pushly', '>= 1.3', '< 2.0'` をPodfileに記載してください。
* 実行 `pod update Pushly`
* Podfile.lockを確認して、最新バージョンがダウンロードされていることを確認してください。
  {% 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, withValue: String)` メソッドシグネチャを使用します。

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

```swift
PushSDK.AppMessages.trigger(condition: "enabled_subscription", withValue: "true")
```

{% endcode %}
{% endtab %}

{% tab title="Objective-C" %}

```objectivec
[PushSDKAppMessages triggerCondition:@"enabled_subscription" withValue:@"true"];
```

{% endtab %}
{% endtabs %}

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

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

```swift
PushSDK.AppMessages.trigger(conditions: [
    "enabled_subscription": "true",
    "subscriber_tier": "premium"
])
```

{% endcode %}
{% endtab %}

{% tab title="Objective-C" %}

```objectivec
[PushSDKAppMessages triggerConditions:@{
    @"enabled_subscription" : @"true",
    @"subscriber_tier": @"premium"
}];
```

{% endtab %}
{% endtabs %}

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

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