Android Oyunları için Oturum Açın

Google Play Games Hizmetleri işlevine erişmek için oyununuzun, oturum açan oyuncunun hesabını sağlaması gerekir. Bu dokümanda, 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ı sayısını artıran ve geliştirmeyi kolaylaştıran çeşitli iyileştirmeler sunar:

  • Kullanıcılar için iyileştirmeler:
    • Varsayılan hesap seçildikten sonra kullanıcılar bir istemle etkileşimde bulunmak zorunda kalmadan giriş yapabilir.
    • 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ı indirmelerine gerek yoktur.
    • Kullanıcılar artık birden fazla oyun için Play Games Hizmetleri hesaplarını tek bir sayfadan yönetebilirler.
  • 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 oturum açma veya oturum kapatma akışını yönetmesine artık gerek yoktur.

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

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

Play Games Hizmetleri SDK'sı bağımlılığını ekleyin

Play Games Hizmetleri SDK'sı 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 gibi 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ı proje kimliğini uygulamanıza eklemek için aşağıdaki adımları tamamlayın:

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

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

    Değer olarak oyunlarınızın Oyun hizmetleri proje kimliğini kullanarak @string/game_services_project_id Dize kaynağı referansını tanımlayın. Oyun hizmetleri proje kimliğiniz, Google Play Console'daki Yapılandırma sayfasında oyun adınızın altında bulunabilir.

  2. res/values/strings.xml dosyanıza bir dize kaynağı referansı ekleyin ve değer olarak proje kimliğinizi ayarlayın. Proje kimliğinizi Google Play Console'da 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 al

Oyununuz başlatıldığında her zaman kullanıcının oturumunu açmaya çalışır. 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 Oyuncu Kimliğini almanız gerekir.

Oturum açma denemesini doğrulamak için GamesSignInClient.isAuthenticated() numarasını 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().
  }
});

Kullanıcı, oyun başlatıldığında oturum açmamayı seçerse isteğe bağlı olarak Play Games simgesi içeren bir düğmeyi göstermeye devam etmeyi seçebilir ve kullanıcı düğmeye bastığında GamesSignInClient.signIn() yöntemini çağırarak 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ğini alabilirsiniz. Örneğin:

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