2016-09-12 146 views

回答

1

這是默認的系統行爲。如果您的應用程序由用戶終止(來自應用程序切換器),靜音推送通知(content_available = true)將不會喚醒應用程序,即不會調用Application:didreceiveremotenotification

如果您希望通知用戶,請不要發送靜音推送通知。發送一個正常的推送通知,它將顯示在用戶的通知欄中。

+0

我會試試這個......整整一分鐘我會回來告訴你是否工作 – tiagosito

+0

@tiagosito當然。 – 7vikram7

+0

你好朋友,奇怪的是,在通過content-available = false的信息後,你開始發揮作用,但是,即使冒充 content-available = true也有效。 無論如何,我感謝你,雖然不明白以前如何工作,現在雙向工作! – tiagosito

1

這就是它在iOS上的工作方式。

如果您的應用根本沒有運行,那麼您的應用根本不會收到推送通知。只有當用戶在鎖定屏幕或通知中心上滑動一個推送通知時,您的應用程序纔會啓動,並且您會收到通知,說明您的應用程序是由於推送消息而啓動的。

如果您的應用程序位於後臺,您實際上可以通過啓用「在後臺運行」支持來處理推送通知。

我在說iOS9和更早這裏。不確定iOS10中的行爲是否已更改。但是,如果你來自Android,那麼你必須接受推送通知處理在iOS上完全不同於Android。

+0

嗨,禮帽!我需要做類似whatsapp的東西,甚至關閉它可以接收推送通知 – tiagosito

+0

tiagosito,你可以收到它,但你無法處理它。我不知道whatsapp,但大服務有時從蘋果隱藏api的個人權限。 – user3820674

+0

Hi Tropper和user3820674在傳遞content-available = false的信息後奇怪地開始起作用,就像7vikram7說的那樣,然而,即使冒充content-available = true也有效。無論如何,我感謝你的幫助,雖然不明白以前如何工作,現在雙向工作! – tiagosito

-1

確保在您的推送通知負載中添加優先級:「高」。這將確保您的應用程序將在後臺或關閉模式下收到推送通知。

{ "to" : "/topics/{userId}" "content_available":true, "priority":"high" "notification" : { "title": "", "body":"" }, "data" : { //custom key value pairs } }

相關問題