[英]Google Cloud Messaging showing success message but not sending iOS
所以我遇到了一個非常奇怪的問題,就是Google Cloud Messaging。 我遇到的問題是它正在成功注冊設備,當發送消息時,我收到來自Google的成功消息。 但設備從未收到任何消息。
我從GCM回來的消息是:
"result": "Push notification sent successfully: {\"multicast_id\":6008387530769664000,\"success\":1,\"failure\":0,\"canonical_ids\":0,\"results\":[{\"message_id\":\"0:1442824842607522%73fc535e73fc535e\"}]}"
為了讓事情變得更加混亂,我的實施大約在兩周前開始工作,到目前為止我還沒有改變任何東西。 Android版本的應用程序正在接收消息,沒有問題,只有iOS實現無法正常工作。
任何幫助將非常感激!
謝謝!
所以我終於把最后剩下的毛發拉出腦袋后解決了這個問題。
事實證明設備正在接收消息,但GCM默認將優先級設置為最低優先級。 這意味着設備會收到通知但從不顯示通知。 此優先級用於靜默通知以在后台喚醒應用程序。 我發現這是因為我一直在控制台中收到消息:
低優先級推送:[com.test.app] - 不支持后台刷新
優先級是介於1和10之間的值,因此我將優先級設置為10並立即在設備上獲取消息。 我的GCM POST請求正文現在看起來像這樣:
{
"to": "GCM token here",
"notification": {
"sound": "default",
"badge": "2",
"title": "default",
"body": "Test Push!",
},
"priority" : 10,
}
我真的希望這有助於其他人,因為我已經花了一周的時間來解決這個問題。
(ノಠ益ಠ)ノ
編輯:
您可以將“priority”設置為“high”,其設置與將其設置為“10”完全相同(優先級為0到10之間的值.Google將文本轉換為iOS的數字
而不是添加“優先級”:10,您應該添加以下行:“content_available”:true,
在APNS服務器(iOS)中,content_avaialble更改為1,后者在后台引導推送通知。 並加入“優先級”:10,將耗盡更多的iphone電池。 在我的情況下,我甚至沒有任何與優先權相關的東西,但它仍然有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.