コンテンツにスキップ

イベント駆動型プッシュ

利用者の操作などアプリ内で発生したイベントをきっかけとして利用者にプッシュ通知を配信することができます。

利用できるプラン

イベント駆動型プッシュは有料プランでご利用可能です。

イベント駆動型プッシュできること

  • イベント発生から指定の時間経過後(30日以内)にプッシュ通知を配信
  • 変数を使ってメッセージのパーソナライズ

変数の利用

管理サイトでメッセージを作成する際に変数を適用したい箇所に"${}"を使います。
例: 「${name}さまへお得な情報をお届け!!」

アプリから、変数名と値の組み合わせを指定すると変換されてメッセージが配信されます。

例:アプリから「変数名:name 値:鈴木一郎」を指定して配信をリクエスト
「配信されるメッセージ: 鈴木一郎さまへお得な情報をお届け!!」

配信までの流れ

(管理サイトで行うこと)
1. 任意のイベントを作成
2. 配信するメッセージを作成して、作成したイベントを紐づける
3. 作成したメッセージを承認する

(アプリ側で行うこと)
1. SDKを使用して配信をリクエスト(後述)

メッセージ配信のリクエスト

//RichFlyerクラス
static void postMessage(final String[] events,
                        final Map<String, String> variables, 
                        final Integer standbyTime, 
                        final Context context, 
                        final RichFlyerPostingResultListener listener) 
パラメータ 内容
events 管理サイトで作成したメッセージに紐づいたイベントの配列。
variables 変数。変数名とその値のDictionaryセット。
standbyTime イベント発生からプッシュ通知配信までの待機時間(分)。最大43200分(30日間)まで指定可能。※未指定の場合は管理サイトで設定した値が適用されます。
context アプリケーションのContext
listener 処理完了時に呼び出されるリスナ


結果応答リスナ

処理の結果にRFResultオブジェクトとイベント投稿IDを渡します。

public interface RichFlyerPostingResultListener {
    public void onCompleted(RFResult result, String[] eventPostIds);
}

パラメータ 内容
result 結果を格納したオブジェクト。
eventPostIds イベント投稿ID。待機中のリクエストのキャンセルで使用できる。


イベント投稿ID

メッセージ配信リクエストが成功すると処理完了リスナでイベント投稿ID(eventPostIds)を取得できます。
リクエスト後、待機時間内であれば、この値を利用してメッセージ配信リクエストをキャンセルすることができます。
イベントに紐づいたメッセージが複数ある場合は、その数の分だけ応答されます。
待機時間を0にした場合は、同IDは応答されません。


実装例

Java

    String[] events = {"reserved"};
    Map<String, String> variables = new HashMap();
    variables.put("name", "鈴木一郎");
    variables.put("shop", "◯△商店");

    RichFlyer.postMessage(events, variables, standbyTime, getApplicationContext(), new RichFlyerPostingResultListener() {
        @Override
        public void onCompleted(RFResult result, String[] eventPostIds) {
            if (result.isResult()) {
                Log.d("RichFlyer", "メッセージ配信リクエスト成功");
            } else {
                Log.d("RichFlyer", result.getMessage() + "code:" + result.getErrorCode());
            }

        }
    });


配信のキャンセル

配信リクエストを行ったメッセージが待機時間内であればキャンセルを行うことができます。
※待機時間なし、待機時間経過後のメッセージはキャンセルできません。

//RichFlyerクラス
void cancelPosting(final String eventPostId, final Context context, final RichFlyerPostingResultListener listener)
パラメータ 内容
eventPostId イベント投稿ID。メッセージ配信リクエストの応答で取得できる。
context アプリケーションのContext
listener 処理完了時に呼び出されるリスナ


実装例

Java

String postId = "90793c40-9b20-4526-a898-4bc4d5cd5612";
RichFlyer.cancelPosting(postId, getApplicationContext(), new RichFlyerPostingResultListener() {
    @Override
    public void onCompleted(RFResult result, String[] eventPostIds) {
        if (result.isResult()) {
            Log.d("RichFlyer", "メッセージ配信キャンセル成功");
        } else {
            Log.d("RichFlyer", result.getMessage() + "code:" + result.getErrorCode());
        }
    }
});