Android Oyunları için Oturum Açın

Google Play oyun hizmetleri işlevlerine erişebilmeniz için oyununuzun, oturum açmış oyuncunun hesabını sağlaması gerekir. Bu belgelerde, oyununuzda sorunsuz bir oturum açma deneyimini nasıl uygulayacağınız açıklanmaktadır.

Play Games Hizmetleri v2 SDK'sı, oyununuzda oturum açan kullanıcıların sayısını artıran ve geliştirme sürecini kolaylaştıran çeşitli iyileştirmeler sağlar:

  • Kullanıcılar için iyileştirmeler:
    • Varsayılan hesabı seçtikten sonra, kullanıcılar bir istemle etkileşime girmek zorunda kalmadan giriş yapar.
    • Kullanıcıların artık Play Games Hizmetleri'nde oturum açmak veya yeni bir hesap oluşturmak için Play Games uygulamasını indirmeleri gerekmez.
    • Kullanıcılar artık Play Oyun Hizmetleri hesaplarını tek bir sayfadan birden fazla oyun için yönetebilir.
  • Geliştiriciler için iyileştirmeler:
    • Oyun başladığında giriş otomatik olarak tetiklendiğinden ve hesap yönetimi OS ayarlarından işlendiğinden, istemci kodunun artık oturum açma veya oturum kapatma akışını işlemesi gerekmez.

Play Games Hizmetleri Oturum Açma v2 ile yeni istemci entegrasyonu

Bu bölümde, Play Games Hizmetleri Oturum Açma v2 ile yeni bir istemci entegrasyonunun nasıl yapılacağı gösterilmektedir.

Play Games Hizmetleri SDK bağımlılığını ekleme

Play Game Services SDK bağımlılığını, uygulamanızın kök düzeyindeki build.gradle dosyasına ekleyin. Gradle kullanıyorsanız bağımlılığı aşağıdaki şekilde ekleyebilir veya güncelleyebilirsiniz:

dependencies {
 implementation "com.google.android.gms:play-services-games-v2:+"
}

Play Games Hizmetleri proje kimliğini tanımlayın

Play Games Hizmetleri SDK'sının proje kimliğini uygulamanıza eklemek için aşağıdaki adımları tamamlayın:

  1. Uygulamanızın AndroidManifest.xml dosyasında, aşağıdaki <meta-data> öğesini ve özelliklerini <application> öğesine ekleyin:

    <manifest>
      <application>
        <meta-data android:name="com.google.android.gms.games.APP_ID"
                   android:value="@string/game_services_project_id"/>
      </application>
    </manifest>
    

    Oyunlarınızın Oyun hizmetleri proje kimliğini değer olarak kullanarak @string/game_services_project_id Dize kaynak referansını tanımlayın. Oyun hizmetleri proje kimliğinizi Google Play Console'daki Yapılandırma sayfasında yer alan oyun adınızın altında bulabilirsiniz.

  2. res/values/strings.xml dosyanıza bir dize kaynak referansı ekleyin ve değer olarak proje kimliğinizi ayarlayın. Proje kimliğinizi Google Play Console'daki Yapılandırma sayfasındaki oyun adınızın altında bulabilirsiniz. Örneğin:

    <!-- res/values/strings.xml -->
    <resources>
      <!-- Replace 0000000000 with your game’s project id. Example value shown above.  -->
      <string translatable="false"  name="game_services_project_id"> 0000000000 </string>
    </resources>
    

SDK'yı başlatma

Application sınıfınızın onCreate(..) geri çağırmasında Play Games SDK'sını başlatın.

import com.google.android.gms.games.PlayGamesSdk;

...

@Override
public void onCreate(){
  super.onCreate();
  PlayGamesSdk.initialize(this);
}

Oturum açma sonucunu alma

Oyununuz başlatıldığında, her zaman kullanıcının oturum açma girişiminde bulunur. Kullanıcının kimliğini doğrulamak için kullanıcının başarıyla oturum açtığını doğrulamanız ve ardından Oynatıcı Kimliğini almanız gerekir.

Oturum açma girişimini doğrulamak için GamesSignInClient.isAuthenticated() numaralı telefonu arayın ve sonuçları almak için addOnCompleteListener kodunu kullanın. Örneğin:

GamesSignInClient gamesSignInClient = PlayGames.getGamesSignInClient(getActivity());

gamesSignInClient.isAuthenticated().addOnCompleteListener(isAuthenticatedTask -> {
  boolean isAuthenticated =
    (isAuthenticatedTask.isSuccessful() &&
     isAuthenticatedTask.getResult().isAuthenticated());

  if (isAuthenticated) {
    // Continue with Play Games Services
  } else {
    // Disable your integration with Play Games Services or show a
    // login button to ask  players to sign-in. Clicking it should
    // call GamesSignInClient.signIn().
  }
});

Oyun başlatıldığında kullanıcı oturum açmamayı seçerse isteğe bağlı olarak Play Oyunlar simgesiyle bir düğme göstermeye devam etmeyi seçebilir ve düğmeye basarsa GamesSignInClient.signIn() öğesini çağırarak kullanıcının tekrar oturum açmayı deneyebilirsiniz.

Kullanıcının oturum açtığını doğruladıktan sonra, kullanıcıyı tanımlamak için Oynatıcı Kimliği'ni alabilirsiniz. Örneğin:

PlayGames.getPlayersClient(activity).getCurrentPlayer().addOnCompleteListener(mTask -> {
    // Get PlayerID with mTask.getResult().getPlayerId()
  }
);