בפרויקט, כולל השלבים מהורדת ה-SDK ועד לאתחול ולהגדרת הבנייה. keywords_public: Google Play Games PC, Unity, SDK integration, native PC, game development, IL2CPP, manifest, Play Games PC Unity SDK
במדריך הזה מוסבר איך לשלב את Google Play Games PC SDK בפרויקט Unity.
שלב 1: מורידים את ה-SDK
מורידים את הגרסה האחרונה של חבילת Unity באמצעות קישור ההורדה.
הורדה: SDK של Play Games למחשב Unity
שלב 2: ייבוא החבילה
ערכת ה-SDK מופצת כקובץ tar שתואם ל-Unity Package Manager (UPM). מידע נוסף זמין במאמר בנושא התקנה של חבילת UPM מקובץ tar מקומי
שלב 3: קובעים את הגדרות הבנייה
כדי לוודא שהספריות המקוריות נטענות בצורה תקינה, צריך להגדיר את הפרויקט כך שישתמש ב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.
הערה: אם רוצים להשתמש ב-SDK למחשב בזמן הפיתוח ב-Unity Editor בלי צורך לחתום דיגיטלית על קובץ ההפעלה של המשחק או להפעיל אותו מ-Google Play Games. שלבים נוספים להגדרת קובץ המניפסט מפורטים במדריך להגדרת מצב פיתוח.
שלב 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 הופעל בהצלחה).