Unity3D Facebook SDK for Android Integration - 1. 준비작업

 이번 포스팅은 유니티3D 네이티브 안드로이드에 페이스북 SDK 연동을 정리해봅니다. 원래는 Facebook SDK for .NET으로 연동할까 했는데 추후에 시간이 있을 때 다시 해볼까 합니다. 포스팅 많이하기 시작했던 cocos2d-x 때와는 다르게 하나에 쭉 다 포스팅이 아닌 먼저 포스팅했던 내용들은 그 링크들로 대신합니다.
  • 페이스북 개발자 및 앱 등록
  • 유니티3D 안드로이드 JAR 플러그인 프로젝트 생성
  • 페이스북 SDK 설치 및 빌드
  • 연동에 필요한 관련 파일 복사 및 AndroidManifest.xml 수정
  • 테스트를 위한 페이스북 해시키 생성 및 등록
 위와 같은 내용들을 준비과정으로 정리했습니다.


1. 페이스북 개발자 등록

 먼저 페이스북 개발자 등록을 합니다.


2. 페이스북 앱 등록

 만들어 서비스할 앱을 페이스북에 등록합니다.


3. 유니티3D 프로젝트 및 안드로이드 페이스북 Jar 플러그인 만들기

 유니티3D에서 안드로이드용 외부 SDK 연동을 위해서는 플러그인 JAR 파일을 만들어야하죠. 링크에 있는 내용을 보시고 폴더 설정등 기본 준비작업을 하시면 됩니다. 저는 스샷과 같이 UnityAndroidFacebookJar라고 만들었습니다.


4. 페이스북 안드로이드 SDK 설치 및 임포트

 페이스북 개발자 페이지의 안드로이드 SDK를 다운로드합니다. v3.0.1이 현재 최신입니다.

 적당한 곳에 다운로드 받은 페이스북 안드로이드 SDK를 압축해제합니다. 제 프로젝트 구성은 위와 같습니다. UnityFacebook은 유니티3D 프로젝트고 AndroidJar에는 위에서 생성한 이클립스 프로젝트가 들어있습니다.

 이클립스에서 페이스북 SDK를 임포트합니다. facebook-android-sdk-3.0.1\facebook 에 들어있습니다. 그러면 스샷과 같이 느낌표가 있고 에러가 발생할 듯합니다.

Project 'FacebookSDK' is missing required source folder: 'gen'
The project cannot be built until build path errors are resolved
Unable to resolve target 'android-8'

 위와 같은 에러인데 따로 정리를 했으니 링크를 참고하시기 바랍니다.

 이제 안드로이드 JAR 프로젝트에서 페이스북 SDK를 스샷과 같이 Library로 추가해줍니다. 그러면 Jar mismatch! Fix your dependencies 에러가 발생합니다. android-support-v4.jar가 중복되서 발생한 문제로 링크에 정리해놨습니다.

 이제 페이스북 SDK를 빌드합니다.


5. 페이스북 SDK 및 Res 복사

 유니티3D Plugins\Android 디렉터리에 페이스북 SDK의 bin 디렉터리에 생긴 facebooksdk.jar파일과 libs에 있는 android-support-v4.jar 파일을 복사합니다. android-support-v4.jar를 복사하지 않으면 나중에 java.lang.NoClassDefFoundError: android.support.v4.content.LocalBroadcastManager 에러가 발생할 수 있습니다.

 AndroidManifest와 UnityAndroidFacebook.jar는 위에서 만든 이클립스 프로젝트의 것을 복사했습니다.

 페이스북 SDK의 res 디렉터리를 마찬가지로 복사해줍니다. 역시나 res를 복사하지 않으면 android.content.res.Resources$NotFoundException: Resource ID #0x7f030001 에러가 발생합니다.


6. AndroidManifest.xml 수정

<uses-permission android:name="android.permission.INTERNET" />

        <activity
            android:name="com.facebook.LoginActivity"
            android:label="@string/app_name" />

 페이스북을 위해 AndroidManifest.xml에 위와 같은 내용을 추가합니다. Resource re-package failed 에러에 대비해서 drawable/ic_launcher을 drawable/app_icon 으로 바꾸는 것도 잊지마시기 바랍니다.


7. 페이스북 해시키 생성 및 등록

 페이스북을 연동한 안드로이드 앱을 테스트하려면 페이스북 개발자 페이지에서 등록한 앱에 해시키 값을 위 스샷과 같이 등록해야합니다. 해시키 생성하는 것은 따로 정리 했으니 링크를 참고하시고 만들어진 해시키를 각자가 만드신 앱의 정보 페이지에서 네이티브 Android 앱 부분을 클릭해 Key Hashes 부분에 기입하신 후 변경 내용 저장하면 됩니다.

 다음 포스팅에서는 페이스북 SDK 초기화와 로그인, 로그아웃 코드 연동 작업을 정리하겠습니다.

이 블로그의 인기 게시물

CMake Windows에 설치하기

'xxx.exe' 프로그램을 시작할 수 없습니다. 지정된 파일을 찾을 수 없습니다.

Unity3D 안드로이드 Keystore 생성하기