2

GCMを使用してAndroidでプッシュ通知を送信するメソッドを持つC#でクラスを作成しています。メソッドはうまく機能しており、Google からの応答も成功として返されます。ただし、Android エミュレーターでは、通知は null として送信されます。ここに私が使用しているコードがあります、

public void NotifyTest(string regId)
    {
        var applicationID = "AIza*************"; 

        var SENDER_ID = "xxxxxxxxxx"; 
        var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://android.googleapis.com/gcm/send");
        httpWebRequest.ContentType = "application/json";
        httpWebRequest.Method = "POST";
        httpWebRequest.Headers.Add(string.Format("Authorization: key={0}", applicationID));
        httpWebRequest.Headers.Add(string.Format("Sender: key={0}", SENDER_ID));
        using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
        {
            string json = "{\"registration_ids\":[\""+ regId +"\"]," +
                        "\"data\": { \"score\" : \"1234\"}}";
            Console.WriteLine(json);
            streamWriter.Write(json);
            streamWriter.Flush();
            streamWriter.Close();

            var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
            using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
            {
                var result = streamReader.ReadToEnd();
                Console.WriteLine(result);
            }
        }
    }

コードはエラーなしで機能しており、Google からの応答も返しています。提案を教えてください。

4

2 に答える 2

0

Android OnMessage (GCMIntent サービス内) で、次の行を記述します。

  String message = intent.getStringExtra("score");

ハッピーコーディング:)

于 2014-06-12T14:30:37.743 に答える
0

以下のように json 文字列を置き換え、get メッセージと名前の Android コードを変更する必要があります。

文字列 json = "{\"registration_ids\":[\"" + regId + "\"]," + "\"data\": { \"メッセージ\" : \"1234\", \"名前\" : \"アーヴィンド・シャルマ\"}}";

于 2013-02-14T18:28:49.130 に答える