Merhaba, bu yazıda sizlere C# Firebase ile Mobil Uygulamaya Bildirim Gönderme Kullanımı hakkında bilgi vereceğim. Bir önceki yazımızda C# ile Yandex Search API Kullanımı hakkında bilgi verdim. Daha önce OneSignal ile bildirim gönderme ile ilgili yazı yazmıştım.
Firebase Kullanımı için Gereksinimler
Geliştirmeye başlamadan önce şu gereksinimleri sağlıyor olmalısınız:
- Firebase ile açılmış hesap (bunu açmış olarak kabul ediyorum)
- Firebase ApplicationID
- Firebase SenderID
Bu gereksinimleri sağlıyorsanız. En azından böyle bir makaleye gelmiş iseniz bu gereksinimler sizde mevcuttur. Ben bu makalede basit anlamda bir bildirim göndermeyi yapacağız. Siz bunu geliştirebilirsiniz. Yavaş yavaş projemize geçebiliriz.
Using bölümüne aşağıdaki kodları ekliyoruz.
1 2 3 4 5 6 7 8 | using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; using System.Web.Script.Serialization; |
Firebase hesabımızda oluşturduğumuz ApplicationID ve SecretID’ yi string bir değişkene eşitliyoruz.
1 2 | string applicationID = "xxxxxxx"; string senderId = "xxxxxx"; |
Firebase adresine yeni bir istek oluşturuyoruz. Burada dikkat edilmesi gereken durum “registration_ids ” yani bildirimin hangi telefona gönderileceğini ayarladığımız yer bunu dizi olarak eşitlememiz gerekiyor. Diğer özellikleri de https://firebase.google.com/docs/cloud-messaging/http-server-ref adresten inceleyip test edebilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | WebRequest tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send"); tRequest.Method = "post"; tRequest.ContentType = "application/json"; string[] PlayerID = new string[1]; PlayerID[0] = "eqzlQ-fvj-I:APA91bFNf3YSSplPb3ahibk0gPF1HsaSQrpKizZ9y4_NY8L4U_magPzGe0jVZo7F3Sap6OtVANiw6nAFPfQrl5b4PW_X8r-MM2CxT3jwlWyQxlut7Wapyvy26gnR3NsdU_4jz4pXOJaz"; var data = new { priority = "high", content_available = true, registration_ids = PlayerID, notification = new { body = "Deneme Mesaj", sound = "Enabled", icon = "fcm_push_icon", badge = 1 } }; |
Burada ise ApplicationID ve SenderID yi eşitleyip istediğimizi atıyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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(); str = sResponseFromServer; } } } } |
Soru ve görüşleriniz için [email protected] adresine mail atabilirsiniz.