Android ve ASP.NET ile Proje Geliştirmek Bölüm 5 – SON

Merhaba arkadaşlar.

Bu bölümde MVC API projesinde OneSignal kodlarımızı yazacağız. API projemizi açarak kodlarımızı yazmaya devam edelim.

Projemize Services isimli bir klasör oluşturalım ve içerisine OneSignalSender.cs adında bir class açalım.

OneSignalSender.cs
OneSignalSender.cs

OneSignalSender classımıza NotifySend adında bir void metod oluşturalım ve içerisine random veritabanımızdan ingilizce kelime çeken metodumuzu yazalım. Sonrasında çektiğimiz kelime ile OneSignalClient ile bildirim oluşturalım.

 public void NotifySend()
{
            Random rand = new Random();
            DailyEnglishDBEntities entity = new DailyEnglishDBEntities();

            int toSkip = rand.Next(0, entity.Words.Count());

            //Random kelime çekiyoruz.
            var word = entity.Words.Where(x => x.IsUsed == false).OrderBy(x => x.Name).Skip(toSkip).Take(1).First();

            
            var client = new OneSignalClient("ONESIGNAL_CLIENT_ID");

            //Bildirim oluşturuyoruz.
            var options = new NotificationCreateOptions();

            //OneSignal üzerinde oluşturduğumuz Application IDSİ
            options.AppId = Guid.Parse("APP_ID");
            options.IncludedSegments = new List<string> { "All" }; // Tüm kayıtlı cihazlara bildirim gidecek.
            options.Contents.Add(LanguageCodes.English, word.Name); // Veritabanından çektiğimiz kelimeyi gönderiyoruz.
            options.Data = new Dictionary<string, string>();
            options.Data.Add("word", word.Name); // Key-Value olarak kelimemizi ekliyoruz. İsterseniz "word" kısmını kendinize göre düzenleyebilirsiniz
            client.Notifications.Create(options);
}

Continue reading