1

새로운 4.3 버전의 Unity와 새로운 facebook SDK를 설치했는데 작동하지 않습니다.Facebook UNITY SDK 로그인 문제

나는 페이스 북에서 응용 프로그램을 만들었고 필요에 따라 응용 프로그램 ID를 단일 페이스 북 설정에 복사 한 다음 패키지 이름과 클래스 이름을 페이스 북에 복사했습니다.

안드로이드 키 해시가 비어 있기 때문에 (나는 그렇지 않아도됩니다) 다른 사람들이 openssl을 사용하여 만든 메소드를 사용했습니다. 나는 그것을 만들고 필요에 따라 페이스 북으로 복사했다.

이 후 로그인 할 수있는 작은 스크립트를 만들었습니다.

// Use this for initialization 
void Start() { 
    enabled = false;     
    FB.Init(SetInit, OnHideUnity); 
} 

// Update is called once per frame 
void Update() { 

} 

private void SetInit()                  
{                        
    FbDebug.Log("SetInit");                 
    enabled = true; // "enabled" is a property inherited from MonoBehaviour     
    if (FB.IsLoggedIn)                  
    {                       
     FbDebug.Log("Already logged in");              
     OnLoggedIn();                   
    }                       
}                        

private void OnHideUnity(bool isGameShown)             
{                        
    FbDebug.Log("OnHideUnity");                
    if (!isGameShown)                   
    {                       
     // pause the game - we will need to hide            
     Time.timeScale = 0;                 
    }                       
    else                      
    {                       
     // start the game back up - we're getting focus again         
     Time.timeScale = 1;                 
    }                       
}  

void OnGUI(){ 
    if (!FB.IsLoggedIn)                        
    {                               
     if (GUI.Button(new Rect(179 , 11, 287, 160), "Login to Facebook"))          
     {                            
      FB.Login("email", LoginCallback);               
     }                            
    }  
} 

void LoginCallback(FBResult result)               
{                       
    FbDebug.Log("LoginCallback");               
    Debug.Log("LoginCallback"); 
    if (FB.IsLoggedIn)                  
    {                      
     OnLoggedIn();                  
    }                      
}                       

void OnLoggedIn()                   
{                       
    FbDebug.Log("Logged in. ID: " + FB.UserId);            
} 

지금은 페이스 북 창 내가 그것을 반환, 확인을 누른 후, 허가를 요청 나타나는 로그인 버튼을 클릭합니다,하지만 난 여전히 사람이 왜이다 도울 수에 ... 기록되지있을 때? 또 다른 이상한 점은 로그인 버튼을 클릭하자마자 LoginCallback이 호출된다는 것입니다. 비록 내가 허가를 주어야한다고 생각할지라도. 어쨌든 내가 권한을 부여하면 내 앱으로 돌아가고 아무 일도 일어나지 않습니다. 로그인 버튼을 다시 클릭하면 똑같은 일이 일어나고, 로그인 콜백이 호출되고, 퍼미션이 있는지 묻고, 퍼미션을주고 다시 돌아옵니다. 아무 일도 없었습니다. 아무도 도와 줄 수 있니?

+0

주 브라이언에서 여기에 세 가지 이미지 : http://answers.unity3d.com/questions/543540/facebook-sdk-v424-android-login-not-working.html 2천14분의 5 문제를 들어 여전히 유니티 개발을 위해 맥을 사용한다면, 여전히 100 % 문제입니다. 다음은 전체 솔루션 인 '라파엘 솔루션 "입니다 : http://answers.unity3d.com/questions/609810/using-facebook-api-with-android-says-login-is-canc.html AndroidFacebook.cs에서 public void OnLoginComplete (문자열 메시지)를 수정하고 자신의 keyhash를 표시하십시오. 굉장해! – Fattie

답변

2

버전 4.3.6 SDK가이 문제를 해결해야합니다. 여기에서 이용하실 수 있습니다 : https://developers.facebook.com/ 우리는 여전히 자산 보관소에서 승인되기를 기다리고 있으므로 지금 당장 얻을 수있는 유일한 곳은 Facebook 사이트입니다.


