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 Paket Yöneticisi (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'un kullanıldığı bir 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ı makaleye göz atın.
- 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, manuel olarak yapılması gereken 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.exeadresindeyse manifestBuilds/manifest.xmladresinde olmalıdır.
Not: Unity Editor'da geliştirme yaparken oyununuzun yürütülebilir dosyasını dijital olarak imzalamanıza veya Google Play Games'den başlatmanıza gerek kalmadan 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 (örneğin, 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 Console'da "SDK Başarıyla Başlatıldı!" mesajını kontrol edin.