2011년 1월 16일 일요일

안드로이드 어플에 Facebook을 적용하는 방법

1. Android Application에 Facebook android SDK를 적용하는 방법 (참고 https://github.com/facebook/facebook-android-sdk)
[환경설정]
  가. GitHub로부터 facebook-android-sdk를 git를 사용하여 가져온다.
    1) 방법 git clone git://github.com/facebook/facebook-android-sdk.git
    2) 참고 : git는 리눅스 환경에서 사용되는 것이므로 Wondows OS 환경에서는 msysgit를 다운로드하여 사용한다.
      (http://code.google.com/p/msysgit/downloads/detail?name=Git-1.7.3.1-preview20101002.exe&can=2&q=)
      (http://code.google.com/p/msysgit/downloads/list)
      (참조 : http://hiddenid.tistory.com/2)
    3) 디렉토리 구조
      가) 상위(1st) 디렉토리 : facebook-android-sdk
      나) 하위(2nd) 디렉토리 : examples (simple, stream), facebook, tests
      다) facebook : 기본적인 facebook SDK library source files
        (1) AyncFacebookRunner.java :
        (2) DialogError.java
        (3) Facebook.java
        (4) FacebookError.java
        (5) FbDialog.java
        (6) Util.java
      라) examples/simple : Login, upload Photo, Request, post Wall
        위의 facebook을 library로 이용
      마) examples/stream : Login, 자신의 friend의 timeline을 보여준다.
        위의 facebook을 library로 이용
      바) tests : Login test(잘됨, 여러가지 facebook 기능의 동작을 보여줌), UI test(x), Logout test(x)

  나. Facebook-android-sdk를 적용하는 Application을 만들고 싶을 때
    1) 만드는 Application에 Facebook Android SDK library에 관한 dependency를 추가
      가) File -> Properties를 선택하고, Properties 다이얼로그상에서 Android section을 open
      나) 밑의 Library section에서 추가 버튼을 클릭하고, Facebook SDK project를 선택
        (1) default.properties 파일이 다음의 내용이 추가됨
             android.library.reference.1=../../Gyeonggi/facebook-android-sdk/facebook/
    2) Facebook은 서버와 통신을 하므로 Android manifest 파일에서 네트워크 접속에 대한 권한 부여
      <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    3) Facebook에 Application 등록
      가) 새로운 Facebook application을 생성 (장소 http://www.facebook.com/developers/createapp.php) (주)
      나) application 이름과 그림을 설정 (application이 인증될 때, 보이게 됨)
      다) 과금을 위한 계정 필요 : 휴대폰 인증을 통해 등록 확인 (휴대폰 번호 또는 카드번호)
      라) 인증 키 등과 같은 정보가 발행됨 (OAuth 절차에서 사용)