Play Oyun Hizmetleri v2'ye (Unity) taşıma

Bu belgede, mevcut oyunların games v1 SDK'dan games v2 SDK'ya nasıl taşınacağı açıklanmaktadır. Unity için Play Games eklentisinin 10. ve önceki sürümlerinde games v1 SDK'sı kullanılır.

Başlamadan önce

  • Play Console'u kurduğunuzdan ve Unity Hub'ı yüklediğinizden emin olun.

Unity için Google Play Games eklentisini indirme

Play Games Hizmetleri'ndeki en yeni özelliklerden yararlanmak için en yeni eklenti sürümünü indirip yükleyin. GitHub deposundan indirin.

Eski eklentiyi kaldırın

Unity Hub'da aşağıdaki klasörleri veya dosyaları kaldırın.

Assets/GooglePlayGames

Assets/GeneratedLocalRepo/GooglePlayGames

Assets/Plugins/Android/GooglePlayGamesManifest.androidlib

Assets/Plugins/Android
Unity projenizde vurgulanan klasörleri kaldırın.
Unity projenizdeki vurgulanmış klasörleri kaldırın (büyütmek için tıklayın).

Yeni eklentiyi Unity projenize aktarın.

Eklentiyi Unity projenize aktarmak için aşağıdaki adımları uygulayın:

  1. Oyun projenizi açın.
  2. İndirilen unitypackage dosyasını projenizin öğelerine aktarmak için Unity Hub'da Assets > Import Package > Custom Package'ı (Öğeler > Paket İçe Aktar > Özel Paket) tıklayın.
  3. Mevcut derleme platformunuzun Android olarak ayarlandığından emin olun.

    1. Ana menüde Dosya > Derleme Ayarları'nı tıklayın.

    2. Android'i seçin ve Platformu Değiştir'i tıklayın.

    3. Window > Google Play Games altında yeni bir menü öğesi olmalıdır. Yoksa Öğeler > Yenile'yi tıklayarak öğeleri yenileyin ve ardından derleme platformunu tekrar ayarlamayı deneyin.

  4. Unity Hub'da File > Build Settings > Player Settings > Other Settings'i (Dosya > Derleme Ayarları > Oynatıcı Ayarları > Diğer Ayarlar) tıklayın.

  5. Hedef API düzeyi kutusunda bir sürüm seçin.

  6. Scripting backend (Komut dosyası oluşturma arka ucu) kutusuna IL2CPP yazın.

  7. Hedef mimariler kutusunda bir değer seçin.

  8. Paket adını not edin package_name.Bu bilgileri daha sonra kullanabilirsiniz.

    Unity projenizdeki oynatıcı ayarları
    Unity projenizdeki oynatıcı ayarları.
  9. Android kaynaklarını Play Console'dan kopyalama

  10. Android kaynaklarını Unity projenize ekleme

Otomatik oturum açma kodunu güncelleme

PlayGamesClientConfiguration başlatma sınıfını PlayGamesPlatform.Instance.Authenticate() sınıfıyla değiştirin. PlayGamesPlatform başlatılması ve etkinleştirilmesi gerekmez. Calling PlayGamesPlatform.Instance.Authenticate(), otomatik oturum açma sonucunu getirir.

C#

Unity Hub'da PlayGamesClientConfiguration sınıfına sahip dosyaları bulun.

using GooglePlayGames;
using GooglePlayGames.BasicApi;
using UnityEngine.SocialPlatforms;

public void Start() {
    PlayGamesClientConfiguration config =
        new PlayGamesClientConfiguration.Builder()
    // Enables saving game progress
    .EnableSavedGames()
    // Requests the email address of the player be available
    // will bring up a prompt for consent
    .RequestEmail()
    // Requests a server auth code be generated so it can be passed to an
    // associated backend server application and exchanged for an OAuth token
    .RequestServerAuthCode(false)
    // Requests an ID token be generated. This OAuth token can be used to
    // identify the player to other services such as Firebase.
    .RequestIdToken()
    .Build();

    PlayGamesPlatform.InitializeInstance(config);
    // recommended for debugging:
    PlayGamesPlatform.DebugLogEnabled = true;
    // Activate the Google Play Games platform
    PlayGamesPlatform.Activate();
}

Aşağıdaki şekilde güncelleyin:

using GooglePlayGames;

public void Start() {
    PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
}

