バッジリセットの無効化
デフォルトでは、SDKはアプリアイコンのバッジを通知センター内のMoEngage通知の数に設定します。 バッジを自分で管理するには、アプリのInfo.plist に MoEngageBadgeUpdateEnabled キーを追加し、false に設定します。このキーはiOS SDK 10.13.0 からサポートされています。
Info.plist
通知のカスタムサウンド
アプリの通知にカスタムの通知音を設定できます。iOSプラットフォームでは、カスタム通知音として .aiff、.caf、.wav ファイルがサポートされています。そのためには、通知音のサウンドファイルがアプリバンドルに含まれていることを確認してください。これが完了したら、以下に示すように、ダッシュボードでキャンペーンを作成する際に通知サウンド(Rich Contentセクション内)にサウンドファイル名を指定すると、動作するようになります。
通知アクション
MoEngageは、ユーザーエンゲージメントとインタラクションを強化するためにプッシュ通知に含めることができるいくつかのアクションを提供しています。MoEngageのプッシュ通知で提供されるアクションの一部を以下に示します。- RichLanding: 指定されたURLは、Safari View Controllerを使用してアプリ内で開かれます。これにより、ユーザーはURLにアクセスしている間もアプリケーション内にとどまります。この機能はSDKによって処理されます。
- Navigate To Screen: ドキュメントの Notification Click Callback in the App に記載されているコールバックメソッドを実装して、必要なアクションを実行します。
- Deeplink: モバイルアプリ内の特定の場所やコンテンツにユーザーを直接移動させるために使用されます。
注
- ディープリンクを実装する際は、アプリをホワイトリストに登録するため、Info.plistの LSApplicationQueriesSchemes 配列にアプリのURLスキームを追加していることを確認してください。これを行わないと、iOS 9以降ではディープリンクが機能しません。
通知ペイロード
アプリに送信されるプッシュペイロードの例:- aps: このキーはiOSが通知を表示するために使用します。このキーには次のキーが含まれます。
- alert : メッセージの内容。
- title : 通知のタイトルを示します。
- subtitle : 通知のサブタイトルを示します。
- body : 通知のメッセージ本文を示します。
- badge: アプリアイコンの上に表示されるバッジ番号を示します。MoEngageプラットフォームでは、0/1の2つの値のみがサポートされています。値が1の場合、SDKはアプリアイコンのバッジ番号をインクリメントし、0の場合はバッジ番号がリセットされ、アプリアイコンにバッジは表示されません。
- sound: このキーは、通知の受信時に再生されるオーディオファイルのファイル名を示します。キャンペーン作成時にファイル名が指定されていない場合、OSのデフォルトサウンドを再生するために、このキーの値は “default” に設定されます。
- category: このキーは、通知に表示するアクションボタンのセットを決定するためにOSが使用します。また、存在する場合は、どのNotification Content Extensionターゲットを表示するかを決定するためにも同じカテゴリーがOSによって使用されます。
- content-available: このキーの値が1に設定されている場合、アプリがバックグラウンドにあると、バックグラウンドでアプリのコンテンツを更新するためのコールバック(
application:didReceiveRemoteNotification:fetchCompletionHandle)を受け取ります。このキーは、バックグラウンドでプッシュ通知を処理する必要がある場合にのみ使用してください。デフォルトでは、このキーは設定されていません。 - mutable-content: このキーは、すべてのキャンペーンでデフォルトで1に設定されています。これは、MORichNotificationで処理される通知の受信時に、Notification Service Extensionターゲットがコールバックを受け取るようにするためです。0に設定すると、拡張ターゲットはコールバックを受け取りません。
- app_extra: このキーには、アプリ開発者が使用するキー、つまりカスタムのキーと値のペアや、ナビゲーション用のscreenNameが含まれます。
- moe_deeplink: キャンペーン作成時に指定された場合、このキーにはディープリンクURLが含まれます。SDKはこのキーを処理し、ディープリンクURLが有効であれば開こうとします。
- screenName: このキーは、通知をクリックしたときにユーザーを移動させる画面名を示します。このナビゲーションはSDKでは行われません。このパラメーターに指定できる値は、アプリ開発者がプロジェクト内で定義する必要があります。キャンペーン作成時に指定された場合、通知ペイロードに含まれます。
screenNameパラメーターの値を解析して取得し、指定された画面に移動する部分は、アプリ開発者が実装する必要があります。 - screenData: キャンペーン作成時に入力されたカスタムのキーと値のペアが含まれます。アプリ開発者は任意のユースケースにこれを利用できます。
- moengage : SDKが使用するキーが含まれます。アプリ開発者は、ペイロードのこの部分に変更を加えないでください。また、必要に応じてペイロードのこの部分の構造を更新する可能性があるため、この部分の使用も避けてください(ただし、cid、media-attachment、media-type、app_idは変更しません)。
- silentPush: MoEngageから送信されるサイレントプッシュの場合、このキーが存在し、
1に設定されます。 - cid: キャンペーンの一意のID。
- app_id: キャンペーンが作成されたアカウントのApp ID。
- moe_campain_id および moe_campaign_name : 通知関連イベントの属性をトラッキングするためにAnalyticsモジュールで使用されます。
- inbox_expiry: このキーは、通知がアプリのInboxから削除されるタイムスタンプを示します。
- webUrl: キャンペーン作成時に指定された場合、このキーにはRich-landing URLが含まれます。SDKはこのキーを処理し、URL(有効な場合)をSFSafariViewControllerのインスタンスで開きます。プッシュ通知のクリック時にアプリ内でWebページを開きたい場合は、Rich-landingアクションを使用してください。例:
webUrl- https://www.google.com。 - couponCode: キャンペーン作成時に指定された場合、このキーにはクーポンコードが含まれます。通知をクリックしたときにこのキーがプッシュペイロードに存在すると、SDKはクーポンコードを含むアラートを表示し、ユーザーにクーポンをOSのクリップボードにコピーするオプションを提供します。例:
couponCode- APP200。 - media-attachment: ペイロード内のmedia-attachmentキーは、ダウンロード可能なメディアのURLを示します。
- media-type: media-attachmentで指定されたURLに含まれるメディアのタイプ(image/audio/video)。