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 からの応答も返しています。提案を教えてください。