0

Java Server is receiving DEVICE_UNREGISTERED GCM nack message when it is sending downstream message to iOS client. The same iOS client app was working earlier with development push certificate.

But now I have created iOS client build with in house enterprise certificate. This production app is able to send the upstream message to java server. However, when server try to send downstream message, server is getting DEVICE_UNREGISTERED nack message from GCM.

But our iOS client app is successfully registered and connected to GCM. It has also received the GCM registration token.

We have android client app.Downstream/upstream messages are working properly for android.

Any help is appreciated to resolve this issue..

GCM Request from the java server:

<message>
    <gcm xmlns='google:mobile:data'>{"to":"l9qEErT1AFE:APA91bEjR4R-eETscNQ7Nw-WeqAIzyisDsY79a_EkKhUACXGAzDoYnRyL7Ge6ca9MSfgZ-fGc7NDevTtI7NozOn126CN5AhpbaZDfuZoWFccqF2ibsdKptFGgxbZpIIK5eVK0DILrCsR","delivery_receipt_requested":true,"priority":"high","data":{"toolconfig":"{\n \"ecb\" : \"app.onNotificationGCM\",\n \"action\" : \"ping\",\n \"senderID\" : \"152585324066\"\n}","action":"com.XXX.XXX.XXXX.ECHO"},"notification":{"sound":"default"},"message_id":"1026274672"}</gcm>
</message>

NACK Response from the GCM:

<message>
    <gcm xmlns='google:mobile:data'>{"message_type":"nack","from":"l9qEErT1AFE:APA91bEjR4R-eETscNQ7Nw-WeqAIzyisDsY79a_EkKhUACXGAzDoYnRyL7Ge6ca9MSfgZ-fGc7NDevTtI7NozOn126CN5AhpbaZDfuZoWFccqF2ibsdKptFGgxbZpIIK5eVK0DILrCsR","message_id":"1026274672","error":"DEVICE_UNREGISTERED","error_description":""}</gcm>
</message>
Rich Benner
  • 7,873
  • 9
  • 33
  • 39
Tutu
  • 99
  • 1
  • 2
  • 14
  • Posting some code snippets, the payload, the response your seeing would help a lot. – AL. Jun 22 '16 at 07:21
  • I have added the request and response JSON .. – Tutu Jun 22 '16 at 07:48
  • This problem seems to have varied causes, but mainly points to Instance ID. Try to check this [Github post](https://github.com/google/gcm/issues/49). Some users cite that it may have something to do with Instance ID not working with the deprecated gcm.register() method. Others stated that an external library may be causing the problem. – ReyAnthonyRenacia Jun 23 '16 at 02:09
  • Have you seen these before? http://stackoverflow.com/a/16839326/4625829, http://stackoverflow.com/a/17899972/4625829 – AL. Jul 01 '16 at 13:44

0 Answers0