Im通过POST将我的.NET应用程序的数据发送到GCM。 1我的android设备获取一个Id,将它发布到我的ASP.NET应用程序。 然后我在我的网站上有一个简单的按钮“发送消息”,这将数据以JSON格式发布到GCM。通过.NET向GCM Android应用程序发送数据
Private Function SendNotification(ByVal JSonData As String) As String
ServicePointManager.ServerCertificateValidationCallback = Function(sender As Object, certificate As X509Certificate, chain As X509Chain, sslPolicyErrors As SslPolicyErrors) True
'/// Creating POST.
Dim request As WebRequest = WebRequest.Create("https://android.googleapis.com/gcm/send")
request.Method = "POST"
request.ContentType = "Content-Type: application/json"
request.Headers.Add(String.Format("Authorization: key={0}", MyAPIKey))
'/// Converting data to byte array.
Dim postData As String = JSonData
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)
'/// Post
request.ContentLength = byteArray.Length
Dim dataStream As Stream = request.GetRequestStream()
dataStream.Write(byteArray, 0, byteArray.Length)
dataStream.Close()
'/// Response
Dim response As WebResponse = request.GetResponse()
dataStream = response.GetResponseStream()
Dim reader As New StreamReader(dataStream)
Dim responseFromServer As String = reader.ReadToEnd()
reader.Close()
dataStream.Close()
response.Close()
Return responseFromServer
End Function
JsonData BYVAL包含:
{ "collapse_key":"DitIsEenUniekeIdentifier",
"time_to_live":108,
"delay_while_idle":true,
"data": {
"MessageId":1,
"TestInformation":"BlieBloeBlaaaa tadaaa!"
},
"registration_ids":["APA91bFYQbSDzQDsoRrR3bnKtH_o72kQ7oiArg79WNz8qeCVoe6Kxu_BdcVftX1pGOfwLCLZbf_D3b7-V2yIaVasHxWXbn35nJO1bIiDzF84ifCHKJTyK3KiZmHZwAJliVIFcZFEVEsKTRiXWgpm9WWmnPrsbKvASy6FZyv4Eyfv-K526Q38Hjs"]
}"
这似乎是正确的,当我检查谷歌开发的网页。 http://developer.android.com/google/gcm/gcm.html
我之前能够发送到GCM与相同的功能,除了我使用纯文本然后。 这是第一次尝试Json。 我改变了帖子的标题。 request.ContentType = “内容类型:应用/ JSON”:
哪个是以前 request.ContentType = “应用程序/ x WWW的形式进行了urlencoded”数据I是在纯文本发送
Dim postData As String = String.Format("registration_id={0}&data.payload={1}&collapse_key={2}", ReceiverKey, Message, collaspeKey)
错误消息IM从GCM获得:MissingRegistration 根据谷歌:
注册ID
检查reques t包含注册ID(在纯文本消息的registration_id参数中或JSON中的registration_ids字段中)。 错误代码为MissingRegistration时会发生。
安妮的帮助非常感谢。
亲切的问候。
天啊......谢谢! – Christophe
不客气! – Eran