Android oyunlarında oturum açma

Google Play Games Hizmetleri işlevine erişebilmesi için oyununuzun şunları sağlaması gerekir: oturum açan oyuncunun hesabı. Bu dokümanda, Google Haberler'de oyununuzda sorunsuz bir oturum açma deneyimi uygulayabilirsiniz.

Play Games Hizmetleri v2 SDK'sı, Oyununuzda oturum açan kullanıcı sayısını artırır ve geliştirmeyi kolaylaştırır:

  • Kullanıcılar için iyileştirmeler:
    • Varsayılan hesap seçildikten sonra kullanıcılar herhangi bir işlem yapması gerekmeden giriş yapabilir. bir istemle etkileşime girin.
    • Kullanıcıların artık oturum açmak için Play Games uygulamasını indirmeleri gerekmiyor Play Games Hizmetleri'ne gidin veya yeni hesap oluşturun.
    • Kullanıcılar artık birden fazla oyun için Play Games Hizmetleri hesaplarını yönetebilir tek bir sayfadan alır.
  • Geliştiriciler için iyileştirmeler:
    • İstemci kodunun artık giriş yapma veya oturum kapatma akışını işlemesi gerekmez oyun başladığında otomatik olarak tetiklenir ve hesap yönetimi iş sistemi ayarlarında işlendi.

Yeni müşteri entegrasyonu

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

Bağımlılığı ekleme

Play Games Hizmetleri SDK'sı bağımlılığını uygulamanızın kök düzeyine ekleme build.gradle dosyası yükleyin. Gradle kullanıyorsanız Gradle'ı bağımlılığı şöyle sıralayabiliriz:

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

Proje kimliğini tanımlayın

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

  1. Uygulamanızın AndroidManifest.xml dosyasına aşağıdaki <meta-data> öğesini ekleyin öğesini ve <application> öğesine ilişkin özellikleri içerir:

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

    @string/game_services_project_id dize kaynak referansını tanımlayın değer olarak oyunlarınızın Oyun hizmetleri proje kimliğini kullanın. Oyun hizmetleriniz proje kimliğini şuradaki Yapılandırma sayfasında oyun adınızın altında bulabilirsiniz: Google Play Console.

  2. res/values/strings.xml dosyanıza bir dize kaynağı referansı ekleyin. ve değer olarak projenizin kimliğini belirleyin. Google Play Console'da proje kimliğinizi Yapılandırma sayfasında oyun adınızın altında bulabilirsiniz. Örnek:

    <!-- 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 cihazınızın onCreate(..) geri çağırmasında Play Games SDK'sını başlatın sınıfını kullanır.

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. Alıcı: kullanıcının kimliğini doğrulamak için kullanıcının başarılı bir şekilde oturum açtığını, kullanıcının Oyuncu Kimliğini öğrenmelidir.

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

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 simgesiyle bir düğme göstermeye devam edin ve Kullanıcı oturum açarsa GamesSignInClient.signIn() düğmeye basar.

Kullanıcının oturum açtığını doğruladıktan sonra, oyuncu kimliğini şu amaçlarla alabilirsiniz: tanımlamanız gerekir. Örnek:

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