2017-07-11 34 views
0

當收到通知時,我需要在Ionic 2應用程序上推送特定頁面時出現這種情況。該應用程序的行爲是正確的,但該頁面被推送兩次(即使在Twitter iOS應用程序中我也注意到了一個錯誤)。有人可以指出下面粘貼的代碼中的任何錯誤嗎?謝謝!Ionic 2頁面在通知上被推送兩次

push.on('notification', function(data) { 
 
    let offer = JSON.parse(data.additionalData.offer); 
 
    this.app.getActiveNav().push(OfferDetailsPage, { 
 
    currentOffer: offer, 
 
    displayArrow: true 
 
    }); 
 
    // Propagate new event to load the new offer 
 
    events.publish('offer:new', offer, Date.now()); 
 
});

編輯:同樣的頁面的容器是一個選項卡頁面。

+0

'function(data {'你可能在這裏有一個錯字 –

+0

感謝你的觀點,但這只是我在寫問題時犯的一個錯誤,問題仍然存在 –

回答

0

我發現了這個問題的解決方案。當iOS使用phonegap-plugin-push接收通知並且應用程序處於後臺時,它會被處理兩次:第一次接收到通知,第二次當通知被用戶點擊時。針對面臨此問題的每個人的建議:爲服務器上的通知分配一個隨機ID,以及只有在存儲中不存在該ID時前端接收到該通知才處理該通知。

0

該事件'offer:new'發起的功能是什麼?

您是否檢查過日誌,通知事件未觸發2次?

+0

它只觸發相應的事件頁面從服務器重新加載數據 –