Mit FCM mit Asp.net web-api 2

Ich gebaut habe, eine web-api sein, die die back-end-Seite der AngularJs, IOS, und Android front-End-Anwendungen.

Nun habe ich die Anforderung, um push-Benachrichtigungen von meinem web-api für den front-end-Anwendungen, wenn zum Beispiel ein Produkt aktualisiert wurde.

War ich denken mit SignalR-push-Benachrichtigungen in Echtzeit-Weise, aber es wird nicht nützlich sein, wenn andere Benutzer offline sind.

Jetzt bin ich der Planung bis zur Nutzung FCM push-Benachrichtigungen, so dass Sie könnten Sie bitte geben Sie mir Antwort auf meine Frage

Wie integriert mein web-api mit FCM und was sind die Vorteile, die ich bekommen würde von der Verwendung von FCM im PUSH-Benachrichtigungen?

PS

Ich würde schätzen, alle Referenzen zu integrieren asp.net web-api mit FCM

 

One Reply
  1. 5

    Ermöglicht das erstellen von Konsolenanwendung wie folgt:

        class Program
    {
        static void Main(string[] args)
        {
            string resend ;
            do
            {
                WebRequest tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send");
                tRequest.Method = "post";
                tRequest.ContentType = "application/json";
                var objNotification = new
                {
                    to = "Token the device you want to push notification to",
                    data = new
                    {
                        title = "title",
                        body = "body",
                        icon = "/firebase-logo.png"
                    }
                };
                string jsonNotificationFormat = Newtonsoft.Json.JsonConvert.SerializeObject(objNotification);
    
                Byte[] byteArray = Encoding.UTF8.GetBytes(jsonNotificationFormat);
                tRequest.Headers.Add(string.Format("Authorization: key={0}", "your authorization key"));
                tRequest.Headers.Add(string.Format("Sender: id={0}", "your senderId"));
                tRequest.ContentLength = byteArray.Length;
                tRequest.ContentType = "application/json";
                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 responseFromFirebaseServer = tReader.ReadToEnd();
    
                                FCMResponse response = Newtonsoft.Json.JsonConvert.DeserializeObject<FCMResponse>(responseFromFirebaseServer);
                                if (response.success == 1)
                                {
    
                                    Console.WriteLine("succeeded");
                                }
                                else if (response.failure == 1)
                                {
                                   Console.WriteLine("failed");
    
                                }
    
                            }
                        }
    
                    }
                }
    
                resend = Console.ReadLine();
            } while (resend == "c");
        }
    
    }
    
    public class FCMResponse
    {
        public long multicast_id { get; set; }
        public int success { get; set; }
        public int failure { get; set; }
        public int canonical_ids { get; set; }
        public List<FCMResult> results { get; set; }
    }
    public class FCMResult
    {
        public string message_id { get; set; }
    }

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.