コンテンツにスキップ

最後に受信したプッシュ通知

最後に受信したプッシュ通知の情報を取得することができます。
ウェブページ側で受信したプッシュ通知の内容を表示したり、情報を利用して動的にページを生成する場合に利用します。

最後に受信したプッシュ通知の取得

最後に受信したプッシュ通知を取得することができます。

取得できる情報

項目 プロパティ名 内容
通知ID notificationId プッシュ通知ごとに割り当てられる識別子
タイトル title プッシュ通知のタイトル
本文 body プッシュ通知の本文
拡張プロパティ extendedProperty 拡張プロパティまたは1つ目のアクションボタンに設定したURL
通知クリック状態 isClickedNotification 端末の通知一覧でクリック(タップ)されたか
受信日時 receivedDate 端末がプッシュ通知を受信した日時(Unixtime秒)

JavaScriptのメソッド

以下のJavaScriptのメソッドを使用してセグメントの登録を行います。

rf_getLastNotification()

呼び出しサンプル

Example
<script>
    rf_getLastNotification().then((notification) => {
        var message = "";
        message += "タイトル: " + notification.title + "\n";
        message += "本文: " + notification.body + "\n";
        message += "通知ID: " + notification.notificationId + "\n";
        message += "拡張プロパティ: " + notification.extendedProperty + "\n";
        message += "クリックされたか: " + (notification.isClickedNotification == 0 ? "いいえ" : "はい") + "\n";

        console.log(message);

    }).catch((error) => {

    });
</script>



最後に受信したプッシュ通知のクリア

保存されている受信されたプッシュ通知を削除します。

JavaScriptのメソッド

以下のJavaScriptのメソッドを使用してセグメントの登録を行います。

rf_clearLastNotification()

呼び出しサンプル

Example
<script>
    rf_clearLastNotification().then((result) => {
    alert("通知削除完了!");
    }).catch((error) => {
    alert("通知削除失敗!");
    });    
</script>



拡張プロパティの削除

保存されているプッシュ通知の情報から拡張プロパティのみを削除します。

JavaScriptのメソッド

以下のJavaScriptのメソッドを使用してセグメントの登録を行います。

rf_clearExtendedProperty()

呼び出しサンプル

Example
<script>
    rf_clearExtendedProperty().then((result) => {
    alert("拡張プロパティ削除完了");
    }).catch((error) => {
    alert("拡張プロパティ削除失敗");
    });    
</script>



通知クリック状態の変更

保存されているプッシュ通知の情報からクリック状態の変更を行います。

JavaScriptのメソッド

以下のJavaScriptのメソッドを使用してセグメントの登録を行います。

rf_updateClickNotificationStatus(clicked)
パラメータ 内容
clicked クリック状態。 true:クリックされた false:クリックされていない

呼び出しサンプル

Example
<script>
    rf_updateClickNotificationStatus(true).then((result) => {
    alert("クリック状態変更完了");
    }).catch((error) => {
    alert("クリック状態変更失敗");
    });    
</script>



実装参考例

以下の参考例ではエディタ内に埋め込む実装方法を使用しています。

投稿作成画面のブロックにある「カスタムHTML」を任意の場所に設置します。

設置したカスタムHTMLブロック内にJavaScriptを埋め込みます。

実装例

以下の例ではボタンを設置して、各ボタンに最後に受信したプッシュ通知に関するメソッドを登録しています。

Example
<button id="getLastNotificationButton" type="button">最後の通知情報</button>
<button id="clearLastNotificationButton" type="button">最後の通知情報削除</button>
<button id="clearExtendedPropButton" type="button">拡張プロパティ情報削除</button>
<button id="updateStatusButton" type="button">クリック状態変更</button>

<script>
    const getLastNotificationBtn = document.getElementById('getLastNotificationButton');
    getLastNotificationBtn.addEventListener('click', function() {
        rf_getLastNotification().then((notification) => {
            var message = "";
            message += "タイトル: " + notification.title + "\n";
            message += "本文: " + notification.body + "\n";
            message += "通知ID: " + notification.notificationId + "\n";
            message += "拡張プロパティ: " + notification.extendedProperty + "\n";
            message += "クリックされたか: " + (notification.isClickedNotification == 0 ? "いいえ" : "はい") + "\n";

            console.log(message);
        }).catch((error) => {
            console.log(error);
        });
    });

    const clearLastNotificationBtn = document.getElementById('clearLastNotificationButton');
    clearLastNotificationBtn.addEventListener('click', function() {
        rf_clearLastNotification().then((result) => {
        alert("通知削除完了!");
        }).catch((error) => {
        alert("通知削除失敗!");
        });
    });

    const clearExtendedPropBtn = document.getElementById('clearExtendedPropButton');
    clearExtendedPropBtn.addEventListener('click', function() {
        rf_clearExtendedProperty().then((result) => {
        alert("拡張プロパティ削除完了");
        }).catch((error) => {
        alert("拡張プロパティ削除失敗");
        });
    });

    const updateStatusBtn = document.getElementById('updateStatusButton');
    updateStatusBtn.addEventListener('click', function() {
        rf_updateClickNotificationStatus(true).then((result) => {
        alert("クリック状態変更完了");
        }).catch((error) => {
        alert("クリック状態変更失敗");
        });
    });
</script>