pushNotifications push-notifications

AVAILABILITY
Web SDK的推播通知目前在​ 測試版 ​中。 功能和檔案可能會有所變更。

pushNotifications屬性可讓您設定Web應用程式的推播通知。 此功能可讓您的網頁應用程式接收從伺服器推送的訊息,即使網站目前未載入瀏覽器亦然。

先決條件 prerequisites

在設定推播通知之前,請確定您擁有:

  1. 使用者許可權:使用者必須明確授與通知許可權
  2. Service worker:必須有Registered Service Worker才能執行推播通知
  3. VAPID金鑰:產生VAPID (自願應用程式伺服器識別)金鑰以進行安全通訊
  4. 應用程式ID:將VAPID金鑰儲存在Adobe Journey Optimizer ->管道 — >推送設定 — >推送認證時所使用的應用程式ID
  5. 追蹤資料集ID:名稱為「AJO推播追蹤體驗事件資料集」的系統資料集ID。 從Adobe Journey Optimizer ->資料集取得此專案

產生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

服務程式碼必須從與網站相同的網域提供。 從Adobe的CDN下載Service Worker程式碼,並從您自己的伺服器託管JavaScript檔案。 可使用以下URL結構取得Web SDK服務背景工作程式碼:

  • 已縮制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