Windows Azure Service Bus / Notification Hubs

Bir önceki konuda push notification’un detaylarına değinmiştik. Uygulama içerisinden bir diğer kullanıcıya notification gönderdik. Ancak uygulama geliştiriciler olarak aynı anda tek bir noktadan binlerce kullanıcıya notification gönderme işlemi yapılması gerekmekte, ayrıca Win8 kullanıcılarının yakından tanıyor olduğu hareketli kutucuklar, yani Live Tile işlemi için gerekli içerik gönderimi büyük önem arz etmekte. Bu konuyla ilgili olarak Windows Azure Service Bus altyapısı içerisinde bulunan Notification-Hub konusunda değiniyor olacağız.

Notification hub altyapısının sunduğu API ile Windows ürünleri dışında, Apple ve Google gibi ürünlerede notification gönderim işlemi yapılabilmektedir. Böylece Notification Hub ile dakikalar içerisinde birbirinden farklı platformlar arasında binlerce kullanıcıya istediğiniz şekilde bildirim sağlayabilirsiniz.

Notification Hub ile bildirimde bulunmak istediğiniz kullanıcıları kısıtlama özgürlüğüne sahipsiniz. Hub altyapısında gönderdiğiniz her bir içerik belli bir tag ile kullanıcının aboneliğine dayalı sistemle çalışır. Örneğin lokasyon bazlı olarak sadece Türkiye’deki uygulamanın kullanıcılarına bildirimde bulunabilirsiniz. Bu kadarlık detay şimdilik yeterli, demo örnek ile konuyu biraz daha pekiştirebiliriz.

Her zamanki gibi ilk olarak Managemen Portal üzerinden Service Bus sekmesi altında bulunan Notification Hub’ı seçip Hub için gerekli Name Space’i belirleyerek başlıyoruz.

Notification Hub

Service bus notification hub alanımızı oluşturduktan sonra uygulamamızı yayınlamak için oluşturduğumuz, appdev.microsoft.com adresi içerisindeki package SID ve client secret kodlarını oluşturuyoruz.

Yukarıdaki şekilde SID ve Client Secret alanlarını alıp Service Bus notification Hub içerisindeki configure alanında gerekli eşdeğer alanlara yerleştiriyoruz.

Package SID, Client Secret Code

Azure katmanı içerisinde projemiz ile ilgili bağlantıları oluşturduktan sonra Visual Studio üzerinden yeni bir Windows Store App oluşturuyoruz. Herhangi bir tasarım yapmamıza gerek yok, sadece notification göndereceğimiz için azure ile ilgili bağlantı kodları haricinde herhangi bir kod yazılmayacak. Projeyi oluşturduktan sonra ilk olarak Solution Klasörü içerisinde yer alan Package.appxmanifest dosyasına tıklıyoruz ve Badge Logo sekmesi altında yer alan Notifications alanından Toast kısmını Yes olarak değiştiriyoruz.

q

Notification alabilmemiz için Toast Capable ayarını yes olarak tanımladıktan sonra Proje içerisindeki App.xaml.cs dosyasın Azure tarafında oluşturduğumuz Notification Hub için gerekli Endpoint ile bağlantıyı kurmamız gerekmektedir. Bunun için App.xaml.cs klasörüne ilk olarak InitNotificationAsync metodu oluşturuyoruz.

private async void InitNotificationAsync()
        {
            var Channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
            await hub.RegisterNativeAsync(Channel.Uri);
        }

Daha sonra Onlaunched metodu altına management portal üzerinde oluşturduğumuz notification hub projesi altında yer alan Connection Information içerisindeki endpointi tanımlıyoruz ve ardından InitNotificationAsync metodumuzu çağırıyoruz.

hub = new NotificationHub("hubdeneme", "Your Connection Information (Notification Hub Endpoint)");

            InitNotificationAsync();

            Window.Current.Activate();

Projeyi bir kere debug ettikten sonra metro arayüz üzerine yüklemesini sağlıyoruz ve tekrar kapatabiliriz. Bunun ardından tekrar management portal’a geri dönüyoruz. Şimdi Azure platformu üzerinden bize sağlanan Debugger ile notification gönderme işlemini gerçekleştireceğiz.

Management Portal üzerinde oluşturduğumuz Notification Hub Projesi içerisinde girdiğimizde üstte yer alan menüde Debug seçeneğini göreceğiz. Bu sekmeye tıkladığımızda bizim için göndermek istediğimiz Notification seçeneklerini sunuyor olacak. Seçeneklerde platforms için Windows , Notification Type için Toast seçiyoruz. ve alt tarafta Result kısmında seçeneklerimize göre bir xml dökümanı ile template oluşturuluyor. en altta yer alan send tuşuna bastığımızda Notification’ı görebileceğiz.

UntitledVe son olarak SEND ile notification gönderiyorum.

Untitled


Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s