2016-10-07 15 views
2

asp.net webformsを使用して私のWebアプリケーションでPush通知を使用しました。 Localhostのライブデータベースへの接続は正常に動作しますが、プロダクションサーバでは動作しません。Pushローカルホストで正常に動作しているが、プロダクションサーバーで正常に動作していることを知らせるGCM(Andriodを使用しているGCM)

問題は何ですか?

私はwebConfigファイルを変更する必要がありますか?

私はあなたがあなたのマシンへのアクセスを持って

public static void CallPUshNotiFication(string Msg,string EmailId,string PageName) 
 
     { 
 
      try 
 
      { 
 
       
 
       DataSet dsregID = new DataSet(); 
 

 
       StringBuilder strBldId = new StringBuilder(); 
 

 
       
 
       var applicationID = Validate.ApplicationId; 
 
       var SENDER_ID = Validate.SenderId; 
 

 

 
       List<MobileRegistration11> PuschList = MobileRegistrationManager1.GetDataFromMobileRegistration1(EmailId); 
 
       if (PuschList.Count > 0) 
 
       { 
 
        foreach (var item in PuschList) 
 
        { 
 
         
 

 
         string regId = Convert.ToString(item.RegistrationId); 
 
         
 
         WebRequest tRequest; 
 
         tRequest = WebRequest.Create("https://android.googleapis.com/gcm/send"); 
 
         // 
 
         tRequest.UseDefaultCredentials = true; 
 
         tRequest.PreAuthenticate = true; 
 
         tRequest.Credentials = CredentialCache.DefaultCredentials; 
 
         tRequest.Method = "post"; 
 
         // 
 
         tRequest.ContentType = " application/x-www-form-urlencoded;charset=UTF-8"; 
 
         tRequest.Headers.Add(string.Format("Authorization: key={0}", applicationID)); 
 
         tRequest.Headers.Add(string.Format("Sender: id={0}", SENDER_ID)); 
 
         
 
         string postData = "collapse_key=score_update&time_to_live=108&delay_while_idle=1&data.message=" 
 
          + Msg + "&registration_id=" + regId + "&data.id=" + PageName+ "&data.recordId="+147+""; 
 

 
         
 
         Console.WriteLine(postData); 
 
         Byte[] byteArray = Encoding.UTF8.GetBytes(postData); 
 
         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(); 
 
         strBldId.Append(sResponseFromServer + "<br>"); //printing response from GCM server. 
 
         tReader.Close(); 
 
         dataStream.Close(); 
 
         tResponse.Close(); 
 
        } 
 

 
       } 
 
      } 
 
      catch (Exception ex) 
 
      { 
 

 
      } 
 
     }

答えて

0

を提案してください、そして、コマンドラインでこれを実行してみてください。

トピックとキーを置き換えます。カールを取り付ける必要があるかもしれません。

curl -X POST -H "Content-Type: application/json" -H "Authorization: key=<PUT your key>" -d '{ 

    "condition": "'"'"'<Put your topic>' in topics", 
    "data": { 
    "payload": "" 
    } 
} 
' "https://fcm.googleapis.com/fcm/send" 

これが適切な応答を示している場合は、ご使​​用のマシンがGCMサーバーにアクセスできることが確認できます。そして、私たちは他のものに移動することができます。私は解決策を持って

おかげ

+0

は、実際には間違いはこの部分にtime_to_live = 108&delay_while_idle = 1、私は今、私はとにかく...適切に助けに感謝し、それを受けています、1の両方を設定していた:) –

関連する問題