pushNotifications push-notifications
pushNotifications プロパティを使用すると、web アプリケーションのプッシュ通知を設定できます。 この機能を使用すると、web サイトがブラウザーに読み込まれていない場合でも、web アプリがサーバーからプッシュされたメッセージを受信できます。
前提条件 prerequisites
プッシュ通知を設定する前に、次のことを確認してください。
- ユーザー権限: ユーザーは通知の権限を明示的に付与する必要があります
- Service worker:プッシュ通知を機能させるには、登録されたService Workerが必要です
- VAPID キー:安全な通信のためのVAPID (任意アプリケーションサーバー識別)キーを生成します
- アプリケーション ID: Adobe Journey Optimizer内のVAPID キーを保存するときに使用されるアプリ ID -> チャネル -> プッシュ設定 – > プッシュ資格情報
- トラッキングデータセット ID: 「AJO Push Tracking Experience Event Dataset」という名前のシステムデータセットのID。 Adobe Journey Optimizerから取得 – > Datasets
VAPID キーの生成 generate-vapid-keys
VAPID キーを生成するには、web-push NPM パッケージをインストールして実行します。
npm install web-push -g
web-push generate-vapid-keys
このアクションは、公開鍵と秘密鍵のペアを生成します。 Web SDK設定で公開鍵を使用し、Adobe Journey Optimizer プッシュ通知チャネル内に秘密鍵を保存します。
Service Workerをインストールします
サービスワーカーコードは、web サイトと同じドメインから提供される必要があります。 AdobeのCDNからサービスワーカーコードをダウンロードし、独自のサーバーからJavaScript ファイルをホストします。 Web SDK サービスワーカーコードは、次のURL構造を使用して使用できます。
- 縮小:
https://cdn1.adoberesources.net/alloy/[VERSION]/alloyServiceWorker.min.js - フル:
https://cdn1.adoberesources.net/alloy/[VERSION]/alloyServiceWorker.js
Service Workerのインストール方法の例を次に示します。
<script>
navigator.serviceWorker.register("/alloyServiceWorker.js", { scope: "/" });
</script>
実装
pushNotifications コマンドの実行時にconfigure オブジェクトを設定します。
alloy("configure", {
datastreamId: "ebebf826-a01f-4458-8cec-ef61de241c93",
orgId: "ADB3LETTERSANDNUMBERS@AdobeOrg",
pushNotifications: {
vapidPublicKey: "BEl62iUYgU[...]KGP4jAQlJz",
applicationId: "my-app-id",
trackingDatasetId: "4dc19305cdd27e03dd9a6bbe",
},
});
プロパティ properties
プロパティ
タイプ
必須
説明
vapidPublicKey文字列
○
プッシュサブスクリプションに使用されるVAPID公開鍵。 Base64でエンコードされた文字列である必要があります。
applicationId文字列
○
VAPID公開鍵に関連付けられたアプリケーション ID。
trackingDatasetId文字列
○
プッシュ通知トラッキングに使用されるシステムデータセット ID。
重要な検討事項 important-considerations
- セキュリティ: プッシュサブスクリプションは、サブスクリプション中に使用される特定のVAPID公開鍵に関連付けられます。 VAPID キーを変更すると、既存のサブスクリプションは自動的に登録解除され、新しいキーで再作成されます。
- キャッシュ:Web SDKは、現在のECIDとサブスクリプションの詳細をキャッシュされた値と比較することで、サブスクリプションの更新を自動的に管理します。 購読データは、変更が検出されたときにのみ送信されます。
- Service worker要件: プッシュ通知には登録されたService Workerが必要です。 Service Workerがプッシュイベントを処理するように適切に設定されていることを確認します。
Web SDK タグ拡張機能を使用したプッシュ通知の設定 configure-push-notifications-tag-extension
このプロパティと同等のWeb SDK タグ拡張機能は、拡張機能を設定する際のPush notifications セクションです。
次の手順 next-steps
プッシュ通知を設定したら、sendPushSubscription コマンドを使用して、Adobe Experience Platformにプッシュサブスクリプションを登録します。
recommendation-more-help
1ae86b30-e55e-49c1-ab11-9d0356a5f3e1