I am following Google official tutorial for demo Google Cloud Messaging from http://developer.android.com/google/gcm/demo.html . I set up the gcm-demo-client and gcm-demo-server.
Now, when I run applicaiton, its works well. The device is registered to my server. Then when I click sent message in my server to invoke, its says the message is sent. I assume the process sent message correctly to GCM since its their official sample server for tutorial.
However, my message is not delivered to client applications.
When I see report status about my project in GOOGLE API CONSOLE, the request per day info are 0. Should not it be changed if my server sent message to GCM to deliver to registered device?
Is there anyway to confirm that my server message has been successfully delivered to GCM first? If i confirm this, then can confirm that message is being late.
I tried with both server and browser API key. DO it take time to deliver?
Thanks in advance for your support and any help.
The demo in the tutorial works well. Finally, I was able to get the push message. However, the message was delivered late then expected in about 15 min. Why is it happening so? I don't think its reliable to use.
Related
I want to know how to check if the message is being delivered at the recipient end or not. I am using this library but not able to figure out how to solve this issue. I have integrated laravel 5.2
The main issue is sometimes message sent from the server but in-app it does not receive. Is there any other way or any alternative to get out of this issue?
Any help/suggestion would be appreciated.
From your server you can only know if you sent the message succesfully to the google server but not if google sent it to the phone. you could create add a method in your rest service to send a kind of status when the notification come to the phone in your MessagingService class.
It runs normally when I test Google Cloud Message samples provided by Google.But I can not receive message from GCM connect server when my app is not active.I have check all I should do but the problem is still with me.
Is there anyone has the same question?Please give some effective solution
Is signup for "Upstream Google Cloud Messaging and User Notifications Sign-up" at link "https://services.google.com/fb/forms/gcm/" compulsory to get notification from server app to device?
I have created sample app and sending the sample notification from server. i m getting "OK" response along with message_id, i assume that means my message has been accepted by GCm bit the message is not getting delivered to registered Device? I read somewhere with GCM, registration to the link above is required. I tried that too but i didnt get any response back from google. am i missing anything?
Harshil.
Yes, it is compulsory. When sending a message through GCM, you need to specify a SENDER_ID which is given to you when you create a Project inside, and for this, you have to sign up. So even if you got an OK response, I doubt you specified a correct SENDER_ID so this message probably got discarded.
Maybe this might help:
How to send location of the device on server when needed
As of June 2014, sign-up is no longer required for GCM upstream user notifications (among other features).
There's a post on the Android Developer Blog with more info. Specifically:
At Google I/O we announced the general availability of several GCM
capabilities, including the GCM Cloud Connection Server, User
Notifications, and a new API called Delivery Receipt. This post
highlights the new features and how you can use them in your apps. You
can watch these and other GCM announcements at our I/O
presentation.
I am new to Android GCM environment.
I am writing java codes to receive GCM message with Google's 'getting started' page. http://developer.android.com/google/gcm/gs.html
I wrote android client code with them and wrote C# code to send message to GCM server.
My app successfully registered its device and got registration id like 'APA91bGOqUv--of9MyUevAvFq-RNh375O7S5m5y_WvuSwn1zJqbIsGJpzkJda99RIL1jgZ0zC89RC5q8scj3eZMqMeLdTlUsqfSBD_A4jr_000000000000000000000000n_QWhC0Q8KEzQl_icWaBRS4DeMIK_puCzFBO6rArcq8Lax4_YilU'.
But when my C# code call the GCM server - https://android.googleapis.com/gcm/send - to send message, it returns 'Error=NotRegistered'.
I didn't upload my app to official app store, but I don't think it does matter.
Would anyone give me advice to solve this issue?
Thanks in advance.
I found the reason.
Every time when I try to debug, app need to get registered again.
The registration id above is expired.
I received it again, and it worked well.
I am following the google guidelines for setting up GCM on my device and the server side. I successfully got the device registration ID and when I use it to send a message using the sever side code given by google, I am getting success as well. But no message is received on my phone. Please help.
Refer the link, understand the concept and refer class GCMIntentService.
According to GCM Architectural Overview, GCM uses ports 5228, 5229, and 5230 to send messages. If you do everything right but still not receiving the message, ask your web administrator and confirm that these ports are open.