במדריך הזה תמצאו הוראות מפורטות לשילוב של Google Play Games PC SDK בפרויקט Unity.
שלב 1: מורידים את ה-SDK
מורידים את הגרסה האחרונה של חבילת Unity באמצעות קישור ההורדה.
הורדה: Play Games PC Unity SDK
שלב 2: ייבוא החבילה
ערכת ה-SDK מופצת כקובץ tar שתואם ל-Unity Package Manager (UPM). מידע נוסף זמין במאמר בנושא התקנת חבילת UPM מקובץ tar מקומי
שלב 3: הגדרת Build Settings (הגדרות בנייה)
כדי לוודא שהספריות המקוריות נטענות בצורה תקינה, צריך להגדיר את הפרויקט כך שישתמש בIL2CPP scripting backend ויטרגט את הארכיטקטורה הנכונה.
יוצרים פרופיל build עם Windows כפלטפורמה.
בוחרים באפשרות הגדרות הפלטפורמה Windows. באפשרות ארכיטקטורה, משתמשים באפשרויות:
- Intel 64-bit (מומלץ)
- Intel 32-bit
הערה: פלטפורמת Google Play Games במחשב פועלת בסביבת 64 ביט. אפשר ליצור את המשחק כגרסת 32 ביט (x86) או כגרסת 64 ביט (x64).
מגדירים את Scripting Backend (קצה עורפי של סקריפטים) ל-IL2CPP. מידע נוסף זמין במאמר בנושא יצירת פרויקט באמצעות IL2CPP.
- מגדירים את Api Compatibility Level (רמת התאימות של ה-API) ל-.NET Standard 2.0 (או ל- .NET Framework).
שלב 4: יצירת מניפסט האפליקציה
כדי להשתמש ב-SDK במשחק, צריך לשייך את קובץ ההפעלה של המשחק לשם החבילה ב-Play שרשמתם ב-Play Console. כדי לעשות את זה, מוסיפים קובץ manifest.xml לאותה ספרייה שבה נמצא קובץ ההפעלה של המשחק.
הערה: זהו שלב ידני שחובה לבצע.
- כדי ליצור את קובץ ההפעלה של המשחק, בוחרים באפשרות File > Build and Run (קובץ > יצירה והפעלה) או לוחצים על
Ctrl+B. - פותחים כלי לעריכת טקסט ויוצרים קובץ חדש בשם
manifest.xml. מעתיקים את קוד ה-XML הבא ומדביקים אותו בקובץ:
<?xml version="1.0" encoding="utf-8"?> <?Manifest version="1"> <?Application> <?PackageName>com.example.package<?/PackageName> <?/Application> <?/Manifest>
שומרים את הקובץ בפורמט
manifest.xml.מעבירים את הקובץ הזה לאותה תיקייה שבה נמצא קובץ ההפעלה של המשחק.
דוגמה: אם המשחק נמצא בכתובת
Builds/MyGame.exe, קובץ המניפסט צריך להיות בכתובתBuilds/manifest.xml.
שלב 5: אתחול ה-SDK
צריך להפעיל את ה-SDK לפני שמשתמשים בתכונות כלשהן, כמו חיוב או תקינות. משתמשים ב-PlayPcSdkFactory כדי ליצור את ה-handler לאתחול ולהתחיל את החיבור.
יוצרים סקריפט C# חדש, למשל SdkInitialization.cs, ומוסיפים את הקוד הבא:
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); } } }
מצרפים את הסקריפט הזה ל-GameObject בסצנה הראשונה. כשמריצים את המשחק, בודקים במסוף את ההודעה SDK Initialized Successfully! (ה-SDK הופעל בהצלחה).