주 - Mac을 사용하는 경우에도 여전히 깨졌습니다 (5/2014). 그냥 "라파엘 솔루션"을 따르십시오, 제대로 공개 무효 OnLoginComplete (문자열 메시지)에서 해시를 발견. 환호

+0

나는 버전 4.3.6은 화합 4.3에서 작동하지 않으며, 안드로이드 용 빌드를 만들 때 Win32 예외를 남깁니다. 나는 jdk v1.7을 설치했고 android rev 22 .. 이 호에서 저를 도울 수 있습니까? –

+0

Unity 개발을 위해 PC를 사용하는 경우 문제가 부분적으로 수정되었습니다. 유일한 100 % 해결책은 여기에 있습니다 : ttp : //answers.unity3d.com/questions/609810/using-facebook-api-with-android-says-login-is-canc.html – Fattie

0

로그인 기능에서 "전자 메일"사용 권한을 가지고 시도하십시오. 죄송합니다. "publish_actions"권한도 거기에있는 것으로 보았습니다.

매니페스트의 로그인 활동이 세로로되어 있는지 확인하십시오.

+0

안녕하세요, Unity 4.3에서만 문제가 있다는 것을 알았습니다. Unity 4.2.2에서 동일한 프로젝트를 다시 만들면 잘 작동합니다 ... (이상한 점은 권한을 두 번 요청한다는 것입니다) –

+0

우리는 ' 화합으로 몇 가지 버그를 발견했습니다. 4.3. 우리는 지금 수정하고 곧 새로운 버전을 준비 할 수 있기를 바랍니다. – benp

+0

@benp 그렇습니다. 단결 4.3에서만 발생합니다. Sdk (v4.2.4)는 Unity 4.2에서는 잘 작동하지만 Unity 4.3에서는 제대로 작동하지 않습니다. 문제가 어디에 놓여 있는지 궁금합니다. 또한 Sdk v 4.3.6은 컴파일되지 않고 android 용 빌드를 만들고 javac.exe에서 Win32 Exception을 남깁니다. 이 문제와 관련하여 도움을 주실 수 있습니까? 나는 매니페스트 부분도했지만 오류가 발생하여 빌드가 만들어지지 않았습니다. –

1

그래서 내 전화로 열쇠를 추적해야하는 데 며칠 동안 좌절감을 느낀 후, 나는 그것이 무엇을했는지 조사하기로 결정했습니다.

일부 연구를 통해 안드로이드 장치에 게시 할 때 facebook은 .android/debug.keystore 파일이 아닌 게시 ​​설정에 정의 된 키 저장소를 사용한다는 것을 알게되었습니다. 그래서 들어가서 sdk를 적절하게 작동하도록 변경했습니다. 본질적으로 SDK를 변경하여 키 해시를 가져 오는 디버그 디렉토리 대신 ProjectSettings를 살펴 보았습니다. FacebookAndroidUtils.cs에서 다음을 추가했습니다.

// Using the user defined keystore values instead of the debug one. 
degbugKeyHash = GetKeyHash(PlayerSettings.Android.keyaliasName, PlayerSettings.Android.keystoreName, PlayerSettings.Android.keyaliasPass, PlayerSettings.Android.keystorePass); 

키 해시를보다 쉽게 ​​업데이트 할 수 있도록 일부 GUI 변경 사항과 함께 수정 사항을 제공하는 작은 저장소를 만들었습니다.

Github Facebook Unity SDK 6.1 Fix

업데이트 - 문자열 경로

희망이 도움이에서 탈출 공간에 관련된 OS X와 ​​고정 버그!대신에 자신의 모든 것을 구현

0

는 소셜 네트워크의 모든 자유 및 오픈 소스 SOOMLA 프로필 플러그인을 사용하려고하는 것은 필요 : 자산 저장소에 https://github.com/soomla/unity3d-profile

도 가능 다운로드 : https://www.assetstore.unity3d.com/en/#!/content/24601

이 Facebook, Twitter 및 Google+를 다루며 로그인, 동상 게시, 이미지 업로드 및 친구 목록 가져 오기를위한 통합 API를 제공합니다. 적절한 공개를 위해 저는 창립자 중 한 명입니다.