Unity için Google Play Games eklentisini kullanmaya başlama

Bu konuda, Unity için Google Play Games eklentisi. Görevler projenin kurulumu, sosyal platform seçme ve kurulum adımlarıdır. oynatıcıda oturum açın.

Başlamadan önce

Eklenti Kurulumu

  1. Aşağıdaki seçeneklerden birini kullanarak eklentiyi edinin:

  2. current-build dizininde unitypackage dosyasını bulun. Bu dosya eklentidir. Örneğin, şuna benzer bir görünümde olacaktır:

      current-build/GooglePlayGamesPluginForUnity-X.YY.ZZ.unitypackage
    
  3. Unity'de oyun projenizi açın.

  4. Şu simgeyi tıklayarak unitypackage dosyasını projenizin öğelerine aktarın: Öğeler > Paketi İçe Aktar > Özel Paket menü öğesi.

  5. Mevcut derleme platformunuzun Android olarak ayarlandığından emin olun.

    1. Ana menüde Dosya > Derleme Ayarları....

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

    3. Pencere > Google Play Games. Eğer yoksa öğeleri değiştirmek için Öğeler > Yenile ve Ardından derleme platformunu tekrar ayarlamayı deneyin.

Play Console'dan Android kaynaklarına erişme

Oluşturduğunuz her başarı, skor tablosu ve etkinlik Play Console, aşağıdaki işlemleri yaparken kullandığınız bir Android kaynağı içerir: Unity projenizi oluşturun.

  1. Oyununuz için Android kaynaklarını edinin.

    1. Play Console'da Play Games Hizmetleri projesini açın: gösterir.

    2. Başarılar sekmesini, ardından Kaynakları al'ı tıklayın.

    3. Kaynakları dışa aktarın penceresinde, Android sekmesini tıklayın.

    4. XML içeriğini seçin ve kopyalayın.

Unity projenizi oluşturun

  1. Android kaynaklarını Unity projenize ekleyin.

    1. Unity'de ** Pencere > Google Play Oyunlar > Kurulum... > Android Kurulumu **.

    2. Kurulum pencerelerinde şu öğeleri tamamlayın:

    3. Sabit değerlerin kaydedileceği dizin: Sabit değer dosyasının klasörü.

    4. Sabit sınıf adı: Ad alanı dahil, oluşturulacak C# sınıfının adı.

    5. Kaynak Tanımı: Play Console'daki Android kaynak verilerini buraya yapıştırın.

    6. Web istemcisi kimliği: Bağlı web uygulamasının istemci kimliği. Bu yalnızca Web tabanlı bir arka ucunuz varsa gereklidir için bir sunucu kimlik doğrulama koduna ihtiyacınız var. Bu işlem için veya oynatıcının başka bir öğeyi oluşturması için bir kimlik jetonuna oyun dışı API çağrıları.

    7. Kurulum'u tıklayın. Bu komut, oyununuzu istemci kimliğiyle yapılandırır ve her Android uygulamanız için sabit değerler içeren bir C# sınıfı oluşturur. kaynaklar.

Android Kurulumu

Android SDK yüklemenizin yolunu Unity'de oluşturun. Bu konumun Harici Araçlar bölümünün altındaki tercihler menüsüne gidin.

Unity oyununuzu Android'de Google Play Games ile çalışacak şekilde yapılandırmak için öncelikle Android SDK yöneticisini açın ve aşağıdakileri indirdiğinizi doğrulayın paketlerini ekleyebilirsiniz. Android Studio'daki SDK Yöneticisi'ni kullanıp kullanmadığınıza bağlı olarak ya da bağımsız SDK yöneticisini kullandığınızda bileşenlerin adı farklı olabilir. - Google Play Hizmetleri - Android Destek Kitaplığı - Destek Kitaplıkları için Yerel Maven deposu (Android Desteği olarak da bilinir) depo) - Google Kod Deposu - Android 6.0 (API 23) (bu, minimum SDK sürümünü etkilemez).

