31 Aralık 2016 Cumartesi

Bulut Mesajlaşma (Cloud Messaging)


Bulut Mesajlaşma (Cloud Messaging) Nedir?

Geliştirici tarafından işletilen sunuculardan İşletim Sistemini hedefleyen uygulamalara ve ayrıca uygulamalar için bildirim verileri veya bilgileri göndermesine olanak sağlayan bir mobil bildirim hizmetidir.
Android, IOS veya Blackberry cihazlara yazdığımız uygulamalarda bildirim çubuğuna bildirim bırakmamızı sağlar. Arkaplan servisi (background service) kullanılarak yapılır. Uygulama kapalı olduğunda bile, uygulamanın içeriğine dair kullanıcı bilgilendirmesi yapmak için kullanılır. Örneğin mail geldiğinde telefon titrer, bildirim ışığı yanar ve bildirim çubuğunda 1 yeni posta yazar. Bu, push notification servisi sayesinde yapılır.
Bu servis ile -anlık olarak- yeni veri kullanılabilir olduğunda, sunucudan mobil uygulamanıza istek gönderilir. Böylelikle telefon üzerinde sürekli veri giriş çıkışı kontrolü yapılmaz. Pil, ram, işlemci tasarrufu sağlanır.
                                                  Başlıca Cloud Messaging Sağlayıcıları                                                   
              Google Cloud Messaging                    
 Apple Push Notification Service
                                                           Oracle Cloud Messaging
                                                     Windows Push Notification Service

Google Cloud Messaging (GCM) Nedir ?

Geliştiricilere Google tarafından ücretsiz olarak sunulmaktadır. GCM Hizmeti ilk önce Haziran 2012'de , kimlik doğrulama ve dağıtım, yeni API bitiş noktaları ve mesajlaşma parametrelerinde yapılan iyileştirmeler ve sınırlamaların kaldırılmasını gerekçe göstererek, Google'ın şu an geçmemiş olan Android Cluetooth'dan Bulut'a Aygıt Mesajlaşma (C2DM) hizmetine bir halef olarak ilan edildi. API gönderme oranları ve mesaj boyutları.
2014 yılında ise bunun yerini Google'ın Firebase Cloud Messaging (FCM) aldı.
Geliştirilmesi
Google Cloud Messaging'e geçiş, Android hizmeti 27 Haziran 2012'de Google I / O'da açıldığında ilk açıklandı.Google Bulut Mesajlaşma servisini duyurduktan kısa süre sonra Google, C2DM'den yeni servise geçişle birlikte uygulama geliştiricilere rehberlik edecek belgeler yayınladı. Hizmete geçiş yapmak için SDK ve kod değişikliklerinin yanı sıra, indirmek ve güncellemek için yayın deposu (Google Play gibi) için bir uygulama güncellemesi yayınlaması gerekir.
Chrome hizmeti, Google I/O 2013'ten önce ‘Push mesajıyla etkili uygulamalar ve uzantılar oluşturma' başlıklı bir blog yazısı ile ilan edildi.
I/O 2015'te Google, yeni bir SDK ve iOS desteği verdiğini açıkladı.

Teknik Detayları
Google Cloud Messaging işlevleri, hem sunucu API'larını ve hem de  SDK'lari Google tarafından yapılmaktadır. GCM, push bildirimlerini, derin bağlantı komutlarını ve uygulama verilerini gönderme yeteneğine sahiptir. Daha büyük mesajlar, en fazla 4 KB ‘a kadar gönderilebilir.


İstemci uygulaması, bildirimleri alması ve göstermesi için uygulama iznine izin verdikten sonra, kayıt işlemine başlamak için Google Cloud Messaging arayüzüne bir register API isteği gönderir. GCM Hizmeti, isteği alır ve onaylar ve geliştiricinin daha sonra tek bir aygıta bir bildirim göndermek için kullandığı benzersiz bir tanımlayıcı olan aygıta bir GCM Registration ID vererek yanıt verir. Tanımlayıcı aygıta kaydedilir ve genellikle saklanması için geliştiricinin uygulama sunucusuna gönderilir. GCM Registration ID, bir geliştiricinin kullanıcının kişisel kimliğini keşfetmesine izin verebilecek herhangi bir kişisel veya cihaz bilgisi içermeyen rasgele üretilen bir tanımlayıcıdır. Geliştirici bir aygıta bir bildirim olayı göndermek istediğinde, süreç GCM Kimlik Doğrulama Hizmetine gönderilen bir API POST isteğiyle başlar. POST isteği, GCM Registration ID, önceliği, isteğe bağlı değerleri ve bağlantıları ve varışta cihazda görüntülenmesi gereken bilgileri içerir. GCM Registration ID nin ve diğer kimlik bilgilerinin başarılı bir şekilde doğrulanması üzerine bir kimlik doğrulama işareti döndürülür.Ardından, her iki tanımlayıcı da GCM Hizmetine gönderilip ve sonra cihaza teslim edilir.


 Aşağıdaki tabloda çalışma sistemi anlatılmaktadır
Google Bulut Mesajlaşma Çalışma Sistemi