obenplus.com | oben+ | Hikayesi bol bir yazılımcının kaleminden, teknoloji dünyasını en önemli ve en ince ayrıntısına kadar takip etmek, bir yazılımcının hayatını, yaşantısını gözlemlemek isteneyenler için...

All posts tagged google cloud messaging

Arkadaşlar ilk yazımda, GCM projesine, Android uygulaması üzerinden project id (sender id) üzerinden register olmuştuk. Yazıda ben bileşenlerden bahsetmiştim. Kişisel tasarımım ise aşağıdaki şekilde;

ASDAD

 

Uygulamanın bu aşamaya kadarki kodlarına buradan ulaşabilirsiniz.

Arkaplanda kayıt işlemini yapan kodumuzu tekrar hatırlayalım;

Read more


Merhaba arkadaşlar,

Bu konu aslında benim de uzun zamandır merak ettiğim fakat öğrenme fırsatı bulamadığım bir konuydu. Size bu yazıyı değişik bir teknikle hazırlama kararı verdim. Öğrenirken, bir yandan da parça parça size bu yazıyı hazırlayacağım. Burada dikaktinizi çekmek istediğim bir konu var, artık Google Cloud Messaging SDK sı yenilendi. Eski SDK kaldırıldı ve bloglarda bulunan tüm yazılar halen eski sdk ya göre. Ben bu sebeple hiç bir kaynaktan faydalanamadığım için doğrudan resmi dökümantasyonu okuyarak orada öğrendiklerimden yola çıkarak geliştirme yapacağım. Bu sebeple biraz  zor bir süreç olacak benim için, fakat tamamlandığında komple yeni SDK ya göre ve Türkçe bir kaynak olarak bence herkesin faydalanabileceği bir yazı oldu.

Google Cloud Messaging hakkında detaylı ön bilgi sahip olmak istiyorsanız resmi dökümantasyonundan faydalanabilirsiniz. Yazımın bir kısmında Ravi Tamada’nın bu yazısından da destek aldım.

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.

  1. Android Uygulamanız
  2. Google’ın GCM Sunucuları
  3. Sizin Sunucunuz

Aralarındaki ilişkiyi de kendi hazırladığım bir grafikle ele alalım;

 

Şimdi buraya kadar, GCM nin telefon ve server ile arasında geçen süreci aktardık. Şekilden de göreceğiniz üzere a ve b şeklinde 2 ok da var. Read more