Sonra, oyununuzun paket adını yapılandırın. Bunu yapmak için Dosya > Derleme Ayarlar'da, Android platformunu seçin ve Oynatıcı Ayarları'nı tıklayarak Unity'nin Oynatıcı Ayarları penceresini göster. Bu pencerede Paket Tanımlayıcı ayarı Diğer Ayarlar altında. Paketinizin adını buraya girin (örneğin com.example.my.awesome.game).

Play Oyun Hizmetleri'nde oturum açmak için APK dosyanızı imzalamanız gerekir. imzaladığınızdan emin olun. (SHA1 sertifikasına karşılık gelen), yani SHA1 sertifikasına kurulum sırasında Geliştirici Konsolu'na girdiğiniz dijital parmak izini bulun.

Sonra Pencere |Google Play Games|Kurulum - Android kurulumu menü öğesini tıklayın. Android kurulum ekranı görüntülenir.

Sabitler sınıf adını girin. Bu, tam nitelikli sınıfın adıdır güncellenecek (veya oluşturulacak) bir dosya seçin. Ad biçimi <namespace>.<classname> şeklindedir. Örneğin, AwesomeGame.GPGSIds.

Kaynak tanımı verilerini yapıştırın. Bu, Google Play'deki XML verileridir Kaynak kimliklerini ve Uygulama Kimliğini içeren Developer Console Android için.

Bu veriler, Google Play Console'da "İndir"i tıklayarak kaynakları" herhangi bir kaynak sayfasında (ör. Başarılar veya Skor Tabloları), Android'i tıklayabilirsiniz.

Verileri metin alanına yapıştırdıktan sonra Kurulum düğmesini tıklayın.

Not: Oyununuzda bir web uygulaması veya arka uç sunucusu kullanıyorsanız Web uygulamasını oyuna bağlayarak oyuncunun bilgilerini almayı kimlik jetonu ve/veya e-posta adresi. Bunu yapmak için bir web uygulamasını oyun oynayıp oyuna ait istemci kimliğini girin ve kurulum iletişim kutusuna kopyalayın.

Windows'da Android uygulaması geliştirmeyle ilgili ek talimatlar

Windows kullanıyorsanız, Java SDK'sı yüklemenizin Unity tarafından erişilebilir. Bunu yapmak için:

  1. JAVA_HOME ortam değişkenini Java SDK yükleme yolunuza ayarlayın (örneğin, C:\Program Files\Java\jdk1.7.0_45).
  2. Java SDK'sının bin klasörünü PATH ortam değişkeninize ekleyin (örneğin, C:\Program Files\Java\jdk1.7.0_45\bin)
  3. Yeniden başlat.

Ortam değişkenlerini düzenleme: Windows 2000/XP/Vista/7'de sağ tıklayın Bilgisayarım'ı, ardından Özellikler'i tıklayın, ardından Gelişmiş Sistem Özellikleri'ne gidin. (veya Sistem Özellikleri'ni ve ardından Gelişmiş sekmesini tıklayın), ardından Ortam Değişkenleri. Windows 8'de Windows Tuşu + W tuşlarına basın ve arama yapın ortam değişkenleri için kullandığınızdan emin olun.

Projeyi çalıştırma

Smoketest örneğiyle çalışıyorsanız farklı türde ve projeyi yürütüyorum. Otomatik oturum açma girişimini görürsünüz. Smoketest başladığında.

Android'de uygulama geliştirmek ve çalıştırmak için Dosya > Build Settings (Oluşturma Ayarları) tıklayın, Android platformunu seçin, ardından Platforma Geç'e, ardından Derleme ve Çalıştırma'ya basın.

Sosyal platform seçin

Google Play Games eklentisi, Unity'nin sosyal arayüz, diğerleriyle entegrasyon yaparken bu arayüzü zaten kullanan oyunlarla uyumluluk için platformlar. Ancak bazı özellikler Play Games'e özgüdür ve .

Standart API çağrılarına Social.Active nesnesinden erişilebilir. Bu, ISocialPlatform arayüzüne ilişkin bir referanstır. Standart olmayan Google Play Games uzantılarına Social.Active (Sosyal.Etkin) PlayGamesPlatform sınıfına itiraz edin. Burada ek yöntemler kullanılabilir.

Eklentiyi, varsayılan sosyal platformu geçersiz kılmadan kullanın

PlayGamesPlatform.Activate adlı kişiyi aradığınızda Google Play Games şu sizin olur: sosyal medya platformlarının varsayılan uygulamasıdır. Bu, Social ve Social.Active kapsamındaki sorumlulukların yerine getirilmesi için Google Play Games eklentisidir. Bu, eklentiyi kullanan çoğu oyun için istenen davranıştır.

Ancak herhangi bir nedenle varsayılan uygulamayı korumak isterseniz (örneğin, bir kampanyaya başarıları ve skor tablolarını göndermek için kullanarak) sosyal medya platformu gibi) Google Play Games eklentisini geçersiz kılmayı deneyin. Bunu yapmak için:

  1. PlayGamesPlatform.Activate adlı kişiyi aramayın
  2. Xyz, Social sınıfında çağırmak istediğiniz bir yöntemin adıysa şunu yapın: Social.Xyz araması yapılmaz. Bunun yerine PlayGamesPlatform.Instance.Xyz numaralı telefonu arayın
  3. Google Play Games ile etkileşimde bulunurken Social.Active kullanmayın. Bunun yerine PlayGamesPlatform.Instance kullanın.

