2014-11-06 77 views
-1

我曾嘗試關注Google Play服務的Google文檔,但這不可能,因爲Google文檔是有史以來最糟糕的。我不明白Google Play遊戲服務的工作原理

無論如何,我管理安裝項目並在我的應用程序中添加Google Play服務,但是我不知道如何在用戶更改活動時保持播放器的連接狀態。

我已經MainActivity,其中延長BaseGameActivity,然後用戶點擊按鈕播放,我打開GameActivity,我在那裏玩遊戲,當我完成比賽,我要提交比分谷歌播放服務排行榜,但我不能,因爲它似乎我沒有連接。

我延長MyActivity與BaseGameActivity

public class MainActivity extends BaseGameActivity 

然後我就GameActivity擴展這個:

public GameActivity extends Activity implements GoogleApiClient.ConnectionCallbacks, 
    GoogleApiClient.OnConnectionFailedListener 

,然後的onCreate使用本:

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

其中t當我完成比賽時,我嘗試提交比分,但似乎我沒有連接。

if(mGoogleApiClient.isConnected()){ 
       Games.Achievements.unlock(mGoogleApiClient, 
         getString(R.string.app_name)); 
       Games.Leaderboards.submitScore(mGoogleApiClient, 
         getString(R.string.number_guesses_leaderboard), 
         clickCounter); 
      } 

回答

1

按照docs,你需要調用mGoogleApiClient.connect()以及。他們建議使用的註冊按鈕,但你也可以做到這一點,在onStart()

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

如果一切順利的話,你會收到回調onConnected(Bundle connectionHint)您已經在實施。

1

玩遊戲服務是真的在考慮碎片。幾乎必須使用片段而不是活動,並且在您的應用中使用單個活動...

+0

除了Google文檔外,您還有任何示例嗎? – Zookey 2014-11-06 22:32:14

+1

不,我不。但我不明白爲什麼說文檔是「有史以來最糟糕的」。這是一件很好的事情。您是否使用樣本作爲基礎,因爲它在文檔上被推薦? https://developer.android.com/google/play-services/games.html – 2014-11-07 08:21:20

+0

我已經根據文檔中的示例打開了一個新問題,但仍然遇到登錄錯誤。請查看此處:http:// stackoverflow .COM /問題/ 26804929 /失敗到登錄,請檢查,您的網絡連接和試,再次 – Zookey 2014-11-07 16:04:01

相關問題