2017-11-21 13 views
1

내 게임에 Google 게임 서비스를 구현합니다. 나는 그것에 연결할 수 있지만 내 게임으로 돌아올 때, 나는 환영 POPUP을 보여줄 수 없다 ... 어떻게 그것을 보여줄 수 있습니까? 그들은 문서에 말한 것처럼 게임 서비스에 환영 팝업을 표시하는 방법은 무엇입니까?

나는 내가 decorView에 자동 로그인을 사용 setViewForPopups을 구현

private void startSignInIntent() { 
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN) 
      .requestEmail() 
      .build(); 
GoogleSignInClient signInClient = GoogleSignIn.getClient(getActivity(), 
      gso); 
    Intent intent = signInClient.getSignInIntent(); 
    startActivityForResult(intent, RC_SIGN_IN); 
} 


@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (requestCode == RC_SIGN_IN) { 
     GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); 
     if (result.isSuccess()) { 
      // The signed in account is stored in the result. 
      GoogleSignInAccount signedInAccount = result.getSignInAccount(); 
      Games.getGamesClient(getContext(), signedInAccount).setViewForPopups(getView()); 
     } else { 
      String message = result.getStatus().getStatusMessage(); 
      if (message == null || message.isEmpty()) { 
       message = getString(R.string.signin_other_error); 
      } 
      new AlertDialog.Builder(getActivity()).setMessage(message) 
        .setNeutralButton(android.R.string.ok, null).show(); 
     } 
    } 
} 
+0

어떤 오류가 발생합니까? – noogui

+0

오류가 없지만 팝업이 없습니다 ... 환영 팝업을 표시하는 방법을 모르겠습니다 ... – trunyk

+0

동일한 문제가있는이 문제를 해결 했습니까? –

답변

-1

... setViewForPopups 및 setGravityForPopups을 시도하고 앱이 오프했다 경우에만 프로그램을 다시 환영 조용한 오랜 시간 (~ 10 시간 근무, 덜 확신하지 않음). 팝업은 대화식 로그인으로 매번 표시됩니다.

0

난 당신이 구글 서비스 인증 여전히했다 아마 생각하고 결과에 다시 서명을 올 때거짓하고 결과이기 때문에 귀하의 팝업 밖으로 메시지 을 표시되지 않습니다 당신이 인증 받았음에도 불구하고 거짓.

GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); 

앱은 다음 로그인 시도에 대한 귀하의 계정에서 로그 아웃 닫거나 당신이 당신의 세션을 기다려야한다 그래서 만료. 안전 로그가있는 경우 결론에

내가 당신을 추천 밖으로 다음 로그인 시도에 대한

0

다시 환영 그렇게 :

Games.getGamesClient (이, googleSignInAccount) .setGravityForPopups을 (중력 .OP | 중력 .CENTER_HORIZONTAL);