簡體   English   中英

當APP處於后台但未掛起且APP打開時,推送通知無效

[英]Push notification dose not work when APP is in background but not suspended and when APP is open

在android和iOS中,當App處於前台/打開狀態或處於后台但未掛起(未終止)時,在APP上收到新的推送時,不會彈出推送通知。

要接收新的推式彈出窗口,我需要殺死該應用程序,然后只有我會收到它。

我正在為Cordova使用以下插件: https : //github.com/phonegap/phonegap-plugin-push

科爾多瓦版本:5.3.1

如果有人能指出正確的方向,我確實會嘗試找到解決方案,這將非常有幫助。

是的,此插件以這種方式工作,觸發了onreceived javascript事件,但是當應用程序處於前台時,通知不會顯示在通知欄中。

在android的最新版本中,您可以按以下方式更改此行為:

that.push = PushNotification.init({ 
                        "android": {
                            "senderID": that.GOOGLE_SENDER_ID,
                            "iconColor": "gray",
                            "icon": "icon_notification",
                            "forceShow": true
                        },
                        "ios": {}, 
                        "windows": {} 
                });

forceShow,允許應用程序在前台運行時顯示通知。

目前在IOS中是不可能的,對於1.6版本,有一個拉取請求來實現這一點,但是我嘗試了代碼,但無法使其正常工作

這里有鏈接

https://github.com/phonegap/phonegap-plugin-push/pull/383

到目前為止,我在IOS中進行了一次工作,使用該庫通過JS顯示了虛假通知

http://taitems.github.io/UX-Lab/iOSNotification/index.html

另外,我不知道為什么APP暫停時通知不顯示,這在Android和IOS中都發生了嗎?

在IOS中,您必須添加推送通知和后台模式的功能->后台獲取和遠程通知。 也許這是你的問題。

編碼愉快!

我沒有用過科爾多瓦,但回答了可能會幫助您的線索。

點擊這里了解更多詳情

應用程序處於非活動狀態時,通知會傳遞到通知托盤 對於活動的iOS應用,通知將傳遞到didReceiveRemoteNotification:。 對於活動的Android應用程序 ,通知有效負載將傳遞到數據包中通知鍵下的onMessageReceived()

因此,從服務器發送json時,您應該遵循特殊鍵“ click_action”。

暫無
暫無

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

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