2014-03-06 4 views
0

매우 이상한 일이 있습니다.
사용자 로그인이 시작될 때마다 "계정 선택"보기가 나타나고 계정을 선택하고 확인을 클릭하면 로그인이 다시 시작되고 동일한보기가 반환됩니다. 취소를 클릭하면 실패한 로그인으로 돌아갑니다. 왜 이런 일이 발생합니까?Google Play 게임 서비스 로그인에 실패했습니다.

03-06 13:53:06.797: D/PhoneWindow(2967): couldn't save which view has focus  
because the focused view [email protected] has no id. 

내가 지금처럼 구현했습니다 :

public class myapp extends BaseGameActivity { 
    ... 
    static Context mContext; 
    boolean mInSignInFlow = false; 
protected void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    mContext = myapp.this; 
    if(GooglePlayServicesUtil.isGooglePlayServicesAvailable (mContext) == ConnectionResult.SUCCESS){ 
     GoogleApiClient.Builder builder = 
       new GoogleApiClient.Builder(this); 
       builder.addApi(Games.API) 
        .addScope(Games.SCOPE_GAMES); 
       mClient = builder.build(); 

     } 
} 

@Override 
protected void onStart() { 
    super.onStart(); 
    if (!mInSignInFlow) { 
     // auto sign in 
     mClient.connect(); 
    } 
} 
@Override 
public void onSignInFailed() { 
    Log.w("Sign In", "Failed"); 
} 

@Override 
public void onSignInSucceeded() { 
    mInSignInFlow = true; 
    Log.w("Sign In", "Success"); 
} 

public static void gameServicesSignIn() { 
    ((myapp)mContext).runOnUiThread(new Runnable() { 
     public void run() { 
      ((myapp)mContext).beginUserInitiatedSignIn(); 
     } 
    }); 
} 

내가 시작하고 로그온 "실패 로그인 '얻을

다음 시작의 기호 앞에 로그 캣에 등장 당신이 OpenService (cocos2d-x의 경우)를 사용한다면,

+0

더 많은 코드를 게시 할 수 있습니까? 로그인 화면을 어떻게 알리고 있습니까? –

+0

@PhilippeDavid 편집보기 – GameDevGuru

답변

0

안드로이드에서 버튼을 클릭하면 gameServicesSignIn()이 호출 될 때 위에서 설명한 상황이 설정됩니다.

cb.setImpressionsUseActivities(true); 

그리고이 설정 한 후 당신이뿐만 아니라의 AndroidManifest.xml에 아래 코드를 삽입해야합니다 : 나는이 도움이 되었으면 좋겠 있도록

<activity android:name="com.example.Activity" 
    android:excludeFromRecents="true" 
    android:theme="@android:style/Theme.Translucent.NoTitleBar"/> 

정말적인 Cocos2D-X에 대해 아무것도 몰라.

+0

글쎄, 이건 cocos2dx 문제라고 생각하지 않지만 Google Play 게임 서비스를 구현 한 것 같습니다. 위의 통합이 적절하게 보입니까? – GameDevGuru

1

올바르게 제작되지 않은 것으로 보입니다. 흐름을 살펴보면 (BaseGameActivity를 확장하면) 기본 도우미 설정이 이미 처리되었습니다. BaseGameActivity

public GameHelper getGameHelper() { 
    if (mHelper == null) { 
     mHelper = new GameHelper(this, mRequestedClients); 
     mHelper.enableDebugLog(mDebugLog); 
    } 
    return mHelper; 
} 

@Override 
protected void onCreate(Bundle b) { 
    super.onCreate(b); 
    if (mHelper == null) { 
     getGameHelper(); 
    } 
    mHelper.setup(this); 
} 

에서

이는 또한 onSignInFailed/Succeded를 호출 할 리스너를 설정 처리됩니다.

내가 BaseGameActivity를 확장하지 않을 때를 대비 한 설정 내용입니다.

관련 문제