2017-05-18 33 views
0
我一直在使用發送通知到Android設備的代碼

,但寄存器中我應該如何使用推送通知的Android iOS版

iOS開發者的蘋果設定的DeviceID不工作的iOS設備,我一直在使用它

public string SendNotification(string message, string deviceId, bool IsiOS) 
     { 

      try 
      { 
       string SERVER_API_KEY = "AIzaS......gcw"; 
       if (IsiOS) 
       { 

        SERVER_API_KEY = "AIza.......3k"; 
       } 
       var SENDER_ID = "tok.....712"; 
       //"850.........538"; 
       var value = message; 
       WebRequest tRequest; 
       tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send"); 

       //"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}", SERVER_API_KEY)); 

       tRequest.Headers.Add(string.Format("Sender: id={0}", SENDER_ID)); 

       string postData = "collapse_key=score_update&time_to_live=604800&delay_while_idle=1&data.message=" + 
            System.Uri.EscapeDataString(value) + "&data.time=" + System.DateTime.Now.ToString() + 
            "&registration_id=" + deviceId + ""; 
       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(); 


       tReader.Close(); 
       dataStream.Close(); 
       tResponse.Close(); 
       return sResponseFromServer; 
      } 
      catch 
      { 
       return ""; 
      } 

     } 

我必須改變什麼嗎?

注:我只是改變 「鍵」 和設備ID 「

而且我發送給蘋果設備的JSON是這樣的:

{ 」到「:」 cu8FBLt ..... ............. WRFw61「,」通知「:{ 」title「:」title「,」body「:」des ...「,」badge「:1}}

回答

0

您沒有告訴我們您是否已配置Firebase控制檯。是否已將APN證書上傳到您的Firebase項目?

看一看這個詳細tutorial,尤其是在這個章節: 「配置火力地堡推送通知」

它是明確更復雜獲得推不僅僅是改變ID的運行的通知。

+0

我的iOS開發者說我的服務器代碼是錯誤的,他做了什麼,我也發送過程中出現此錯誤**無法發送內容體與這個動詞型。** – asa

+0

您能與嘗試標題「Content-Type:application/json」? –

+0

我做了,沒有任何反應 – asa

0

您是否添加了推送通知證書? 您必須爲ios添加證書。

步驟添加證書:

  • 導出證書從鑰匙扣
  • 證書上添加密碼導出時。
  • 使用帶有密碼的證書在c#中進行推送通知。
相關問題