> ## Documentation Index
> Fetch the complete documentation index at: https://moengage.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# リアルタイムトリガー

> iOS でユーザーがイベントを実行したときに即座に発火する、デバイストリガー型プッシュ通知を設定します。

リアルタイムデバイストリガーは、トリガーイベント(キャンペーン作成時に構成)が SDK の [trackEvent:](https://www.moengage.com/docs/developer-guide/ios-sdk/data-tracking/basic/tracking-events) メソッドでトラッキングされるたびに、デバイス内で即座にトリガーされるプッシュ通知です。この場合、通知はデバイス内でトリガーされるため、オフラインの状況でも通知を表示できます。

<Info>
  リアルタイムトリガーは SDK バージョン [4.0.0](/docs/ja/release-notes/sdks/ios) 以降で利用できます
</Info>

# SDK のインストール

## Swift Package Manager を使用したインストール(推奨)

MoEngageRealTimeTrigger は SDK バージョン 1.2.0 から SPM でサポートされています。統合するには、SDK バージョン 9.23.0 以上の場合は GitHub URL [https://github.com/moengage/apple-sdk.git](https://github.com/moengage/apple-sdk.git) を、それ以外の SDK バージョンの場合は [https://github.com/moengage/MoEngage-iOS-SDK.git](https://github.com/moengage/MoEngage-iOS-SDK.git) を使用し、ブランチを master または必要なバージョンに設定します。

## CocoaPod を使用したインストール

<Info>
  **情報**

  CocoaPods は非推奨になりつつあります。MoEngage では、すべての新規統合に Swift Package Manager を使用することを推奨しています。CocoaPods の詳細については、[CocoaPods 統合ガイド](https://www.moengage.com/docs/developer-guide/ios-sdk/sdk-integration/basic/integration-through-cocoa-pods)を参照してください。
</Info>

MoEngage-iOS-SDK バージョン 8.2.0 以降、MoEngageRealTimeTrigger モジュールは SDK から MoEngageRealTimeTrigger という別モジュールとして分離されたため、個別に追加する必要があります。

以下のように podfile に依存関係を追加して、RealTimeTrigger フレームワークを統合します。

<CodeGroup>
  ```ruby Ruby wrap theme={null}
  pod 'MoEngage-iOS-SDK/RealTimeTrigger',
  ```
</CodeGroup>

次に `pod install` を実行してフレームワークをインストールします。

# 手動同期

MoEngage SDK は、アプリが**起動されたとき、またはフォアグラウンドに移行したとき**に、すべてのリアルタイムトリガーキャンペーンを同期します。ただし、バックグラウンドタスクでデバイストリガーを手動で同期する必要がある場合は、以下のように [*syncRealTimeTriggers(forAppID:andCompletionHandler:)*](https://moengage.github.io/ios-api-reference/Classes/MoEngageSDKRealTimeTrigger.html#/c:@M@MoEngageRealTimeTrigger@objc\(cs\)MoEngageSDKRealTimeTrigger\(im\)syncRealTimeTriggersForAppID:andCompletionHandler:) を使用します。

<CodeGroup>
  ```swift Swift wrap theme={null}
  MoEngageSDKRealTimeTrigger.sharedInstance.syncRealTimeTriggers(forAppID: "YOUR_WORKSPACE_ID") { rtSyncCompleted in
            if(rtSyncCompleted){
               print("Real-Time trigger sync successfull")
        }
  }
  ```

  ```objective-c Objective C wrap theme={null}
  [[MoEngageSDKRealTimeTrigger sharedInstance] syncRealTimeTriggersForAppID:@"YOUR_WORKSPACE_ID" andCompletionHandler:^(BOOL rtSyncCompleted) {
        if (rtSyncCompleted) {
              NSLog(@"Real-Time trigger sync successfull");
        }
  }];
  ```
</CodeGroup>

# 追加のコールバック

<Warning>
  **注意**

  iOS 10 以降では、MoEngage SDK は通知のトリガーに UserNotification フレームワークを使用し、通知ペイロードの取得と処理に **UNUserNotificationCenter** のコールバックを利用します。そのため、こちらの[ドキュメント](https://www.moengage.com/docs/developer-guide/ios-sdk/push/basic/ios-push-integration-tutorial#step-1-implement-notification-service-extension-nse)に記載されているとおり、UNUserNotificationCenter のデリゲートコールバック内で SDK メソッドが呼び出されていることを確認してください。
</Warning>
