GCM Rücksendung Fehlende Fehler bei der Registrierung

Ich bin mit c# webservices übergeben Registrierungs-ids zu GCM. Ich habe zwei android-Handys, und ich habe gültige Registrierungs-ids.Wenn ich den pass einzeln GCm zurück keine Fehler und-Geräte benachrichtigt werden.Aber wenn ich versuche Sie zu übergeben zusammen als JSON-ich bin immer Fehler wie "Error = missing registration".

Folgenden ist der code von meinem webservice, der geht registtration ids zu GCM..

 public string Notify(string deviceId, string message)
    {

        WebRequest tRequest;
        tRequest = WebRequest.Create("https://android.googleapis.com/gcm/send");
        tRequest.Method = "post";
        tRequest.ContentType = " application/x-www-form-urlencoded;charset=UTF-8";
//       tRequest.Headers.Add(string.Format("Authorization: key={0}", GoogleAppID));
        tRequest.Headers.Add(HttpRequestHeader.Authorization, "key=AIzaSyCUJX_f_NZzYbigWMDK9U5vkzZ9mPiK8jA");
       tRequest.Headers.Add(string.Format("Sender: id={0}", SENDER_ID));
       int count = 2;

           SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["Login"]);
           conn.Open();

           string send_notification = "select RegId from REG_ID ";//where RegId <> '"+deviceId+"'";
           SqlCommand cmd2 = new SqlCommand(send_notification, conn);
           DataSet ds2 = new DataSet();
           SqlDataAdapter adapter2 = new SqlDataAdapter(cmd2);
           adapter2.Fill(ds2);
           int count1 = ds2.Tables[0].Rows.Count;
           registration[] r = new registration[count1];
           for (int i = 0; i < count1; i++)
           {
               r[i] = new registration();
               r[i].registration_ids = ds2.Tables[0].Rows[i]["RegId"].ToString();
           } 
        JavaScriptSerializer js = new JavaScriptSerializer();
        string strJson = js.Serialize(r);
        string postData = /*"collapse_key=score_update&time_to_live=108&delay_while_idle=1&*/"data.message=" + message + "&data.time=" + System.DateTime.Now.ToString() + "&registration_id= "+ deviceId + "";
        Console.WriteLine(strJson);
        Byte[] byteArray = Encoding.UTF8.GetBytes(strJson);
        tRequest.ContentLength = byteArray.Length;

        Stream dataStream = tRequest.GetRequestStream();
        dataStream.Write(byteArray, 0, byteArray.Length);
        dataStream.Close();

        WebResponse tResponse = tRequest.GetResponse();

        dataStream = tResponse.GetResponseStream();

        StreamReader tReader = new StreamReader(dataStream);

        String sResponseFromServer = tReader.ReadToEnd();

        tReader.Close();
        dataStream.Close();
        tResponse.Close();
        return sResponseFromServer;
    }

Ich bin neu in der Entwicklung und fehlt möglicherweise etwas ganz einfaches. Jede Hilfe wird sehr geschätzt..Danke im Voraus

InformationsquelleAutor Jigar Patel | 2013-04-22
Schreibe einen Kommentar