Google Cloud Messaging – kısaca GCM – aslında sunucu görevindeki bilgisayarlardan gönderilen verilerin, android tabanlı cihazlardan (akıllı telefon olur, tabletler olur) almaya yarayan bir teknolojinin adıdır.
GCM, adından da anlaşılabileceği üzere bulut teknolojisini kullanarak uygulamalara veri göndermeyi sağlar. Neyse, bu bulut sistemi dedikleri birşey var, herşey oraya birşey atıyor, gelen de oradan birşey alıyor özetle. Abur cubur dolduruyorsun, herkes ihtiyacını oradan alıyor. Bu bilişim konularına da fazla kafayı yormayalım bence, yoksa sıyırırsınız, kafayı taktınız mı o zaman işiniz kötü aslında… Bu sebeple çok detaya inmek istemiyorum .
GCM’nin sağladığı en büyük faydayı anlamak için birlikte düşünelim.
Örneğin bir android uygulaması yazdınız, maç sonuçlarını gösteriyorsunuz. Uygulamanızın skor bilgisini kullanıcılara güncel bir şekilde göstermesi gerekiyor maç oynandığı süre boyunca. Burada GCM’den haberi olmayan bir kişi, uygulamasına her 10 saniyede bir serverdan “Maç sonucu var mı?” diye sormak suretiyle yanıt bekler.
Bu durum hem server yoğunluğuna sebep olur (Uygulamanızı kullanan herkesin telefonunun 10 saniyede 1 servera skorlarda bir değişme var mı diye sorduğunu düşünün) hem de telefonlar sürekli data alıp gönderdiği için mobil veri aktarımı yüksek olur. Ayrıca sürekli bir aktivite hem telefonun ram kaybına sebep olur, hem de akıllı telefonların şarj ömrünün zaten çok kötü olduğu günümüz teknolojisinde, bataryanın çabuk bitmesine sebep olur. GCM aslında tam bu noktada devreye giriyor. GCM sayesinde, server, skorda bir değişim olduğunda telefonlara “Skorlar Değişti!” mesajını gönderiyor.
Şimdi de gelelim GCM’deki aktörlerin kim olduğuna. Aslına bakarsanız 3 aktör ile süreç yönetilebiliyor.
- Android Uygulamanız
- Google’ın GCM Sunucuları
- Sizin Sunucunuz
Aralarındaki ilişkiyi de kendi hazırladığım bir grafikle ele alalım;