איך מתחילים לעבוד עם הפלאגין של Google Play Games ל-Unity

במאמר הזה נסביר איך להגדיר את פרויקט Unity לשימוש ב: הפלאגין של Google Play Games ל-Unity. המשימות כולל הגדרת הפרויקט, בחירת פלטפורמה חברתית והגדרה נגן כניסה.

לפני שמתחילים

התקנת יישומי פלאגין

  1. אפשר להוריד את הפלאגין באמצעות אחת מהאפשרויות הבאות:

  2. מוצאים את הקובץ unitypackage בספרייה current-build. הקובץ הזה הוא הפלאגין. לדוגמה, הכתובת אמורה להיראות כך:

      current-build/GooglePlayGamesPluginForUnity-X.YY.ZZ.unitypackage
    
  3. פותחים את פרויקט המשחק ב-Unity.

  4. כדי לייבא את הקובץ unitypackage לנכסי הפרויקט שלך, לוחצים על נכסים > ייבוא חבילה > אפשרות בתפריט 'חבילה מותאמת אישית'.

  5. מוודאים שפלטפורמת ה-build הנוכחית מוגדרת ל-Android.

    1. בתפריט הראשי, לוחצים על File > (קובץ >) הגדרות Build...

    2. בוחרים באפשרות Android ולוחצים על מעבר לפלטפורמה.

    3. אמורה להופיע אפשרות חדשה בתפריט בקטע חלון > Google Play Games אם המיקום אין נכסים, צריך לרענן את הנכסים על ידי לחיצה על נכסים > רענון ו ואז לנסות להגדיר שוב את פלטפורמת ה-build.

הורדת משאבים ל-Android מ-Play Console

כל הישג, לוח הישגי השחקנים ואירוע שאתם יוצרים בו Play Console כולל משאב Android שאתם משתמשים בו מגדירים פרויקט ב-Unity.

  1. מקבלים את מקורות המידע של Android למשחק.

    1. ב-Play Console, פותחים את פרויקט Play Games Services של במשחק שלך.

    2. לוחצים על הכרטיסייה הישגים ואז על קבלת משאבים.

    3. בחלון ייצוא משאבים לוחצים על הכרטיסייה Android.

    4. בוחרים את תוכן ה-XML ומעתיקים אותו.

הגדרת פרויקט ב-Unity

  1. מוסיפים את משאבי Android לפרויקט Unity.

    1. ב-Unity, לוחצים על ** window > Google Play Games > בתהליך הגדרה... > הגדרת Android **.

    2. משלימים את הפריטים הבאים בחלונות ההגדרה:

    3. ספרייה לשמירת קבועים: התיקייה של קובץ הקבועים.

    4. שם מחלקה קבועים: השם של מחלקה C# שיש ליצור, כולל מרחב השמות.

    5. הגדרת משאבים: מדביקים כאן את נתוני המשאבים של Android מ-Play Console.

    6. Web Client ID: המזהה של אפליקציית האינטרנט המקושרת. זה רק נדרש אם יש לך קצה עורפי מבוסס-אינטרנט עבור המשחק שלך ועליך לקבל קוד אימות שרת כדי להחליף אסימון גישה באמצעות לשרת העורפי, או אם אתם צריכים אסימון מזהה כדי שהנגן יבצע קריאות ל-API שאינן משחקים.

    7. לוחצים על Setup (הגדרה). הפעולה הזו מגדירה את המשחק עם מזהה הלקוח ו יוצרת מחלקה של C# שמכילה קבועים לכל אחד ממכשירי Android במשאבי אנוש.

הגדרת Android

מגדירים ב-Unity את הנתיב להתקנת Android SDK. המיקום הזה נמצא ב- תפריט ההעדפות בקטע כלים חיצוניים.

כדי להגדיר שמשחק Unity שלך יפעל עם Google Play Games ב-Android, תחילה יש להגדיר פותחים את מנהל ה-SDK של Android ומוודאים שהורדתם את הפריטים הבאים חבילות. בהתאם לשימוש במנהל ה-SDK מ-Android Studio, או באמצעות מנהל ה-SDK הנפרד, שמות הרכיבים עשויים להיות שונים. - Google Play Services - ספריית התמיכה של Android - מאגר Maven לספריות תמיכה (נקרא גם 'תמיכה ב-Android') מאגר) - המאגר של Google - Android 6.0 (API 23) (לא משפיע על גרסת ה-SDK המינימלית).

בשלב הבא מגדירים את שם החבילה של המשחק. לשם כך, לחצו על קובץ > פיתוח פתרונות הגדרות, בוחרים את פלטפורמת Android ולוחצים על הגדרות נגן כדי הצגת החלון 'הגדרות נגן' ב-Unity. בחלון הזה, מחפשים את החבילה הגדרת המזהה בקטע הגדרות אחרות. כאן מזינים את שם החבילה (לדוגמה com.example.my.awesome.game).

