簡體   English   中英

發送網絡推送通知時出錯:沒有端點?

[英]Error when sending web push Notification : no endpoint?

我創建了一個基本應用程序,嘗試使用 web-push 節點庫發送推送通知。 但是,我總是遇到錯誤:“您必須至少傳遞一個端點”我不明白,因為我“訂閱”(使用 ServiceWorker Api subscribe() 方法),它為我的本地主機地址創建了一個端點

事實上,我真的不知道該怎么做才能解決這個問題

這是我的“訂閱”代碼:

async   subscribe() {
   const sw = await navigator.serviceWorker.ready; 
   const applicationServerPublicKey = 'BADCyHKPTCj1B9Knvmz2_EF1iLieHVZX2eEcCnMLvmMJA2ADlcDILgDC31ztGp1T1TznLpaJ14GQbdIM4APrr6k';
   const applicationServerKey = this.urlB64ToUint8Array(applicationServerPublicKey);
   console.log("le service worker est " + sw);
   sw.pushManager.subscribe({
       userVisibleOnly: true,
      applicationServerKey: applicationServerKey,
   }).then(
       subscription => {
           console.log("User is subscribed with the subscription : ");
           console.log(subscription);

在控制台上,我可以看到在“訂閱”對象中有一個端點,這里是發送通知的代碼:

console.log("Juste avant d'envoyer la notif on veut envoyer à  :")
console.log(this.state.endpoint)

webpush.sendNotification(
  this.state.endpoint,
  payload,
  options
);

但我上了控制台:

Juste avant d'envoyer la notif on veut envoyer à :

 {
   "endpoint":"https://updates.push.services.mozilla.com/wpush/v2/gAAAAABdR_E1S96XSL7LdqLk2i5alH49Ae9v-XeOn1nX6Su9xkY6ETv16NybutJ5pBoA7q4nqHkNxFFJvVpP15JSsIiGPL8vQHSKAkyReS1CpdhTXc13IWllOb0qnFnfD5dFhNFqA9nIlJgAOz-rB3cy9v-AFbnhNh8S_Ea68WLVjIt8WKtPZWc",
   "keys": {
     "auth": "uXYi9oYQArgv_3Z1wD_gMQ",
     "p256dh": "BDpEEP6NWHFGNKY9PWx3wMzjirY98m4S4ntN0E8A0FlVZHZXaeCbc7WO0S0pqwju2SWM0-ivDkAvaFetPrBKMAU"
   }
} 

index.js:271
錯誤:您必須傳入至少包含一個端點的訂閱。

在調用webPush.sendNotification(subscription, payload);之前執行console.log(subscription.endpoint) ); . 有同樣的問題,subscription.endpoint 確實沒有設置。 然后確保設置了 subscription.endpoint。

錯誤:您必須傳入至少包含一個端點的訂閱。

我遇到了同樣的錯誤,對我的網頁進行硬重新加載(CTRL + SHIFT + R)解決了我的問題。

您還可以避免緩存數據: https ://stackoverflow.com/a/2068407/13248217,這樣您就不需要每次都重新加載。

使用 HTML:

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM