コンテンツにスキップ

プッシュ通知購読情報を取得してRichFlyerに登録

以下の手順で、Service Workerの登録オブジェクトを受け取り通知の購読処理を行います。
セグメントの登録を実施する場合は必ず先にこの処理を実行する必要があります。

RichFlyerライブラリ(rf-functions.js)とWebブラウザに搭載されている Push APIのPushManagerインターフェースを利用します。


1. 公開鍵を取得する
2. 購読処理を行う
3. 通知を受け取るブラウザを登録
4. 購読情報を登録する


公開鍵の取得

//rf-functions.js
rf_getServerPublicKey()


購読処理

//Push API - PushManager
PushManager.subscribe(options)
パラメータ 内容
options オプションの設定パラメータを含むオブジェクト。 詳細


通知を受けるブラウザの登録

//rf-functions.js
rf_activateDevice(sub)
パラメータ 内容
sub 購読情報オブジェクト(PushSubscription)


購読情報の登録

//rf-functions.js
rf_setSubscription(sub)
パラメータ 内容
sub 購読情報オブジェクト(PushSubscription)


Example
// 公開鍵の取得
const pKey = await rf_getServerPublicKey();

// PushManager.subscribe()に渡す引数を生成
const opt = {
    userVisibleOnly: true,
    applicationServerKey: decodeBase64URL(pKey),
};

//購読を実行
registration.pushManager.subscribe(opt)
    .then(async function(sub){
        //ブラウザの登録
        await rf_activateDevice(sub);

        // 購読情報の登録
        rf_setSubscription(sub);
    }, errorSubscription);