유니티에서 안드로이드 게임을 개발 중이며 페이스 북 SDK를 인증 자로 사용하고 있습니다.페이스 북은 항상 다른 사용자를 사용하고 있어도 동일한 사용자로 로그인합니다.
Unity에서 설치 단계를 완료 한 후 로그인을 시도했는데 성공했습니다. 내가 로그인하는 데 사용하는 사용자는 developer.facebook.com에서 앱을 만드는 데 사용 된 관리자 사용자입니다.
나중에 다른 사용자와 연결을 시도했습니다. 그것들은 개발자와 테스터의 역할을하는 실제 계정이었고 FB로 자동 생성 된 테스트 사용자도 사용했습니다. 그러나 모든 사용자가 다른 자격 증명을 가지고 있어도 관리자 사용자로 모두 기록되었습니다.
는 만들 분명히 나는 다음과 같은 한 :1) 안드로이드에 게임을 실행합니다.
2) 로그인 버튼을 누르면 FB 앱이 실행되기 시작합니다.
3) 관리자로 로그인하십시오.
4) 관리자 사용자로 로그인했습니다.
5) 앱을 닫고 FB에서 로그 아웃하십시오.
6) 앱 다시 관리자 사용자가 인증 될 사용자 B (데브 테스터 등)
7) 대신에, 사용자 B와 현재 로그인을 실행.
편집 : 오늘 FB sdk를 업그레이드했습니다. 먼저 테스트 사용자와 함께 로그인하고 올바르게 로그인하십시오. 나중의 연결에서는 Admin과 다른 테스트 사용자를 사용했지만 모두 첫 번째 테스트 사용자로 기록되었습니다. 나는 문제가 관리자 사용자와 관련이 없지만 처음 로그인 한 사람과 관련이 있다고 생각합니다.
내 게임에 예를 들어 friendsmash tutorial을 사용했는데 아래에서 앱에서 사용한 코드 조각을 찾을 수 있습니다.
public void Init() {
FB.Init(SetInit, OnHideUnity);
}
private void SetInit() {
enabled = true;
}
private void OnHideUnity(bool isGameShown) {
Debug.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;
}
}
public void FBLogin(LoginOnSuccess cb) {
loginOnSuccess = cb;
FB.Login("user_friends", LoginCallback);
}
void LoginCallback(FBResult result) {
if(FB.IsLoggedIn) {
FB.API("/me?fields=id,name", Facebook.HttpMethod.GET, delegate (FBResult response) {
if(response.Error != null) {
Debug.Log("Error: FB.API: /me?fields=id,name");
}
Debug.Log("Permissions: " + response.Text);
});
}
else {
//TODO login failed. Give a proper error message on gui
Debug.Log("FacebookController.cs: Couldn't connect to FB.");
}
}