כדי להיכנס אל Play Games Services, עליך לחתום על קובץ ה-APK שלך עליך להקפיד לחתום עליו עם האישור הנכון, כלומר האישור שתואם לאישור SHA1. טביעת האצבע שהזנת ב-Developer Console במהלך ההגדרה.

לאחר מכן, לוחצים על אפשרות התפריט חלון |Google Play Games|הגדרה – הגדרת Android. פעולה זו תציג את מסך ההגדרה של Android.

מזינים את שם המחלקה של קבועים. זהו השם של המחלקה המלאה שיעודכנו (או ייווצרו) ויכילו את המזהים של משאבי המשחק. הפורמט של השם הוא <namespace>.<classname>. לדוגמה, AwesomeGame.GPGSIds

מדביקים את הנתונים של הגדרת המשאב. אלו נתוני ה-XML מ-Google Play Developer Console שמכיל את מזהי המשאבים ואת מזהה האפליקציה ל-Android.

הנתונים האלה מופיעים ב-Google Play Console על ידי לחיצה על "קבל משאבים" בכל אחד מדפי המשאבים (למשל, הישגים או לוחות לידרבורד), ואז לוחצים על Android.

אחרי הדבקת הנתונים באזור הטקסט, לוחצים על הלחצן הגדרה.

הערה: אם אתם משתמשים באפליקציית אינטרנט או בשרת עורפי עם המשחק, אפשר לקשר את אפליקציית האינטרנט למשחק כדי לאפשר את קבלת אסימון מזהה ו/או כתובת אימייל. כדי לעשות זאת, צריך לקשר אפליקציית אינטרנט במשחק ב-Google Play Developer Console ולהזין את מספר הלקוח של את אפליקציית האינטרנט בתיבת הדו-שיח של ההגדרה.

הוראות נוספות לפיתוח גרסת Android ל-Windows

אם משתמשים ב-Windows, צריך לוודא שהתקנת Java SDK ל-Unity יש גישה. לשם כך:

  1. מגדירים את משתנה הסביבה JAVA_Home לנתיב ההתקנה של Java SDK (לדוגמה, C:\Program Files\Java\jdk1.7.0_45).
  2. מוסיפים את התיקייה bin של Java SDK למשתנה הסביבה PATH (לדוגמה, C:\Program Files\Java\jdk1.7.0_45\bin)
  3. הפעלה מחדש.

איך עורכים משתני סביבה: ב-Windows 2000/XP/Vista/7, לוחצים לחיצה ימנית המחשב שלי, לאחר מכן מאפייניםואז אל מאפייני מערכת מתקדמים (או על מאפייני מערכת ואז לוחצים על הכרטיסייה מתקדם), ואז לוחצים משתני סביבה. ב-Windows 8, מקישים על מקש Windows + W ומחפשים מידע נוסף על משתני סביבה זמין במסמכי התיעוד. עבור גרסת Windows שלך.

הפעלת הפרויקט

אם אתם עובדים עם דוגמת Smoketest, אתם אמורים לדעת ולהריץ את הפרויקט בשלב הזה. ניסיון הכניסה האוטומטי יופיע. כאשר Smoketest מתחיל.

כדי ליצור ולהפעיל מחדש ב-Android, יש ללחוץ על קובץ > יוצרים הגדרות, בוחרים את פלטפורמת Android ואז עוברים לפלטפורמה, ואז Build and Run (יצירה והפעלה).

בחירת רשת חברתית

הפלאגין של Google Play Games מיישם את social Interface, לתאימות למשחקים שכבר משתמשים בממשק הזה בעת שילוב עם פלטפורמות שונות. אבל חלק מהתכונות הן ייחודיות ל-Play Games מוצע כתוספים לממשק הסטנדרטי של רשתות חברתיות שמסופקות על ידי Unity.

ניתן לגשת לקריאות הרגילות ל-API דרך האובייקט Social.Active, שהוא הפניה לממשק של ISocialPlatform. הן לא סטנדרטיות ניתן לגשת לתוספים של Google Play Games על ידי העברת Cast אל Social.Active. למחלקה PlayGamesPlatform, שבה השיטות הנוספות זמינים.

שימוש בפלאגין בלי לבטל את ברירת המחדל של הפלטפורמה החברתית

אם מתקשרים אל PlayGamesPlatform.Activate, אפליקציית Google Play Games הופכת של הטמעת ברירת מחדל של פלטפורמות חברתיות, כלומר קריאות סטטיות ל-methods בSocial ובSocial.Active יתבצעו על ידי Google Play Games יישומי פלאגין. זו ההתנהגות הרצויה ברוב המשחקים שמשתמשים בפלאגין.

