2017-01-15 85 views
2

我在我的Ionic 2應用程序中使用OneSignal推送通知。它工作正常,除了以下情況:在Ionic 2應用程序中接收OneSignal背景通知

  • 殺死應用程序以確保它不在後臺運行。
  • 發送通知到應用程序。
  • 關閉通知。
  • 打開應用程序。
  • 我沒有收到任何有關通知已收到的指示。

在初始化過程中,我調用了OneSignal.handleNotificationReceived()。subscribe(),但除非應用程序在前臺/後臺運行,否則不會觸發。

即使用戶解散了通知,在應用程序啓動時是否有任何方式獲取通知。

謝謝。

回答

1

無法通過單獨使用OneSignal來實現您試圖實現的目標。對於離子2 OneSignal插件有兩個調用動作:

handleNotificationReceived() & handleNotificationOpened()

在接收到通知時,第一個被調用,應用程序是在前臺,並且當該應用是所述第二被稱爲從通知中啓動。

您需要一些其他服務來記錄通知何時發送,以查看是否有任何應用程序自行啓動。如果您使用OneSignal的REST API自行發送通知,則可以記錄何時發送通知,以及何時自行啓動應用程序而不是通知時,可以從您自己的服務器中獲取錯過的通知或通知計數。這只是你能做到的一種方式。

但最終OneSignal是一個推送通知服務,就是這樣,發送通知。即使你自己做了APNS或FCM,並且仔細檢查了你所描述的場景,結果也是一樣的,這不是OneSignal問題。這是通知的設計方式。

相關問題