30 Temmuz 2012 Pazartesi

Countly iPhone SDK Kurulumu


Daha önceki yazılarımızda açık kaynak kodlu bir Türk mobil analitik projesi olan Countly'den bahsetmiştik. Şimdi Countly'nin iPhone uygulamaları için hazırladığı SDK'nın uygulamalara nasıl entegre edileceğine bakacağız.
Countly SDK CoreTelephony kütüphanesine de ihtiyaç duymaktadır. Eğer projemizde bu kütüphane mevcut değilse kütüphaneyi projeye dahil edelim.. Dosyaları ekledikten sonra yapmamız gereken AppDelegate dosyası içinde - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
metodu içerisinden aşağıdaki kodu çağırmak olacaktır. appKey yerine uygulama için yaratılan anahtarı girmeniz gereklidir.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    
    [[Countly sharedInstance] start:@"appKey"];
}
Bu koddan sonra analiz bilgileri sunucuya gönderilmeye başlanacaktır. Burada unutmamanız gereken Countly.m dosyası içerisinde kendi sunucu adresinizi tanımlamaktır. 

#ifndef COUNTLY_URL
//#error You should define your COUNTLY_URL as below...
#define COUNTLY_URL "http://www.benimsunucum.com.tr/analiz"
#endif

25 Temmuz 2012 Çarşamba

Countly Kurulum


Countly’yi çalıştırmak için Ubuntu işletim sistemi kullanan bir sunucu edinmenizi tavsiye ederiz. Dosyaları indirdikten sonra sunucuya kopyalayın (ya da wget komutuyla direk sunucuya indirin) ve sıkıştırılmış dosyaları açın. Daha sonra dosyaları açtığınız klasörün içinde yer alan bin alt klasörü içinde ./countly.install.sh dosyasını çalıştırmanız gerekecektir. Bu dosya kurulum için gerekli komutları içerir. Gerekli veritabanları ve uygulamalar yüklendikten sonra Countly’yi kullanmaya hazırsınız.

Countly otomatik olarak 80 portunu dinlemeye ayarlıdır. Eğer bu port üzerinde çalışan başka bir uygulama varsa (örn. Apache ya da bu porta ayarlı bir Tomcat) Countly çalışmakta sorun yaşayacaktır. Portu değiştirmek için kuruluma başlamadan önce bin klasörü içinde config klasörüne gidin ve nginx.server.conf dosyası içerisinde listen yazan satırı bulun. Bu satır Countly’nin çalışma portudur. Bu değeri dilediğiniz gibi değiştirebilirsiniz (seçeceğiniz portun kullanılmıyor olmasına dikkat edin).

Kurulum tamamlandıktan sonra http://sunucuadi:555/ adresine giderek Countly’i kullanmaya başlayabilirsiniz. Biz portu 555 olarak değiştirdiğimiz için bu port üzerinden bağlandık. Eğer 80 ve 8080 dışında bir port üzerinden bağlanıyorsanız ve sunucunuz üzerinde kurulu bir güvenlik duvarı (Firewall) varsa ilgili portu serbest bırakmayı unutmayınız.

Countly'nin kurulumu bundan ibaret. Bir sonraki yazımda Countly'i mobil cihazınızda nasıl çalıştıracağınızı anlatacağım.

23 Temmuz 2012 Pazartesi

Countly - Open Source Mobile Analytics


Eğer mobil uygulamalarınıza ait kullanım verilerini yabancı bir sunucuda tutmayı doğru bulmuyorsanız (örn. bir banka mobil uygulaması) kendinize ait bir mobil analiz platformuna ihtiyacınız var demektir. İşte bu noktada bir açık kaynak yazılım olan Countly’yi kullanabilirsiniz.



Bir Türk bir yazılım ekibi tarafından geliştirilen Countly, geçtiğimiz günlerde ilk versiyonunu web sitesinden duyurdu. Tamamen açık kaynak olan Countly, sunucu yazılımı ve mobil uygulamalara entegre edilmesi gereken SDK ile beraber sunulmaktadır. Şu an için Android ve iPhone platformlarını destekleyen Countly ‘yi http://www.count.ly adresinden indirebilirsiniz.

Sonraki yazılarda Countly'i Ubuntu yüklü bir sunucuda nasıl kuracağınızı anlatacağız.

19 Temmuz 2012 Perşembe

iOS 6 ve Apple'ın Instagram'ı


Şüphesiz Apple iOS 6 ile birçok yeni ve kullanışlı özellik duyurdu ancak aralarında çok öne çıkmayan bir özellik var ki Apple'ın sosyal ağ kurma işine ne kadar kafayı taktığını gösteriyor. Bilindiği gibi Apple daha önce Ping adında kişilerin müzik zevkleri üzerine bir sosyal ağ duyurmuş, ancak bu ağ beklenen ilgiyi görmemişti. Şimdi ise Apple - büyük ihtimalle insanların fotoğraf paylaşmasındaki artışı da görerek - fotoğraflar üzerinden bir sosyal ağ hedefliyor.