Bu şekilde, skorları ve başarıları aynı anda iki ya da sosyal platformlarda kullanabilirsiniz:

    // Submit achievement to original default social platform
    Social.ReportProgress("MyAchievementIdHere", 100.0f, callback);

    // Submit achievement to Google Play
    PlayGamesPlatform.Instance.ReportProgress("MyGooglePlayAchievementIdHere", 100.0f, callback);

Oturum açma hizmetini doğrulama

Play Games Hizmetleri'ne şu bağlantı kullanılarak otomatik olarak bağlantı kurulmaya çalışılır: Oyununuz açıldığında oturum açma hizmeti Öğe bağlantısı başarılı olursa, oyununuz bir oturum açma istemi görüntüler ve Unity için Google Play Games eklentisi.

Bir kullanıcı, cihazında Google Play Games'i hiç kullanmadıysa oluşturmak için otomatik olarak tek seferlik kurulum ekranından alınır. hesap.

Komut dosyanızın Start yönteminde, otomatik oturum açma girişimi, kimlik doğrulama durumunu getir ve Play Games'i devre dışı bırak Hizmetler'in özelliklerini kullanıcı oturum açmamışsa.

    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).
      }
    }
}

Sonuç kodu, oturum açma nedenini tanımlamak için kullanabileceğiniz bir numaralandırmadır. başarısız olur.

Unity'nin Sosyal platformunu kullanmayı tercih ederseniz: şu kodu kullanabilirsiniz:

  using GooglePlayGames;

  public void Start() {
    PlayGamesPlatform.Activate();
    Social.localUser.Authenticate(ProcessAuthentication);
  }

Başarılı bir arama yapana kadar Google Play Games API çağrısı yapamazsınız Authenticate işlevinin döndürdüğü değer. Sonuç olarak, oyunlarda kullanıcıların oynamaya başlayamaması için geri arama çağrılana kadar bekleme ekranı devam eder.

Sunucu kimlik doğrulama kodlarını alma

Mevcut kullanıcı adı adına bir arka uç web sunucusunda Google API'lerine erişmek için oynatıcıyı kullanmak istiyorsanız istemci uygulamasından bir kimlik doğrulama kodu almanız web sunucusu uygulamanıza iletin. Bu kod daha sonra çeşitli API'lere çağrı yapmak için bir erişim jetonu. Daha fazla bilgi için öğrenmek için Web Siteleri İçin Google ile Oturum Açma.

Sunucu tarafı erişim kodunu almak için:

  1. Oyununuza bağlı web uygulamasının web istemci kimliğini Play Oyun Konsolu'na gidin.

  2. Oyuncu hazır olduğunda PlayGamesPlatform.Instance.RequestServerSideAccess adlı kişiyi ara sunucu tarafı erişim kodunu almak için kimlik doğrulaması yapıldı.

  3. Bu kodu sunucu uygulamanıza iletin.

  PlayGamesPlatform.Instance.RequestServerSideAccess(
    /* forceRefreshToken= */ false,
    code -> {
      // send code to server
    });

Özellikleri kurun ve ekleyin