Turkcell | Geleceği Yazanlar

GELECEĞİ YAZANLAR BLOG

Yeni Blog Yaz

Android Uygulamalarına Facebook Entegrasyonu

Tuğba Üstündağ - 03 Nisan 2015

Mobil uygulama geliştiricileri sosyal medya ağlarının (Facebook, Twitter, Google+ vb.) API'lerini kendi mobil uygulamalarına entegre ederek, kullanıcıya kolaylıklar sağlamaktadır. Kullanıcı, mobil uygulama üzerinden sosyal medya hesaplarıyla giriş yaparak, kullanıcının duvarına yazı gönderme, profil bilgilerini gösterme, arkadaş listesini görüntüleme gibi birçok işlevi mobil uygulama üzerinden yerine getirebiliyor.

Ben size bu yazımda, bir Android uygulamasına Facebook API'sini entegre ederek, kullanıcının Facebook hesabına giriş, duvarına yazı gönderme ve profil bilgilerini gösterme işlemlerinin nasıl yapılacağını anlatacağım.

Proje uygulayabilmek için yapılması gereken adımlar şu şekildedir:

  1. Facebook ayarları için Android uygulamasını imzalama
  2. Android uygulamasıyla Facebook uygulamasını ilişkilendirme
  3. Facebook API'sini entegre edeceğimiz Android uygulamasını oluşturma

 

Facebook ayarları için Android uygulamasını imzalama 

Android uygulamamızın Facebook programıyla iletişime geçmesini sağlamak için yapacağımız ayarlardan ilki, Android uygulamamızı imzalamaktır. Android projemizi açıp, MainActivity sınıfının onCreate metodunun içine aşağıdaki kodu koyup, uygulamayı çalıştırıyoruz:

try {
            PackageInfo info = getPackageManager().getPackageInfo(
                    "com.tugbaustundag.facebookconnect",//Projenin paket ismini yazıyoruz
                    PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
            }
        } catch (PackageManager.NameNotFoundException e) {
            Log.d("KeyHash:", e.toString());
        } catch (NoSuchAlgorithmException e) {
            Log.d("KeyHash:", e.toString());
        }

Logcat penceresinde KeyHash adındaki log bölümünde oluşturmuş olduğumuz hash bilgisini alıp, bir notepad dosyasına kaydedin. Bu hash bilgisini daha sonra Facebook uygulamasında kullanacağız.

 

Android uygulamasıyla Facebook uygulaması ilişkilendirme

Android uygulamasıyla Facebook uygulamasını ilişkilendirebilmek için, developer facebook sayfasından, yeni bir Facebook uygulaması oluşturmamız gerekir. Bu sayfayı açtıktan sonra, Add New App düğmesine tıklıyoruz.

Üstteki ekran görüntüsündeki Android simgesini seçiyoruz. Sonrasında, aşağıda gördüğünüz ekran görüntüsünde yer alan Create New Facebook App ID düğmesine tıklayacağız.

Son olarak açılan pop-up ekranda uygulama kategorisini belirleyip, Create App Id düğmesine basıyoruz. Böylelikle Ornek API Uygulama adlı Facebook uygulamamızı oluşturmuş olduk. Şimdi sırada Android uygulamamızı, Ornek API Uygulama adlı Facebook uygulamamıza tanıtmak var.

Developer Facebook sayfasının üst menüsünden My Apps'e tıklayıp, Ornek API Uygulama isimli uygulamamı seçiyorum. 

Sonra üstte görünen sol menüden Settings bağlantısını açıyorum.

Üstteki ekran görüntüsünde kırmızı kare içine aldığım "Add Platform"u seçip, açılan pencerede Android simgesini seçiyoruz. Böylelikle, Ornek API Uygulama adlı Facebook uygulamamızla Android projemizi ilişkilendirmek için asıl ayarları yapacağımız bölümü oluşturmuş olduk.

Şimdi Android projemizle ilgili bilgileri bu platforma ekleyelim. Aşağıda göreceğiniz üzere, Google Play Package Name alanına Android projemizin paket ismini; Class Name alanına, Facebook ile ilgili işlemleri yapacağımız sınıf ismini (paketismi.sınıfismi şeklinde olmalı), Key Hashes alanında daha önce oluşturduğumuz hash değerini koyduk.

"Save Changes" düğmesine tıklayarak yaptığımız ayarları kaydediyoruz.

Böylelikle Facebook uygulamamızı oluşturduk. Menüdeki "My Apps" bölümünden oluşturduğumuz uygulamayı seçtiğimizde, uygulamanın özelliklerini barındıran sayfa açılacak. Buradan Facebook App ID'yi kopyalayıp, bir notepad dosyasına kaydedin. Daha sonra Facebook App ID'sini Android uygulamasıyla Facebook uygulamasını ilişkilendirirken kullanacağız.

 

Facebook API'sini entegre edeceğimiz Android uygulamasını oluşturma

Android Studio IDE'sini kullanarak yeni bir Android uygulaması açalım. Oluşturmuş olduğumuz Android uygulamasında, kullanıcının; Facebook hesabına giriş, duvarına yazı gönderme, profil bilgilerini gösterme gibi işlemleri yapmak istiyorsak, Facebook SDk'sını projemize eklemeliyiz.

Bu işlem Android Studio'da çok basit bir şekilde yapılabilmektedir. Bunun için build.gradle dosyasını açıp, dependencies içine

compile 'com.facebook.android:facebook-android-sdk:3.23.1'

kodunu eklemeniz yeterlidir.

Şimdi ise, Android programlama yaparak, kullanıcının; Facebook hesabına giriş, duvarına yazı gönderme ve profil bilgilerini gösterme işlemlerinin nasıl yapılacağını anlatacağım.

Projeyi indirerek kodları içinde yorum satırlarındaki açıklamaları okumanızı sizden rica edeceğim:

https://github.com/tugbaustundag/Android-Uygulamasinda-Facebook-Entegrasyonu

 

Sonuç

Gördüğünüz üzere, bir Android uygulamasına Facebook işlevsetini eklemek, son derece kolay bir süreç.

Bir sonraki yazımızda sizlerle uygulamamızı Twitter ile konuşturacağız. O güne dek iyi kodlamalar!

 

Kaynaklar:

http://sunil-android.blogspot.com.tr/2013/08/facebook-integration-with-android-app.html

http://www.androidhive.info/2012/03/android-facebook-connect-tutorial/

 

Açılış görseli: Pixabay (CCO Public Domain)

14 Cevap

Burhan Aras

06 Nisan 2015

Çok faydalı bir makale olmuş bence. Tebrik ederim.

Hüsamettin

24 Nisan 2015

Çok işime yaradı Teşekkürler. .

Ahmet Sen

24 Nisan 2015

get profile information diyince Tugba Üstündağ'ın bilgilerini getiriyor? bir bilgisi olan var mı?

Tuğba Üstündağ

24 Nisan 2015

 Arkadaşlar, övgülerniz için teşekkür ederim:)

Tuğba Üstündağ

24 Nisan 2015

Ahmet , getProfileInformation metodunda ,

 //Kullanıcının user idsini kullanarak json string elde ettik
 JSONObject profile = Util.parseJson(facebook.request("642373865"));  bölümünde, örnek olarak  kendi user id'mi kullandığım için benim bilgilerim gelmesi gayet normal.Bu user id değiştrip,kendi user id ni yazmalısın.

Sayfalar

Yorum yapmak için Giriş Yapın ya da Üye olun.