עם זאת, אם מסיבה כלשהי אתם רוצים להשאיר את הטמעת ברירת המחדל לגשת אליו (לדוגמה, להשתמש בו כדי לשלוח הישגים ולוחות לידרבורד מפלטפורמה חברתית אחרת), תוכלו להשתמש בפלאגין של Google Play Games בלי לעקוף את ברירת המחדל. לשם כך:

  1. אין להתקשר אל PlayGamesPlatform.Activate
  2. אם Xyz הוא השם של שיטה שאליה רוצים להפעיל בכיתה Social, צריך לעשות את זה לא קוראים לפונקציה Social.Xyz. במקום זאת, צריך להתקשר אל PlayGamesPlatform.Instance.Xyz
  3. אין להשתמש ב-Social.Active בעת אינטראקציה עם Google Play Games. במקום זאת, להשתמש ב-PlayGamesPlatform.Instance.

כך תוכלו אפילו לשלוח ציונים והישגים בו-זמנית רשתות חברתיות נוספות:

    // Submit achievement to original default social platform
    Social.ReportProgress("MyAchievementIdHere", 100.0f, callback);

    // Submit achievement to Google Play
    PlayGamesPlatform.Instance.ReportProgress("MyGooglePlayAchievementIdHere", 100.0f, callback);

אימות שירות הכניסה

המערכת תנסה להתחבר אל Play Games Services באופן אוטומטי באמצעות שירות כניסה כשהמשחק פתוח. אם החיבור יצליח, המשחק יציג הודעת כניסה ומוכן לשימוש הפלאגין של Google Play Games ל-Unity.

אם משתמש מעולם לא השתמש ב-Google Play Games במכשיר שלו, עוברים אוטומטית למסך ההגדרה החד-פעמי כדי ליצור משחק Play Games חשבון.

בשיטה Start של הסקריפט, מקשיבים לתוצאה של ניסיון כניסה לחשבון, אחזור סטטוס האימות והשבתת Play Games תכונות של שירותים, אם המשתמש לא מחובר לחשבון.

    using GooglePlayGames;

    public void Start() {
      PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
    }

    internal void ProcessAuthentication(SignInStatus status) {
      if (status == SignInStatus.Success) {
        // Continue with Play Games Services
      } else {
        // Disable your integration with Play Games Services or show a login button
        // to ask users to sign-in. Clicking it should call
        // PlayGamesPlatform.Instance.ManuallyAuthenticate(ProcessAuthentication).
      }
    }
}

קוד התוצאה הוא enum שאפשר להשתמש בו כדי לזהות את הסיבה לכניסה לחשבון כשלכם.

אם אתם מעדיפים להשתמש בפלטפורמה החברתית של Unity, תוכלו גם להשתמש ב הקוד הבא:

  using GooglePlayGames;

  public void Start() {
    PlayGamesPlatform.Activate();
    Social.localUser.Authenticate(ProcessAuthentication);
  }

לא ניתן לבצע קריאות ל-Google Play Games API לפני עמידה בדרישות מוחזר ערך מ-Authenticate. לכן, מומלץ שבמשחקים יוצגו צריך להפעיל את המסך במצב המתנה עד שתתבצע קריאה חוזרת (callback) כדי לוודא שהמשתמשים לא יוכלו להתחיל לשחק במשחק עד להשלמת האימות.

אחזור קודי אימות של השרת

כדי לגשת ל-Google APIs בשרת אינטרנט בקצה עורפי מטעם אתם צריכים לקבל קוד אימות מאפליקציית הלקוח להעביר אותו לאפליקציית שרת האינטרנט שלך. לאחר מכן ניתן להחליף את הקוד אסימון גישה לביצוע קריאות לממשקי ה-API השונים. לקבלת מידע על בתהליך העבודה, כניסה באמצעות חשבון Google לאתרים.

כדי לקבל את קוד הגישה בצד השרת:

  1. צריך להגדיר את מזהה הלקוח באינטרנט של אפליקציית האינטרנט שמקושרת למשחק שלך ב- להפעיל את קונסולת המשחקים.

  2. התקשרות אל PlayGamesPlatform.Instance.RequestServerSideAccess ברגע שהנגן מאומת כדי לקבל את קוד הגישה בצד השרת.

  3. צריך להעביר את הקוד הזה לאפליקציית השרת.

  PlayGamesPlatform.Instance.RequestServerSideAccess(
    /* forceRefreshToken= */ false,
    code -> {
      // send code to server
    });

הגדרה והוספה של תכונות