2014-02-27 3 views
2

앱의 퀴즈 섹션에 아주 간단한 리더 보드를 구현하려고합니다. 지난 며칠 동안 나는이 코드를 사용하지 않아도 로그인 화면을 무한정 반복 해 보았습니다 (예 : "Google Play 게임에 연결"하는 활동을 시작할 때 EG가 표시됨). 내 동기화 된 Google 계정 중 하나를 선택한 다음 다시 'Google Play 게임에 연결하기'를 다시 눌러 활동으로 돌아갑니다. 사용자가 입력 한 내용과 상관없이 수행됩니다. 오류는 내가받을 수있는 유일한 오류는Google Play 게임 - 로그인 루프 무기한

02입니다. -27 15 : 24 : 20.735 : E/dalvikvm (6467) : com.google.android.gms.internal.fq 메소드에서 참조되는 'com.google.android.gms.internal.fq $ b'클래스를 찾을 수 없습니다. a

그리고이 오류는 처음 시도 할 때만 나타납니다. 앱에 다른 곳으로 갔다가 다시 로그인하더라도 다시 로그인하려고하면 아무 것도 표시되지 않습니다. 리비아.

int answers; 
Button subScore; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.scorescreen); 

    Intent mIntent = getIntent(); 
    answers = mIntent.getIntExtra("answers", 0); 

    subScore = (Button) findViewById(R.id.bSubScore); 
    subScore.setText("" + answers + "/100"); 

    beginUserInitiatedSignIn(); 

} 

@Override 
public void onSignInFailed() { 
    subScore.setText("FAYULED"); 
    // TODO Auto-generated method stub 
    Log.d("GPS", "failed"); 

} 

@Override 
public void onSignInSucceeded() { 
    Log.d("GPS", "succeeded"); 
    subScore.setText("WE COO"); 
    Games.Leaderboards.submitScore(getApiClient(), "laser", 12345); 
    startActivityForResult(Games.Leaderboards.getLeaderboardIntent(
      getApiClient(), "CgkIvIukofYXEAIQAQ"), 5); 

} 

}

그것은 signInFailed() 또는 signInSucceeded (에 도달하지) :

다음은 리더 보드에 점수를 제출 내 코드입니다. 로그를 확인했습니다. BaseGameUtils 라이브러리 프로젝트에서 BaseGameActivity를 확장하려고합니다. 나는 적절한 수입을 가지고있다. 나는 시도하고 이것을 알아 내기 위해 수행 한

것들 다음 BaseGameUtils 확인했다

  • 가 만든 라이브러리 프로젝트
  • 있는지 나는 도서관 프로젝트
  • 제작 등 구글 플레이-services_lib이 BaseGameUtils에 google-play-services_lib에 대한 참조가 있습니다.
  • 내 프로젝트에 BaseGameUtils에 대한 참조가 있음을 확인했습니다 (BaseGameUtils 및 google-play-services_lib에 대한 참조로도 작성).
  • 내 Google Play 게임에 내 키 저장소에 대한 올바른 SHA1 키가 포함 된 유효한 Oath2.0 클라이언트 ID가 있는지 확인하십시오.
  • ids.xml 파일에 res-> 값이 있는지 확인하고 12 자리 숫자로 my 게임의 클라이언트 ID 및 리더 보드 ID
  • 테스터 계정으로 로그인 한 실제 안드로이드 기기에서 게임을 실행하고 있는지 확인하십시오.
  • Google Play 개발자 콘솔의 "테스터 계정"에 테스터 계정이 명시되어 있는지 확인하십시오. .
  • 내가 안드로이드 장치에서 실행중인 게임의 버전이 실제로 Oath2.0 클라이언트에서 위에서 언급 한 동일한 키를 가진 서명 된 버전인지 확인하십시오.
  • 내 게임이 다음과 같은 적절한 응용 프로그램과 연결되어 있는지 확인하십시오. 내 개발자 콘솔과 패키지 이름이 일치해야합니다.
  • 태그 내의 manifest.xml에 적절한 메타 데이터 태그가 있는지 확인하십시오.

<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/app_id" />

어떤 제안이 진심으로 감사하겠습니다, 나는 아무 소용이를 알아 내려고 거의 일주일 동안 파고되었다.

미리 감사드립니다.

+0

이것이 작동하는지는 잘 모르겠지만 시도해 볼 가치가 있다고 생각합니다. ** onCreate **에서 ** beginUserInitiatedSignMethod **를 가져옵니다. 대신 리스너의 ** onClick ** 메소드에 넣고 ** onCreate **의 버튼에 리스너를 연결하십시오. 그런 다음 앱의 버튼을 탭하여 작동하는지 확인하십시오. – Ogen

+0

같은 것 :/원래 버튼의 onClick()에 있었지만 onCreate()로 이동하여 같은 "가치있는 샷"추론을했습니다. – user3362723

+0

오류가 아닌 전체 logcat도 게시하십시오. 처음에 버튼으로 이동하는 것이 좋습니다 .. 그 지점에서 로그를 보여줍니다. ButtonClicker (또는 다른 Google 프로젝트)를 성공적으로 실행할 수 있었습니까? – user2346305

답변

1

코드가 BaseGameActivity 일 것 같습니다. 이것은 더 이상 권장되지 않습니다. 나는 고통 스럽지만, 당신이 직접 GoogleApiClient을 사용하기 위해 로그인 로직을 다시 작성한다면이 문제는 발생하지 않을 것입니다. 몇 분 밖에 걸리지 않습니다.

This tutorial 과정을 안내해야합니다.

관련 문제