projesiyle ilgili tüm adımları (SDK indirme, başlatma ve derleme yapılandırması) kapsar. keywords_public: Google Play Games PC, Unity, SDK entegrasyonu, yerel PC, oyun geliştirme, IL2CPP, manifest, Play Games PC Unity SDK
Bu kılavuzda, Google Play Games PC SDK'yı Unity projenize entegre etme ile ilgili adım adım talimatlar verilmiştir.
1. adım: SDK'yı indirin
İndirme bağlantısını kullanarak Unity Paketinin en son sürümünü indirin.
İndirme: Play Games PC Unity SDK'sı
2. adım: Paketi içe aktarın
SDK, Unity Package Manager (UPM) ile uyumlu bir tar dosyası olarak dağıtılır. Daha fazla bilgi için Yerel bir tar dosyasından UPM paketi yükleme başlıklı makaleyi inceleyin.
3. adım: Derleme ayarlarını yapılandırın
Yerel kitaplıkların doğru şekilde yüklendiğini doğrulamak için projenizi IL2CPP komut dosyası oluşturma arka ucunu kullanacak ve doğru mimariyi hedefleyecek şekilde yapılandırmanız gerekir.
Platform olarak Windows'u kullanarak derleme profili oluşturun.
Platform ayarlarını Windows olarak seçin. Mimari için şu seçenekleri kullanın:
- Intel 64 bit (Önerilen)
- Intel 32 bit
Not: PC Üzerinde Google Play Games platformu 64 bitlik bir ortamda çalışır. Oyununuzu 32 bit (x86) veya 64 bit (x64) olarak oluşturabilirsiniz.
Scripting Backend'i IL2CPP olarak ayarlayın. Daha fazla bilgi için IL2CPP ile proje oluşturma başlıklı makaleyi inceleyin.
- Api Compatibility Level'ı .NET Standard 2.0 (veya .NET Framework) olarak ayarlayın.
4. adım: Uygulama manifestini oluşturun
SDK'yı oyununuzda kullanabilmeniz için oyununuzun yürütülebilir dosyasını Play Console'da hak talebinde bulunduğunuz Play paket adıyla ilişkilendirmeniz gerekir. Bunu, oyununuzun yürütülebilir dosyasıyla aynı dizine bir manifest.xml dosyası ekleyerek yapabilirsiniz.
Not: Bu, yapılması gereken manuel bir adımdır.
- Oyununuzun yürütülebilir dosyasını oluşturmak için File > Build and Run'ı (Dosya > Oluştur ve Çalıştır) seçin veya
Ctrl+Bsimgesini tıklayın. - Bir metin düzenleyici açın ve
manifest.xmladlı yeni bir dosya oluşturun. Aşağıdaki XML kodunu kopyalayıp dosyaya yapıştırın:
<?xml version="1.0" encoding="utf-8"?> <?Manifest version="1"> <?Application> <?PackageName>com.example.package<?/PackageName> <?/Application> <?/Manifest>
Dosyayı
manifest.xmlolarak kaydedin.Bu dosyayı, oluşturduğunuz oyunun yürütülebilir dosyasıyla aynı klasöre taşıyın.
Örnek: Oyununuz
Builds/MyGame.exekonumundaysa manifestBuilds/manifest.xmlkonumunda olmalıdır.
Not: Oyununuzun yürütülebilir dosyasını dijital olarak imzalamanıza veya Google Play Games'den başlatmanıza gerek kalmadan Unity Editor'da geliştirme yaparken PC SDK'sını kullanmak istiyorsanız. Ek manifest yapılandırma adımları için geliştirici modu kurulum kılavuzuna bakın.
5. adım: SDK'yı başlatın
Faturalandırma veya bütünlük gibi özelliklere erişmeden önce SDK'yı başlatmanız gerekir. Başlatma işleyicisini oluşturmak ve bağlantıyı başlatmak için PlayPcSdkFactory öğesini kullanın.
Yeni bir C# komut dosyası oluşturun (ör. SdkInitialization.cs) ve aşağıdaki kodu ekleyin:
using UnityEngine; using System; using System.Threading.Tasks; // Import the SDK namespaces using PlayPcSdkManaged.Initialization; using PlayPcSdkManaged.Unity; public class GooglePlayPCSDKInit : MonoBehaviour { // Prevent double-initialization if this script is reloaded private static bool _isInitialized = false; private void Start() { // Use the "Safe Runner" pattern to fire the async method _ = InitializeSdkAsync(); } private async Task InitializeSdkAsync() { if (_isInitialized) { Debug.LogWarning("Google Play PC SDK is already initialized. Skipping."); return; } try { Debug.Log("Initializing Google Play PC SDK..."); // 1. Get the Unity-specific initialization handler from the factory var initHandler = PlayPcSdkFactory.InitializationHandler; // 2. Call InitializeAsync to start the connection var result = await GooglePlayInitialization.InitializeAsync(initHandler); // 3. Check the result if (result.IsOk) { _isInitialized = true; Debug.Log("<color=green>Google Play PC SDK Initialized Successfully!</color>"); // You can now create BillingClient or IntegrityClient instances } else { Debug.LogError($"<color=red>Initialization Failed!</color>"); Debug.LogError($"Error Code: {result.Code}"); Debug.LogError($"Message: {result.ErrorMessage}"); } } catch (Exception ex) { // Catch unexpected crashes or task failures Debug.LogError($"Exception during initialization: {ex.Message}"); Debug.LogException(ex); } } }
Bu komut dosyasını ilk sahnenizdeki bir GameObject'e ekleyin. Oyunu çalıştırdığınızda Konsol'da "SDK Başarıyla Başlatıldı!" mesajını kontrol edin.
6. adım: PC'nizdeki yerel oyunlar yüklendikten sonra otomatik oynatmayı etkinleştirme
PC Üzerinde Google Play Games (GPG), geliştiricilerin "otomatik oynatma" özelliğini etkinleştirmesine olanak tanır. Bu özellik, yükleme işlemi tamamlandıktan hemen sonra oyununuzu otomatik olarak başlatır. Bu özellik, oyuncuyu doğrudan oyuna yönlendirerek ve GPG ekosisteminde tam olarak kimliği doğrulanmış şekilde sorunsuz bir kullanıcı deneyimi sağlar.
İşleyiş şekli
Özelliği etkinleştirdiğinizde GPG, komut satırı bağımsız değişkenleri aracılığıyla üçüncü taraf (3P) yükleyici işleminize bir GPG oturum jetonu iletir. Yükleyiciniz daha sonra bu jetonu ayıklamaktan ve kimliği doğrulanmış bir bağlamda oyun yürütülebilir dosyasını başlatmak için kullanmaktan sorumludur.
Ön koşullar
Bu özelliği kullanmak için 3. taraf yükleyicinizin komut satırı bağımsız değişkenlerini işleyebilmesi gerekir.
Uygulama adımları
Yayınlama yapılandırmasında otomatik oynatmayı etkinleştirme
Bu özelliği etkinleştirmek için
play_publishing_config.xmldosyanızdaki<installer>öğesineacceptsCommandLineArgumentsözelliğini ekleyin.Örnek
manifest.xmliçerikleri:<installer requiresElevation="true" acceptsCommandLineArguments="true"> <path>path/to/installer.exe</path> <installation-path-registry-location> <key-name>SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\key</key-name> <value-name>InstallPath</value-name> </installation-path-registry-location> </installer>- Özellik:
acceptsCommandLineArguments - Tür:
Boolean - Varsayılan:
false - Davranış: Doğru olarak ayarladığınızda GPG, yükleyicinizi yürütürken oturum jetonunu komut satırı bağımsız değişkenlerine ekler.
- Özellik:
Yükleyicinizde Oturum Jetonunu İşleme
Yükleyiciniz GPG istemcisi tarafından başlatıldığında oturum jetonunu komut satırı bağımsız değişkeni olarak alır.
- Bağımsız değişken biçimi:
--g_session_token=<TOKEN>
Yapmanız gerekenler:
- Ayıklama: Yükleyiciniz, jeton dizesini almak için komut satırı bağımsız değişkenlerini ayrıştırmalıdır.
- Yayma: Yükleme akışınızda ikincil bir başlatıcı veya oyun süreci başlatılıyorsa yükleyiciniz, oturum jetonunu SDK'yı kullanan son oyun sürecine güvenli bir şekilde iletmekle sorumludur.
- Başlatma: Oyunun yürütülebilir dosyasını başlatmak için sağlanan oturum jetonunu kullanın. Bu, oyunun kimliği doğrulanmış bir GPG bağlamında çalışmasını sağlar. Aksi takdirde, InitializeSDK başarısız olur ve oynatıcınızın oyununuzu yeniden başlatması gerekir.
- Bağımsız değişken biçimi:
Hata işleme ve yedekler
- Jeton Alma: GPG herhangi bir nedenle oturum jetonu oluşturamaz veya iletemezse (ör. jeton oluşturma hatası) yükleme işlemi yine de devam eder. Ancak yükleyiciniz --g_session_token bağımsız değişkeni olmadan başlatılır.
- Sağlamlık: Yükleyiciniz, oturum jetonunun olmadığı senaryoları işleyecek şekilde tasarlanmalıdır. Bu gibi durumlarda yükleyici standart bir yükleme işlemine devam etmelidir. InitializeSDK yine de başarısız olacağından otomatik oyun başlatmayı tetiklememelisiniz.
- Yükleyici Hataları: Yükleyicinizin ve başlattığı oyun başlatma sırasının sağlamlığı ve hata işleme süreçlerinden siz sorumlusunuz. GPG, yükleyici başlatıldıktan sonra yükleyicide gerçekleşen işlemler üzerinde kontrol sahibi değildir.