Your Own Facebook Apps


Waktu yang lalu ada teman yang meminta untuk dibuatkan aplikasi facebook untuk sistem androidnya…..walaupun sebenarnya aplikasi facebook sudah banyak beredar di dunia maya, tapi teman saya ingin fitur yang bebeda.

Pada dasarnya facebook sudah menyediakan sebuah bantuan bagi developer untuk mengembangkan aplikasi tersebuat baik menggunakan android. Hal tersebut terdapat dalam sebuah API Facebook yang dapat dibuat menjadi aplikasi facebook yang seperti kita inginkan. API easyfacebookandroid.jar bisa didapatkan di disini.

 

Pertama : Mempersiapkan aplikasi facebook dengan meregisterkannya di facebook.com.

Langkah diatas dimaksudkan, API Facebook membutuhkan sebuah facebook app id dan key hashes sebagai permission/ijin agar kita dapat menggunakan fitur-fitur pada facebook. Jika belum memiliki App Id, maka :

  1. Harus mendaftar di https://developers.facebook.com/apps
  2. Setelah selesai, pilih menu Create New App 
createApp FB

Facebook Apps

  • Setelah selesai, lanjut sampai bisa menyimpan “save” App Id dan mendapatkan App Secret nya.
  • Jika sudah dapat App Id dan App Secret, nilai yang ada pada App secret di copy dan di compile pada command prompt dengan perintah berikut :
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

*Make sure that you have provided the correct path to the debug.keystore. For Windows, it is generally at C:\Users\<user>\.android\ and for Mac at /Users/<user>/.android/

compile your App Secret

compile your App Secret

  • Copy dan Paste key hashes hasil compile tadi, lalu letakkan di Facebook App Setting.
copy and paste facebook app secret

copy and paste facebook app secret

  • Then “save change”

 

Kedua : Membuat dan melanjutkan pembuatan pada Android

  • download terlebih dahulu easyfacebookandroid.jar
  • buka eclipse, dan buat sebuah projek anrdroid, serta gunakan versi android/target 2.2 (mgkn bisa yang lain)
  • masukkan easyfacebookandroid.jar tadi yang telah didownload ke dalam folder lib pada projek yang telah dibuat
insert lib easyfacebookandroid.jar

insert lib easyfacebookandroid.jar

  • Buka  file AndroidManifest.xml dan tambahkan INTERNET permission kedalamnya.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="net.junian.kodefun.fbapp"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:label="@string/app_name"
            android:name=".KodeFunFBAppActivity" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-permission android:name="android.permission.INTERNET"/>

</manifest>
  • Modifikasi file activity yang dibuat (contoh : KoeAppActivity.java)
package net.junian.kodefun.fbapp;

import com.easy.facebook.android.apicall.GraphApi;
import com.easy.facebook.android.data.User;
import com.easy.facebook.android.error.EasyFacebookError;
import com.easy.facebook.android.facebook.FBLoginManager;
import com.easy.facebook.android.facebook.Facebook;
import com.easy.facebook.android.facebook.LoginListener;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class KodeFunFBAppActivity extends Activity implements LoginListener {
 /** Called when the activity is first created. */

 private FBLoginManager fbLoginManager;

 //replace it with your own Facebook App ID
 public final String KODEFUNFBAPP_ID = "303121969700700";

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  //setContentView(R.layout.main);
  connectToFacebook();
 }

 public void connectToFacebook(){

  //read about Facebook Permissions here:
  //http://developers.facebook.com/docs/reference/api/permissions/
  String permissions[] = {
    "user_about_me",
    "user_activities",
    "user_birthday",
    "user_checkins",
    "user_education_history",
    "user_events",
    "user_groups",
    "user_hometown",
    "user_interests",
    "user_likes",
    "user_location",
    "user_notes",
    "user_online_presence",
    "user_photo_video_tags",
    "user_photos",
    "user_relationships",
    "user_relationship_details",
    "user_religion_politics",
    "user_status",
    "user_videos",
    "user_website",
    "user_work_history",
    "email",

    "read_friendlists",
    "read_insights",
    "read_mailbox",
    "read_requests",
    "read_stream",
    "xmpp_login",
    "ads_management",
    "create_event",
    "manage_friendlists",
    "manage_notifications",
    "offline_access",
    "publish_checkins",
    "publish_stream",
    "rsvp_event",
    "sms",
    //"publish_actions",

    "manage_pages"

  };

  fbLoginManager = new FBLoginManager(this,
    R.layout.main, 
    KODEFUNFBAPP_ID, 
    permissions);

  if(fbLoginManager.existsSavedFacebook()){
   fbLoginManager.loadFacebook();
  }
  else{
   fbLoginManager.login();
  }
 }

 @Override
 protected void onActivityResult(int requestCode, int resultCode, android.content.Intent data){
  fbLoginManager.loginSuccess(data);
 }

 public void loginSuccess(Facebook facebook) {
  GraphApi graphApi = new GraphApi(facebook);

  User user = new User();

  try{
   user = graphApi.getMyAccountInfo();

   //update your status if logged in
   graphApi.setStatus("Hello, world!");
  } catch(EasyFacebookError e){
   Log.d("TAG: ", e.toString());
  }

  fbLoginManager.displayToast("Hey, " + user.getFirst_name() + "! Login success!");
 }

 public void logoutSuccess() {
  fbLoginManager.displayToast("Logout Success!");
 }

 public void loginFail() {
  fbLoginManager.displayToast("Login Epic Failed!");
 }
}
  • Selesai, Save, And Run Your Apps.

 

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s