internal void ProcessAuthentication(SignInStatus status) {
    if (status == SignInStatus.Success) {
        // Continue with Play Games Services
    } else {
        // Disable your integration with Play Games Services or show a login
        // button to ask users to sign-in. Clicking it should call
        // PlayGamesPlatform.Instance.ManuallyAuthenticate(ProcessAuthentication).
    }
}

Bir sosyal platform seçin

Sosyal medya platformu seçmek için Sosyal medya platformu seçme başlıklı makaleyi inceleyin.

Sunucu kimlik doğrulama kodlarını alma

Sunucu tarafı erişim kodlarını almak için sunucu kimlik doğrulama kodlarını alma başlıklı makaleyi inceleyin.

Oturumu kapatma kodunu kaldırma

Oturumu kapatma kodunu kaldırın. Play Oyun Hizmetleri artık oyun içi oturum kapatma düğmesi gerektirmiyor.

Aşağıdaki örnekte gösterilen kodu kaldırın:

C#

// sign out
PlayGamesPlatform.Instance.SignOut();

Oyununuzu test etme

Oyununuzu test ederek tasarlandığı şekilde çalıştığından emin olun. Yaptığınız testler oyununuzun özelliklerine bağlıdır.

Aşağıda, çalıştırılacak yaygın testlerin listesi verilmiştir.

  1. Başarılı oturum açma.

    1. Otomatik oturum açma özelliği çalışır. Kullanıcı, oyunu başlattığında Play Oyun Hizmetleri'nde oturum açmış olmalıdır.

    2. Karşılama pop-up'ı gösterilir.

      Örnek karşılama pop-up'ı.
      Örnek karşılama pop-up'ı (büyütmek için tıklayın).

    3. Başarılı günlük mesajları gösterilir. Terminalde aşağıdaki komutu çalıştırın:

      adb logcat | grep com.google.android.

      Başarılı bir günlük mesajı aşağıdaki örnekte gösterilmektedir:

      [$PlaylogGamesSignInAction$SignInPerformerSource@e1cdecc
      number=1 name=GAMES_SERVICE_BROKER>], returning true for shouldShowWelcomePopup.
      [CONTEXT service_id=1 ]
  2. Kullanıcı arayüzü bileşenlerinin tutarlı olmasını sağlayın.

    1. Pop-up'lar, skor tabloları ve başarılar, Play Oyun Hizmetleri kullanıcı arayüzünde (UI) çeşitli ekran boyutları ve yönlerinde doğru ve tutarlı bir şekilde gösteriliyor.

    2. Play Oyun Hizmetleri kullanıcı arayüzünde oturumu kapatma seçeneği görünmüyor.

    3. Oyuncu kimliğini başarıyla alıp alamadığınızdan ve varsa sunucu tarafı özelliklerinin beklendiği gibi çalıştığından emin olun.

    4. Oyun sunucu tarafı kimlik doğrulaması kullanıyorsa requestServerSideAccess akışını kapsamlı bir şekilde test edin. Sunucunun yetkilendirme kodunu aldığından ve erişim jetonuyla değiştirebildiğinden emin olun. Ağ hataları ve geçersiz senaryolar için hem başarılı hem de başarısız senaryoları test edin.client ID

Oyununuzda aşağıdaki özelliklerden herhangi biri kullanılıyorsa bunların taşıma işleminden önceki gibi çalıştığından emin olmak için test edin:

  • Skor tabloları: Skor gönderin ve skor tablolarını görüntüleyin. Oyuncu adlarının ve skorlarının doğru sıralandığını ve gösterildiğini kontrol edin.
  • Başarılar: Başarıların kilidini açın ve Play Games kullanıcı arayüzünde doğru şekilde kaydedilip gösterildiğini doğrulayın.
  • Kayıtlı oyunlar: Oyun, kayıtlı oyunları kullanıyorsa oyun ilerleme durumunun kaydedilmesi ve yüklenmesinin sorunsuz bir şekilde çalıştığından emin olun. Bu durum, özellikle birden fazla cihazda ve uygulama güncellemelerinden sonra test etmek için önemlidir.

Taşıma sonrası görevler

Games v2 SDK'ya geçiş yaptıktan sonra aşağıdaki adımları tamamlayın.

  1. Play Uygulama İmzalama'yı kullanma

  2. AAB dosyası oluşturma

  3. Dahili test sürümü oluşturma

  4. Uygulama imzalama kimlik bilgilerinizi doğrulama