5

GCMを使用してiOSアプリにプッシュ通知を送信しようとしています。アプリは、バックグラウンドにいるときは通知を受けませんが、フォアグラウンドにいるときは通知を受け取ります。私はAPNSに直接メッセージを送信するPHPスクリプトでプッシュ通知をテストしていました。バックグラウンドで動作しています。iOSアプリがバックグラウンドのときにGCMプッシュ通知

JSONはGCMに送られた:作業

{ 
    "to" : "token...", 
    "notification" : { 
    "title": "GCM TITLE", 
    "body" : "FROM GCM", 
    "badge": "1", 
    "sound": "default" 
    } 
} 

ない(私はテストのために残りのクライアントからそれを送信しています): のUserInfoはdidReceiveRemoteNotificationにGCMから受け取っ:

Notification received: [aps: { 
    alert =  { 
     body = "FROM GCM"; 
     title = "GCM TILE"; 
    }; 
    badge = 1; 
    sound = default; 
}, gcm.message_id: 123...] 

: PHPスクリプトから送信されたときにuserInfoが受信されました(私もJSONにmessage_idを追加して問題)

Notification received: [aps: { 
    alert =  { 
     body = "FROM PHP"; 
     title = "PHP TITLE"; 
    }; 
    badge = 2; 
    sound = default; 
}, gcm.message_id: 123...] 

私はさまざまな組み合わせでJSONにcontent_available追加しようとしたが、助けにはならなかった、Content-Typeのと承認リクエストヘッダも設定されています場合には

Content-Type:application/json 
Authorization:key=... 
+0

はよく、または動作しないことが、私はJSON – Rob85

+0

感謝からタイトルを削除してみてください、同様の問題がありましたアドバイスのために!残念ながらまだ動作していません – barna941

+0

GCMから成功を収めていますか?あなたはどのような環境をテストしていますか、アプリをアーカイブしたか、デバイスに直接テストしていますか? – Rob85

答えて

8

誰かが持っている場合同じ問題、解決策は私には "優先度"を追加することでした: "高い" JSONに。このようにして、私はバックグラウンドで通知を受け取ります。

{ 
    "to" : "token...", 
    "priority": "high", 
    "notification" : { 
    "title": "GCM TITLE", 
    "body" : "FROM GCM", 
    "badge": "1", 
    "sound": "default" 
    } 
} 
0

アプリがバックグラウンドで動作している私は、我々が追加する必要があることに注意したときに通知を取得するには:

"content_available":true // when app in background 
"priority":"high" //when app is completely closed not even running in background 

// "content_available":true ..most important field 

{ 
"to" : "token...", 
"priority":"high", 
"content_available":true, 
"notification" : { 
"title": "GCM TITLE", 
"body" : "FROM GCM", 
"badge": "1", 
"sound": "default" 
    } 
} 
関連する問題