iOS 6'da gelen ve yazıya konu olan özellik iCloud'a koyduğunuz resimleri arkadaşlarınızla paylaşmanız. Apple'ın Photo Stream dediği bu sistemde çekilen resimler öncelikle iCloud hesabınıza atılıyor. Daha sonra resim klasörlerinizden herhangi birisine girip paylaşmak istediğiniz resmi seçiyorsunuz ve Photo Stream (Fotoğraf Yayını) seçeneğini seçiyorsunuz. Bu seçeneği seçtiğinizde öncelikle paylaşımlar için yeni bir albüm oluşturmanız isteniyor. Albümü oluştururken kimlerle paylaşacağınız ve albümün internet üzerinden herkese açık olup olmayacağı seçeneklerini belirtmeniz gerekiyor.



Albümü oluşturduktan sonra iOS 5 ile gelen Twitter paylaşım ekranına benzer bir ekranda mesajınızı yazıyorsunuz ve Gönder düğmesine basıyorsunuz. Bu aşamadan sonra paylaştığınız kişinin de Apple hesabı varsa telefonuna bir uyarı mesajı gidiyor ya da kişiye paylaşım linkini içeren bir eposta gönderiliyor.



Buraya kadar basit bir resim paylaşımı gibi görünen sistemdeki sosyallik ise resimlere göz atarken ortaya çıkıyor. Bir resme tıkladığınızda hemen aşağıda Bir yorum ekleyin ve Beğen seçenekleri göze çarpıyor. Burada arkadaşlarınızın resimleriyle ilgili yorumlar ekleyerek bir sosyal paylaşım gerçekleştirmeniz mümkün.



iOS 6 Beta 1 ile duyurulan Photo Stream'in özellikleri şimdilik bunlarla sınırlı. Ancak bu kadarı bile Instagram'daki temel sosyal etkileşimi birebir uyguladıklarını gösteriyor. Kimbilir belki sonraki versiyonlarda Find My Friend uygulamasıyla entegrasyon gibi özellikler görebiliriz.

Kaynaklar

http://www.iphoneturkey.biz/2012/06/ios-6-ile-gelen-yeni-ozellikler-inceleme-iv.html
http://www.apple.com/ios/ios6/

18 Temmuz 2012 Çarşamba

iOS 6 ve Kartlara Elveda


iOS 6 işletim sisteminin en dikkat çekici özelliği şüphesiz yeni gelen Passbook uygulaması. Bu sistemle Apple kullanıcıların  yanında taşıması gereken (ve çoğu zaman da taşımadıkları) kupon, bilet, indirim kartı gibi şeyleri tek bir uygulama altında topluyor. Burada hedeflenen iOS 6 ile tanıtılan Pass Kit SDK kullanılarak firmaların IT sistemlerini Apple'ın kurduğu sisteme entegre etmeleri. Bu entegrasyondan sonra oluşturulan biletlerin kullanıcıya eposta, web adresi ya da bir başka yöntemle ulaştırılması gerekiyor.

Kart taşımamanın yanında kullanıcıya sağlanan avantajlardan biri de Passbook uygulamasının dahili hatırlatma özelliği. Tıpkı Reminder uygulamasındaki gibi Passbook içerisinde yer alan biletler otomatik olarak lokasyon ve zaman hatırlatması içeriyor. Bu şekilde bir etkinlik ya da uçak biletinin kullanım tarihi yaklaştığında kullanıcı ana ekrana gelen bir hatırlatma mesajıyla uyarılıyor. Aynı zamanda eğer etkinlik yeri değişirse kullanıcı bu değişimle ilgili anında bilgi sahibi oluyor.

Teknik taraftan bakıldığında ise firmaların oluşturduğu dosya aslında birkaç resim ve içerikten oluşan SHA-1 imzalı bir dosya. Burada görsel içeriğin ve etkinlik bilgilerinin Apple'ın istediği formatta ve Passbook uygulamasının okuyabileceği şekilde hazırlanması ve güvenli bir sertifikayla imzalanması gerekiyor. Aslında bu noktada Apple'ın oluşturduğu platform Push Notification servisine oldukça benziyor. Uygulamasında Pass Kit kullanacak geliştiricilerin iOS Provisioning Portal içinden öncelikle bir Pass Type yaratmaları gerekiyor. Pass Type yaratıldıktan sonra Apple size bir gizli anahtar içeren bir sertifika veriyor ve oluşturduğunuz biletleri bu sertifikayla imzalamanızı istiyor. Bu noktadan sonra biletler cihazın Pass Store denilen bilet hafızasına yükleniyor ve -eğer varsa- iPhone uygulamanız tarafından tanınabiliyor. Bu şekilde örneğin bir havayolu şirketiyseniz iPhone uygulamanız cihazda yüklü biletleri görüp kullanıcıyı havaalanında yönlendirebiliyor.

Her ne kadar şu anda somut kullanımını göremesek de markaların bu platforma hızlıca entegre olmak isteyeceklerine kesin gözüyle bakıyorum. Sonuçta 300 milyon kişinin cebinde yer alan bir sisteme girmeye direnç göstermek epey şaşırtıcı bir iş kararı olacaktır :)

Kaynaklar

http://www.apple.com/ios/ios6/
https://developer.apple.com/library/prerelease/ios/#documentation/UserExperience/Conceptual/PassKit_PG/Introduction.html