facebook에서 unitypackage형태로 sdk를 배포한지 어언 몇달이 지났으나
아직은 beta버젼이라 생각보다 삽질을 많이 하게되더라구요..
직접 개발하기는 막상 귀찮아서 해결한 문제점들을 다른분들의 삽질을 방지하기 위해 정리해둡니다.

테스트 환경
Unity4.3.0
FacebookSDK 4.2~4.3.4(가장 최신버젼)

빌드가 안되는 경우 or FB.Init함수의 콜백메서드가 호출되지않는경우
FacebookSDK는 기본적으로 Assets에 임포트 되었을때 정상적으로 작동됩니다.
만약에 폴더구조가 정해진 프로젝트에서 작업한다면 코드상의 경로들을 모두 수정해주어야 합니다.


FB.Init에 대한 콜백 메서드는 호출되지만 FB.Login를 호출해주어도 아무런 창도 변화가 없는경우
안드로이드 빌드시 발생하는 문제 FacebookSDK는 Android API 4.0이상 부터 지원한다.
이게 만약에 빌드시 4.0이하면 콘솔창에 출력되어주어야하는데 처음에 import한 이후 이 로그를 보기 힘들기 때문에 많은 사람들이 이것때문에 삽질하더라...
PlayerSettings - Other Settings - Android Minimum API를 4.0'ice cream'이상으로 설정해주도록하자.

FB.Login를 통하여 로그인, 해당 앱을 수락했지만 콜백메서드가 호출되지 않는경우
development build 체크후 실행해보면 아래와 같은 로그가 찍혀있을것입니다.
FacebookSDK.WebDialog(1588): Redirect URL: fbconnect://success#access_token=CA.....
위 로그의 경우 페이스북 어플이 설치되었다면 확인할수없으니 이런 현상이 발생하는 경우 페이스북 어플리케이션을 삭제한후 위와 같은 로그가 출력되는지 확인합시다.
위 로그는 로그인 인증이 성공했고 그에 따른 access_token값이라던지 user_id를 넘겨주는데 이 리다이렉션 된 주소를 해당 어플에서 처리하지 못하는 경우에 발생합니다.
원래 ManifestMod.cs에서 자동적으로 activity class name을 변경하게 코드가 작성되어있는 데 이게 잘 작동을 안하나 봅니다...-_-
Assets/Plugins/Android/AndroidManifest.xml 을 열어
com.unity3d.player.UnityPlayerProxyActivity 부분을 com.facebook.unity.FBUnityPlayerActivity
같이 변경해줍니다.


페이스북 앱이 설치된 경우 페이스북 인증이 되지 않는 현상
앱이 설치되지 않은경우 www를 통해 인증 과정을 걸치지만 앱이 설치된 경우 Facebook어플을 통해 인증과정이 진행되는데 이 과정에서 어플과 통신이 안되는 경우가 대다수
위에 작성된 수정사항들이 모두 정상인지 확인한뒤 빌드하면 해당 문제 해결

LogCat에 찍히는 버전이 SDK 버젼과 다를 경우
Using SDK 4.2.5, Build 131022.2bb3e6026790434
위와 같은 식으로 로그가 찍히는 경우가 있습니다. facebook 측에 문의해본 결과 해당 SDK외에 다른 버젼의 SDK를 설치한적이 있으면 이전 버전과의 dll충돌로 이런현상이 발생한다고 합니다. 그러나 기능상의 문제가 없으니 그냥 우선 사용해도 무방 하다고하네요.  

iOS빌드시 링크 에러 문제
경로문제가 대부분입니다. 기본 경로로 설정해준뒤에 레퍼런스라이브러리에 Facebook.a 가 포함되어있는지 확인해봅시다.

추가적으로 문제점이 발생하는 것이 있다면 아래 링크로 페이스북에 알려주는 것이 좋을것 같습니다.
https://developers.facebook.com/bugs/create
Posted by 랜스.

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다


Leave your greetings here.

: 1 : ... 4 : 5 : 6 : 7 : 8 : 9 : 10 : 11 : 12 : ... 182 :