Facebook Uygulaması (Application) Hazırlamak
Özellikle son dönemdeki Facebook
çılgınlığı hem kişisel hem de kurumsal anlamda herkesi içine çekmeye
başladı. Bazılarımız arkadaşlarından haber almak için Facebook’a
girerken bazıları ise işin ticari kısmı ile ilgileniyor. Hangi tarafta
olursanız olun, bir programcıysanız eminiz ki bir Facebook uygulaması
yazmak istemişsinizdir.
Başlamak İçin Neler Gerekli ?
Facebook için bir uygulama
geliştirdiğinizde uygulamanızın veritabanı ve esas dosyaların sizin
belirlediğiniz bir sunucuda ve adreste yayınlanır. O nedenle ilk olarak
bir web adresine sahip olmanız ve uygun bir barındırma hizmeti satın
almış olmanız gerekecektir. Facebook sadece sizin uygulamanızı
kullanarak kullanıcılara hizmet verir, uygulamanızı barındırmaz.

Facebook Developer olma yolunda
Hesabınıza giriş yaptıktan sonra ilk olarak Developer | Facebook
adresinden Developer adındaki Facebook uygulamasını kendi hesabınıza
eklemeniz gerekiyor. Bu uygulama sizin farklı Facebook uygulamaları
geliştirebilmeniz için gerekli olan API ve Secret Key
denen bilgileri yaratmanızı sağlayacak. Developer uygulamasına
hesabınıza kurduktan sonra hemen Facebook hesabınızdaki sol menüden “Developer”
linkine tıklayarak söz konusu uygulamanın sayfasına gidin. Bu sayfa
içerisinde “Set Up New Application” linkine tıklayarak yeni bir
uygulama yaratmak için başvuruda bulunabilirsiniz. Başvuru esnasında
sizden ilk olarak uygulamanıza bir isim vermeniz istenecektir.
Sonrasında “Callback URL” denen bir adres girmeniz
gerekecek. Başlangıç aşamasında bu adres sizin yerel makinenizdeki
“localhost” gibi bir adres olabilir. Uygulamanızı geliştirdiğiniz
sürede kendi makinenizde IIS üzerinde sunmanız gerekecek. Geliştirme
süreci sonlandığında uygulamanızı internete koyduğunuzda Callback URL’i
değiştirmeniz yeterli olacak.
FBML mi IFRAME mi?
Uygulama başvurunuz esnasında karşınıza
gelecek sorulardan belki de en can alıcısı FBML mi yoksa IFRAME
uygulaması mı geliştirecek olmanızdır. İlk olarak FBML kısmını bir
açıklayalım. Açılımı Facebook Markup Language olan
tamamen Facebook’a özel bir uygulama geliştirme dili diyebileceğimiz bu
sistem ile çok hızlı bir şekilde standart uygulamalar
geliştirebilirsiniz, fakat maalesef özelleştirilme noktasında bazı
sıkıntılar yaşamanız olasıdır. Siz sadece bir MarkUp Language
ürettiğiniz için sayfalarınızın tasanmı otomatik olarak Facebook
tarafından yaraülır. FBML ayrıca kullanıcıların profillerine
yerleştirilen bilgilerin de formatı olduğu için bir IFRAME uygulaması
da geliştirseniz profilleri ancak FBML ile oluşturabilirsiniz.
FBML ile ilgili detaylı dokümantasyonları
wiki.developers.facebook.com/index.php/FBML adresinden edinebilirsiniz.
IFRAME uygulamalarıysa geliştirilmesi çok daha zor olmakla beraber aslında çok daha esnektirler.
Facebook sizin geliştirdiğiniz
uygulamayı bir IFRAME içerisinde yükler ve bu şekilde çalıştırır. Bu
teknikte Session yönetimi çok daha karışıktır. Biz yazımızda IFRAME
seçeneğini seçerek devam edeceğiz.
Canvas Page URL kısmına yazacağınız adres uygulamanızın çalışacağı Facebook adresi olacakür.
“Site Nav”
linkine uygulamanızın ayarlarının yer alacağı ve kullanıcıların sol
menülerinden tıklayarak yönlenecekleri adresi yazmanız gerekecek. Bu
adres Canvas Page adres ile aynı yerde olmalı, yerel adres olmamalı.
Son olarak başvuru sayfasında “Can your application be added on
Facebook” seçeneğini de seçerek işlemi tamamlayabilirsiniz.
Facebook uygulamanızın başvurusu
sonlamnca uygulamanız için bir API KEY ve bir de Secret Key
verilecektir. Bu değerleri yarattığımız uygulamanın içerisinde
kullanmamız gerekecek.
Gerekli yüklemeler
Visual Studio ile beraber Facebook
uygulamaları geliştirebilmek için birkaç seçenek var. Bunlardan ilki
Facebook.NET kütüphanesi, CodePlex - Open Source Project Hosting adresinden edinebileceğiniz kütüphane ile kolaylıkla FBML veya IFRAME uygulamaları geliştirebilirsiniz.
Özellikle bu kütüphaneyle beraber gelen
sunucu kontrolleri yazılım geliştirme sürecini ciddi şekilde kısalüyor.
Diğer yandan Facebook API bilgileri kapsamında daha güncel olan ve
tavsiye edilen bir diğer kütüphane de Facebook Developer Toolkit. Bu
kütüphaneyi de Facebook Developer Toolkit - Home adresinden bilgisayarınıza indirebilirsiniz. Biz örneğimizde Facebook Developer Toolkit kullanacağız.
Facebook Web Application yaratıyoruz
Tüm yüklemeler tamamlandıktan sonra
Visual Studio açıldığında karşımıza Facebook Web Application seçeneği
geliyor. Bu seçenek ile yeni bir web uygulaması yarattığımızda artık
Facebook dünyasına adım atmış oluyoruz. İlk olarak yapmamız gereken
uygulamamızın tüm ayarların bulunacağı ana sayfayı hazırlamak. Bu ana
sayfa aynı anda uygulamamızın Site Nav ayarında belirlemiş olduğumuz ve
kullanıcıların sol menülerinden ulaşacakları sayfa olacak. Doğal olarak
bu sayfa açıldığında FacebBook ile bizim uygulamamızın arasındaki “Authentication”
işlemini de yapması gerekecek. Tüm bu işlemler için gerekli kodlar
zaten FacebookWeb Application proje şablonu ile beraber geliyor. Söz
konusu proje şablonu içerisinde ana sayfanın kodunda yer alan aşağıdaki
kodların Facebook’tan alınan KEY ve SECRET bilgileri ile değiştirilmesi
gerekiyor.
Hazırladığınız bu web formu normal bir ASP.NET sayfası
programlarken gibi hazırlayabilirsiniz. Bazı durumlarda Facebook ile
ASP.NET arasında Session kaybı yaşanabiliyor. Böyle durumları
engellemek için ASP.NET’te PreRender event’ını Over-Ride ederek kendi
event’ımızı yazmamız gerekiyor. Aşağıdaki kod ile Header bilgisini
değiştirerek sorunu gideriyoruz.
Kod: Tümünü seç
Protected Overrides Sub OnPreRender(ByVal e As EventArgs)
Response.AppendHeader("P3P", "CP="CAO PSA OUR""")
MyBase.OnPreRender(e) End Sub
Uygulamanız çalışırken kendisine bağlı kullanıcı ile ilgili verileri veritabanma kaydediyor olacak. Kullanıcıyı yakalamak için Facebook.Components.FacebookService nesnesini kullanabilirsiniz.
Bu nesneye ait UserID metodu
kullanıcının Facebook’daki ID bilgisini verecektir. Bu bilgi üzerinden
gerekli ayarları kendi veritabanınıza kaydedebilirsiniz.
Uygulamanızın yapması gereken önemli
şeylerden biri de kullanıcınızın yaptığı şeylerden insanları haberdar
etmektir. Bunun için söz konusu kullanıcının haberler listesine
kendisiyle ilgili haberleri eklemeniz gerekecektir.
Kod: Tümünü seç
Private FBService As Facebook.Components.FacebookService=
New Facebook.Components.FacebookService()
PublishStory metodu ilk parametre
olarak gönderilecek metin mesajını alıyor, ikinci olarak da mesajın
yanından gösterilecek resmin adresini istiyor.
Kod: Tümünü seç
Dim PhotoList As New System.Collections.ObjectModel.Collection(Of Facebook.Entity.Publishlmage)
PhotoList.Add(New Facebook.Entity.PublishImage("http://localhost:2008/images/minikare.gif", "http://www.link.com"))
FBService.PublishStory("MESAJ"), PhotoList)
Yukarıdaki şekliyle mesajla
gösterilebilecek fotoğrafları ayarladıktan sonra uygun mesajı da
ekleyerek yayınlayabiliyoruz. Mesajın yanma eklenen her resmin bir de
linki olmak zorunda.
Görüntüleri düzenlemek
Kullanıcıların profillerinde
gösterilecekleri düzenlemek için FBML kullanmak durumundayız. Uygun
FBML kodunu düzenledikten sonra sayfamızdaki Facebook.Components.FacebookService nesnesinin SetFML metodu ile gönderiyoruz.
Kod: Tümünü seç
FBService.SetFBML(FBMLCode)
Yukarıdaki kod ile tanımlayabileceğimiz
FBML kodunu hazırlarken özellikle dikkat etmemiz gereken bir nokta var.
Uygulamamız Facebook sayfalarında geniş veya dar kolona yerleştirilmiş
olabilir. Bu farklı konumlar için farklı tasarımlar yaparak FBML
kodları içerisinde yerleştirilmeli.
Facebook uygulamanızı geliştirirken,
değişiklikler yaparken bazen yapmış olduğunuz değişiklikler anında
Facebook ortamına yansımadığını görebilirsiniz. Bu durumlarda ısrarcı
olmayıp beklemekte fayda var. Yoğunluk nedeniyle bazı işlemlerin geç
sonlanması olağan bir durum olarak öngörülebilir.
Wide tagları arasında yer alan tasarım geniş ko-lonlardaki
uygulamamıza, narrow tagları arasında yer alan tasarım dar kolonlardaki
uygulamamıza yansıyacaktır.
Yayın zamanı
Tüm düzenlemeleri yaparak uygulamamızı tamamladıktan sonra sıra geldi
yayına geçmeye Artık uygulamamıza ait ASP.NET sitesini uygun bu
barındırma alam satın alaıak internete koymamız geıekıyoı Sor konusu
sitenin adresini de Facebook pı of ilimizdeki Developer uygulaması
aracılığı ile uygulamamızın Callback URL kısmına yazmamız şart işlemleı
tamamlandıktan sonra artık Facebook uygulamamızı herkes kullanabilir.
NOT : Facebook uygulamanızı
geliştirirken, değişiklikler yaparken bazen yapmış olduğunuz
değişiklikler anında Facebook ortamına yansımadığını görebilirsiniz. Bu
durumlarda ısrarcı olmayıp beklemekte fayda var. Yoğunluk nedeniyle
bazı işlemlerin geç sonlanması olağan bir durum olarak öngörülebilir.
Hazırlayan : Daron YÖNDEM / PCNet
|