2016-11-22 2 views
0

こんにちは私はアンドロイドアプリでリーダーボードを使用しようとしています。 [OK]を____________________________EDIT________________________________________________アプリの必要性Googleゲームがインストールされたアプリのクラッシュ時に再生

は、今私は、このリンクGuide

私はテストのための新しいプロジェクトを作成するに従ってみました。私はGiudeのようなコードを持っています。

Googleゲームダウンロードのログインが必要だった場合は... OKをダウンロードしてください。

でも、アプリをもう一度開くとアプリがクラッシュします。どうしてか分かりません。 (電話番号、シミュレータでアプリを起動します)

アイデアはありますか? [私はガイドからのコードだけを使って新しいプロジェクトを持っています。 + basegameUtils]

public class MainActivity extends Activity implements 
     GoogleApiClient.ConnectionCallbacks, 
     GoogleApiClient.OnConnectionFailedListener, View.OnClickListener { 

    private static int RC_SIGN_IN = 9001; 

    private boolean mResolvingConnectionFailure = false; 
    private boolean mAutoStartSignInflow = true; 
    private boolean mSignInClicked = false; 
    private boolean mAutoStartSignInFlow=false; 



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

     try { 

      findViewById(R.id.sign_in_button).setOnClickListener(this); 
      findViewById(R.id.sign_out_button).setOnClickListener(this); 


      // Create the Google Api Client with access to the Play Games services 
      mGoogleApiClient = new GoogleApiClient.Builder(this) 
        .addConnectionCallbacks(this) 
        .addOnConnectionFailedListener(this) 
        .addApi(Games.API).addScope(Games.SCOPE_GAMES) 
        // add other APIs and scopes here as needed 
        .build(); 

     }catch (Exception e) 
     { 
      Toast.makeText(this, e.toString(), Toast.LENGTH_SHORT).show(); 
     } 
    } 

    @Override 
    protected void onStart() { 
     super.onStart(); 
     // mGoogleApiClient.connect(); 

     if (!mInSignInFlow && !mExplicitSignOut) { 
      // auto sign in 
      mGoogleApiClient.connect(); 
     } 
    } 

    @Override 
    protected void onStop() { 
     super.onStop(); 
     mGoogleApiClient.disconnect(); 
    } 


    @Override 
    public void onConnected(Bundle connectionHint) { 
     // The player is signed in. Hide the sign-in button and allow the 
     // player to proceed. 

     // show sign-out button, hide the sign-in button 
     findViewById(R.id.sign_in_button).setVisibility(View.GONE); 
     findViewById(R.id.sign_out_button).setVisibility(View.VISIBLE); 

     // (your code here: update UI, enable functionality that depends on sign in, etc) 

    } 


    @Override 
    public void onConnectionFailed(ConnectionResult connectionResult) { 
     if (mResolvingConnectionFailure) { 
      // already resolving 
      return; 
     } 

     // if the sign-in button was clicked or if auto sign-in is enabled, 
     // launch the sign-in flow 
     if (mSignInClicked || mAutoStartSignInFlow) { 
      mAutoStartSignInFlow = false; 
      mSignInClicked = false; 
      mResolvingConnectionFailure = true; 

      // Attempt to resolve the connection failure using BaseGameUtils. 
      // The R.string.signin_other_error value should reference a generic 
      // error string in your strings.xml file, such as "There was 
      // an issue with sign-in, please try again later." 
      if (!BaseGameUtils.resolveConnectionFailure(this, 
        mGoogleApiClient, connectionResult, 
        RC_SIGN_IN, String.valueOf(R.string.signin_other_error))) { 
       mResolvingConnectionFailure = false; 
      } 
     } 

     // Put code here to display the sign-in button 
    } 

    @Override 
    public void onConnectionSuspended(int i) { 
     // Attempt to reconnect 
     mGoogleApiClient.connect(); 
    } 

    protected void onActivityResult(int requestCode, int resultCode, 
            Intent intent) { 
     if (requestCode == RC_SIGN_IN) { 
      mSignInClicked = false; 
      mResolvingConnectionFailure = false; 
      if (resultCode == RESULT_OK) { 
       mGoogleApiClient.connect(); 
      } else { 
       // Bring up an error dialog to alert the user that sign-in 
       // failed. The R.string.signin_failure should reference an error 
       // string in your strings.xml file that tells the user they 
       // could not be signed in, such as "Unable to sign in." 
       BaseGameUtils.showActivityResultError(this, 
         requestCode, resultCode, R.string.signin_failure); 
      } 
     } 
    } 


    // Call when the sign-in button is clicked 
    private void signInClicked() { 
     mSignInClicked = true; 
     mGoogleApiClient.connect(); 
    } 

    // Call when the sign-out button is clicked 
    private void signOutclicked() { 
     mSignInClicked = false; 
     Games.signOut(mGoogleApiClient); 
    } 




    @Override 
    public void onClick(View view) { 
     if (view.getId() == R.id.sign_in_button) { 
      // start the asynchronous sign in flow 
      mSignInClicked = true; 
      mGoogleApiClient.connect(); 
     } 
     else if (view.getId() == R.id.sign_out_button) { 
      // sign out. 
      mSignInClicked = false; 
      Games.signOut(mGoogleApiClient); 

      // show sign-in button, hide the sign-out button 
      findViewById(R.id.sign_in_button).setVisibility(View.VISIBLE); 
      findViewById(R.id.sign_out_button).setVisibility(View.GONE); 
     } 

     if (view.getId() == R.id.sign_out_button) { 
      // user explicitly signed out, so turn off auto sign in 
      mExplicitSignOut = true; 
      if (mGoogleApiClient != null && mGoogleApiClient.isConnected()) { 
       Games.signOut(mGoogleApiClient); 
       mGoogleApiClient.disconnect(); 
      } 
     } 
    } 


    boolean mExplicitSignOut = false; 
    boolean mInSignInFlow = false; // set to true when you're in the middle of the 
    // sign in flow, to know you should not attempt 
    // to connect in onStart() 
    GoogleApiClient mGoogleApiClient; // initialized in onCreate 


} 
+0

リーダーボードにはGoogle+のログインが必要ありません。あなたはそのアイデアを教えてくれましたか? Google Playゲームには独自のログインがあります。 – ianhanniballake

+0

これでどのようにリーダーボードを実装できますか?私はzhingので私はgoogle +と指導者がGoogleの名前とスコアを必要とする..必要がありますマイ・アドバイスをお願いします。またはサンプルコード..ありがとう。リーダーボードの場合(google +なし) – trip03

+0

[Google Playゲームのログインガイド](https://developers.google.com/games/services/training/signin)に従ってみましたか? – ianhanniballake

答えて

0

私は私のミスを見つける。..

私は<application></application>

でこの

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

いないされ、それが問題でした。

関連する問題