בפרויקט, כולל השלבים מהורדת ה-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 הופעל בהצלחה).
שלב 6: הפעלת ההפעלה האוטומטית אחרי ההתקנה של משחקים מקוריים למחשב
פלטפורמת Google Play Games למחשב (GPG) מאפשרת למפתחים להפעיל תכונה של הפעלה אוטומטית, שמפעילה את המשחק באופן אוטומטי מיד אחרי שתהליך ההתקנה מסתיים. התכונה הזו מאפשרת חוויית משתמש חלקה כי היא מעבירה את השחקן ישירות למשחק, אחרי אימות מלא בסביבה העסקית של GPG.
איך זה עובד
כשמפעילים את התכונה, GPG מעביר טוקן לסשן GPG לתהליך ההתקנה של צד שלישי (3P) באמצעות ארגומנטים של שורת פקודה. לאחר מכן, תוכנת ההתקנה אחראית לחילוץ האסימון הזה ולשימוש בו כדי להפעיל את קובץ ההפעלה של המשחק בהקשר מאומת.
דרישות מוקדמות
כדי להשתמש בתכונה הזו, תוכנת ההתקנה של צד ג' צריכה להיות מסוגלת לטפל בארגומנטים של שורת הפקודה.
שלבי ההטמעה
הפעלת הפעלה אוטומטית בהגדרות הפרסום
כדי להפעיל את התכונה הזו, מוסיפים את המאפיין
acceptsCommandLineArgumentsלאלמנט<installer>בקובץplay_publishing_config.xml.תוכן
manifest.xmlלדוגמה:<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>- מאפיין:
acceptsCommandLineArguments - סוג:
Boolean - ברירת המחדל:
false - התנהגות: אם מגדירים את הערך כ-True, GPG מוסיף את טוקן הסשן לארגומנטים של שורת הפקודה כשמריצים את קובץ ההתקנה.
- מאפיין:
טיפול בטוקן הסשן בכלי ההתקנה
כשלקוח GPG מפעיל את קובץ ההתקנה, הוא מקבל את אסימון הסשן כארגומנט בשורת הפקודה.
- פורמט הארגומנט:
--g_session_token=<TOKEN>
מה צריך לעשות:
- חילוץ: תוכנת ההתקנה צריכה לנתח את הארגומנטים של שורת הפקודה כדי לאחזר את מחרוזת הטוקן.
- הפצה: אם תהליך ההתקנה שלכם כולל הפעלה של תהליך משני של מרכז האפליקציות או של המשחק, תוכנת ההתקנה אחראית להעברת אסימון הסשן בצורה מאובטחת לתהליך הסופי של המשחק שמשתמש ב-SDK.
- הפעלה: משתמשים באסימון הסשן שסופק כדי להפעיל את קובץ ההפעלה של המשחק. כך מוודאים שהמשחק פועל בהקשר מאומת של GPG. אחרת, הפונקציה InitializeSDK תיכשל והשחקן יצטרך להפעיל מחדש את המשחק.
- פורמט הארגומנט:
טיפול בשגיאות וגיבויים
- אחזור טוקן: אם מסיבה כלשהי, GPG לא יכול ליצור או להעביר טוקן סשן (למשל, אם יצירת הטוקן נכשלה), תהליך ההתקנה ימשיך בכל זאת. עם זאת, תוכנית ההתקנה תופעל ללא הארגומנט --g_session_token.
- חוסן: תוכנת ההתקנה צריכה להיות מתוכננת כך שתדע להתמודד עם תרחישים שבהם אין טוקן סשן. במקרים כאלה, תוכנת ההתקנה צריכה להמשיך בהתקנה רגילה. לא צריך להפעיל את המשחק באופן אוטומטי כי הפונקציה InitializeSDK תיכשל בכל מקרה.
- שגיאות בהתקנה: אתם אחראים לחוסן ולטיפול בשגיאות של תוכנת ההתקנה ושל רצף הפעלת המשחק שהיא יוזמת. ל-GPG אין שליטה בתהליכים שמתרחשים בתוך קובץ ההתקנה אחרי שהוא מופעל.