C# Server Side-Code Für Firebase Cloud Messaging
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Web;
using System.Web.Script.Serialization;
namespace Sch_WCFApplication
{
public class PushNotification
{
public PushNotification(Plobj obj)
{
try
{
var applicationID = "AIza---------4GcVJj4dI";
var senderId = "57-------55";
string deviceId = "euxqdp------ioIdL87abVL";
WebRequest tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send");
tRequest.Method = "post";
tRequest.ContentType = "application/json";
var data = new
{
to = deviceId,
notification = new
{
body = obj.Message,
title = obj.TagMsg,
icon = "myicon"
}
};
var serializer = new JavaScriptSerializer();
var json = serializer.Serialize(data);
Byte[] byteArray = Encoding.UTF8.GetBytes(json);
tRequest.Headers.Add(string.Format("Authorization: key={0}", applicationID));
tRequest.Headers.Add(string.Format("Sender: id={0}", senderId));
tRequest.ContentLength = byteArray.Length;
using (Stream dataStream = tRequest.GetRequestStream())
{
dataStream.Write(byteArray, 0, byteArray.Length);
using (WebResponse tResponse = tRequest.GetResponse())
{
using (Stream dataStreamResponse = tResponse.GetResponseStream())
{
using (StreamReader tReader = new StreamReader(dataStreamResponse))
{
String sResponseFromServer = tReader.ReadToEnd();
string str = sResponseFromServer;
}
}
}
}
}
catch (Exception ex)
{
string str = ex.Message;
}
}
}
}
apikey und SenderID, Sie erhalten hier --------- wie folgt (Bilder unten) (gehen Sie zu Ihre Feuerbasis App)
wo aus der Geräte-ID zu bekommen? –
Es ist ein Token, das mit einer Methode FirebaseInstanceId.getInstance() generiert wurde. GetToken() in einem Dienst –
Das ist herausgefunden .. der Dienst ist FirebaseInstanceIdService. Außerdem gibt tRequest.GetResponse() eine Fehlermeldung aus "Der Remote-Server hat einen Fehler zurückgegeben: (401) Nicht autorisiert." Fehler, auch nachdem das, was hier gesagt wurde-> http://stackoverflow.com/questions/10205854/error-the-remote-server-returned-an-error-401-unauthorized Andere Lösungen? –