簡體   English   中英

推送通知未在后台iOS中接收

[英]Push notification not receiving in background iOS

我正在通過GCM在項目中進行推送通知。 我的應用程序能夠在前台接收通知,但不能在后台接收通知。

我在方法內收到一條消息

func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject])  

當應用程序處於前台但我沒有收到該方法的任何調用時

func application( application: UIApplication,
    didReceiveRemoteNotification userInfo: [NSObject : AnyObject],
    fetchCompletionHandler handler: (UIBackgroundFetchResult) -> Void)

當應用程序處於后台模式時。

我在Internet上進行了很長時間的搜索,才知道這是我收到的有效載荷格式的問題。 我收到的有效負載看起來像

[通知:{“ body”:“ anything”,“ title”:“ any title”},優先級:高,content_available:true,收件人:kcF23gblKok ....,collapse_key:do_not_collapse,來自:7812 ....]

誰能建議我正確的有效載荷格式?

使用這個有效載荷

{
    "aps": {
        "alert": "Hello World",
        "sound": "default"
        "content-available" :1
    }
}

啟用內容可用:

1個應用位於前景中

沒有顯示系統警報

application:didReceiveRemoteNotification:fetchCompletionHandler:被調用

2應用程序處於后台

顯示系統警報

application:didReceiveRemoteNotification:fetchCompletionHandler:被調用

3App已暫停

應用狀態更改為背景

顯示系統警報

application:didReceiveRemoteNotification:fetchCompletionHandler:被調用

4應用未運行,因為被用戶殺死

顯示系統警報

沒有回調被調用

以這種模式創建通知

{
    "to": "ID",
    "notification": {
        "sound": "default",
        "title": "TITLE",
        "body": "BODY"
    },
    "priority": "high"
}

對於那些正在處理Pushy而不是GSM的用戶,由於以下原因,在應用程序處於后台時,可能不會調用pushy的完成處理程序:

即使您使用適當的鍵和值配置通知有效負載,例如:

{"to":"device***Token", "data": {"message": "Hello World!"}, "notification": {"title": "test", "body": "my message"}, "content_available": true}

並使用Pushy的控制台發送數據,所有這些數據都放在pushy的site字段:“ NOTIFICATION DATA”中。 因此,使用Console時,我們找不到發送以下內容的方法:true,對於密鑰:“ content_available”,當應用程序在后台運行時,涉及到處理程序是necceserry。

您可以通過使用Postman來解決此問題,例如將請求配置為:

  1. 類型:POST;
  2. 生的;
  3. 網址: https : //api.pushy.me/push? api_key =YOUR_APP_API_KEY ;
  4. 內容類型:application / json;

在身體上,您需要發送一些東西,例如:

 {"data":{"message": "Hello World!"},"tokens":["device***Token"],"content_available": true}

這樣,您將“ content_available”鍵放置在“ aps”中而不是“ data”中,這將在應用程序處於后台時調用處理程序。

暫無
暫無

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

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