2017-10-13 1 views
1

최근에 내 앱에서 Google 플레이 서비스 리더 보드를 구현했지만 점수를 제출하지 않은 것으로 나타났습니다.Google 리더 보드 - 점수를 제출할 수 없습니다.

MainActivity의 GoogleApiClient 인스턴스가 있으며 다른 액티비티에서 정적으로 선언되었습니다. 리더 보드를 방문하는 코드는 MainActivity에 있습니다.

public static GoogleApiClient apiClient = apiClient = new GoogleApiClient.Builder(this) 
       .addApi(Games.API) 
       .addScope(Games.SCOPE_GAMES) 
       .enableAutoManage(this, new GoogleApiClient.OnConnectionFailedListener() { 
        @Override 
        public void onConnectionFailed(@NonNull ConnectionResult connectionResult) { 
         Toast.makeText(MainActivity.this, "Failed to connect to google play", Toast.LENGTH_LONG).show(); 
        } 
       }) 
       .build(); 

점수를 제출하는 코드 (한번의 테스트에서 onCreate) 제 활성 onActivityResult를 호출되는 메소드의 내부이다. 그것으로 onActivity 결과에의하므로, googleApiClient는 즉시 연결 실패의 결과는 내가 직접 업데이트 할 경우, 그래서 나는이 같은 짓되지 않습니다

MainActivity.apiClient.registerConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() { 
      @Override 
      public void onConnected(@Nullable Bundle bundle) { 
       PendingResult r = Games.Leaderboards.submitScoreImmediate(MainActivity.apiClient, 
         getString(R.string.leaderboard_most_stars), 
         totalStars); 
       ResultCallback callback = new ResultCallback() 
       { 
        @Override 
        public void onResult(@NonNull Result result) {} 
       }; 
       r.setResultCallback(callback); 
      } 

      @Override 
      public void onConnectionSuspended(int i) { 

      } 
     }); 

을하지만 어떤 이유로 점수를 제출하지 못합니다. 리더 보드가로드되고 점수가 표시되지 않습니다.

그리고 wierd 건, 테스트 계정의 에뮬레이터에서 제대로 작동합니다.

누구든지 실수를 지적하는 데 도움이 될 수 있습니까?

+0

결과를 확인하고 단서가 있는지 확인하려고 했습니까? – Cata

+0

에뮬레이터에서 작동합니다. 로그와 토스트를 확인했는데 예상대로입니다. 어떤 이유로 실제 장치에서 작동하지 않습니다. – Abhijeet

답변

0

아직 서명하지 않은 경우 서명 인증서의 SHA-1을 올바르게 제공했는지 확인하십시오. 릴리스 인증서 지문은 디버그 인증서 지문과 다릅니다. Authenticating Your Client에서

,

릴리스 인증서 지문으로 활용하려면 다음

keytool -exportcert -list -v \ 
-alias <your-key-name> -keystore <path-to-production-keystore> 

가 (Windows 용) 디버그 인증서 지문을 활용하려면 다음 그 외에도

keytool -exportcert -list -v \ 
-alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore 

, 내가 제안을 sign-inleaderboards에 특히 Quality Checklist for Google Play Games Services을 조사하는 것이 좋습니다.

+0

흠, 지금까지 터미널에서 아무 것도하지 않았습니다. 시도했지만 위치에 키 저장소가 있지만 비어 있다고했습니다. 또한 현재 체크리스트의 모든 로그인 요구 사항을 충족하지 못합니다 (직접 로그인하지 마세요.) 그래서 원인이 무엇입니까? – Abhijeet