תחילת השימוש ב-Play Games Services בשביל C++ ב-Android

במדריך למפתחים הזה נסביר איך לקמפל ולהריץ משחק ב-C++ ב-Android שמשתמש ב-Google Play Game Services API. לפני שמתחילים, צריך להוריד ולהגדיר את הדרישות הבאות:

במדריך למפתחים הזה נעשה שימוש ב-Android Native Development Kit‏ (NDK). אם אתם לא מכירים את NDK, מומלץ לעיין במסמכי התיעוד והדוגמאות של NDK לפני שממשיכים.

שלב 1: הגדרת הסביבה

  1. מורידים את Android SDK ואת Android NDK ומחלצים אותם במחשב. בסביבה, מגדירים את SDK_ROOT למיקום התיקייה של Android SDK ואת NDK_ROOT למיקום התיקייה של Android NDK.
  2. מורידים את המשחקים לדוגמה ב-C++‎. במדריך למפתחים הזה, המיקום של הדוגמאות במחשב נקרא SAMPLES_DIR.
  3. מורידים את Google Play Games services C++ SDK. מחלצים את ה-SDK למכונה לצורכי פיתוח. בסביבה, מגדירים את המשתנה NDK_MODULE_PATH כך שיצביע על התיקייה מעל התיקייה gpg-cpp-sdk. מבנה הספריות אמור להיות:
    NDK_MODULE_PATH/
    gpg-cpp-sdk/
  4. פותחים את Eclipse. אם עדיין לא עשיתם זאת, צריך לציין ב-Eclipse את המיקום שבו התקנתם את NDK. לשם כך, לוחצים על Preferences (העדפות) > Android (Android) > NDK (NDK).
  5. מייבאים את פרויקט הספרייה של Google Play Services למרחב העבודה ב-Eclipse.

    1. ב-Eclipse, לוחצים על File (קובץ) > Import (ייבוא) > Android (Android) > Existing Android Code into Workspace (קוד Android קיים בסביבת העבודה).
    2. בוחרים באפשרות SDK_ROOT/extras/google/google_play_services/libproject/google-play-services_lib כאשר SDK_ROOT הוא המיקום של Android SDK.
    3. לוחצים על סיום.
  6. מייבאים את הפרויקט הפשוט לדוגמה לסביבת העבודה ב-Eclipse.

    1. ב-Eclipse, לוחצים על File (קובץ) > Import (ייבוא) > Android (Android) > Existing Android Code into Workspace (קוד Android קיים בסביבת העבודה).
    2. בוחרים באפשרות SAMPLES_DIR/samples-android/minimalist.
    3. לוחצים על סיום.
  7. לוחצים לחיצה ימנית על הפרויקט MinimalistActivity ואז על Properties. בקטע Android, גוללים למטה לקטע Library ומוודאים שהפרויקט google-play-services_lib מופיע שם. אם לא, מסירים את קובץ העזר ומוסיפים אותו שוב מסביבת העבודה.

Eclipse יתעדף באופן אוטומטי את מקורות ה-Java וה-Android של הפרויקט, אבל צריך לתעדף בנפרד את הקוד המקורי בתיקייה jni. כדי לעשות זאת באופן ידני, עוברים לתיקייה jni ומריצים את ndk-build. חשוב לזכור לעשות זאת אחרי שמבצעים שינויים בתיקייה jni.

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

שלב 2: מגדירים את המשחק ב-Google Play Console

יוצרים רשומה למשחק ב-Google Play Console. הפעולה הזו מפעילה את שירותי המשחקים באפליקציה ויוצרת מזהה לקוח מסוג OAuth 2.0, אם עדיין אין לכם מזהה כזה.

  1. יוצרים רשומה למשחק לפי השלבים שמפורטים במאמר הגדרת Google Play Games Services.
  2. בקטע AndroidManifest.xml, משנים את המאפיין package של התג <manifest> לשם החבילה שבחרתם כשהגדרתם את Google Play Console. יכול להיות שתצטרכו לתקן כמה הפניות בפרויקט אחרי ביצוע השינוי הזה (במיוחד לכיתה R שנוצרה).
  3. פותחים את res/values/ids.xml ומזינים את מזהה האפליקציה. לתשומת ליבכם: מזהה האפליקציה אינו זהה למזהה הלקוח. זהו המספר שמופיע לצד שם המשחק בדף פרטי המשחק ב-Google Play Console.

שלב 3: מריצים את הדוגמה

כדי להריץ את הדוגמה, תצטרכו מכשיר Android פיזי או אמולטור עם שירותי Google Play מותקנים:

  1. מריצים את הפקודה ndk-build כדי לקמפל את הקוד המקורי.
  2. ב-Eclipse, לוחצים על Run > Run As > Android Application ומפעילים את הדוגמה במכשיר.
  3. כשהטעימות נפתחת, מקישים במקום כלשהו במסך. אמור להופיע הלוגו של Google Play Games. אם הגדרתם את האפליקציה בצורה נכונה, תתבקשו להיכנס לחשבון.

אופציונלי: פיתוח גרסת build באופן אוטומטי באמצעות Eclipse

בשלבים הבאים מוסבר איך להגדיר את Eclipse כך שתפעיל את ndk-build באופן אוטומטי כשמבצעים שינויים בקובצי התיקייה jni.

  1. לוחצים לחיצה ימנית על הפרויקט MinimalistActivity ואז על Properties. בחלון Properties, בוחרים בחלונית Builders.
  2. לוחצים על New (חדש) כדי להוסיף Builder חדש, בוחרים באפשרות Program (תוכנית) ואז לוחצים על OK (אישור).
  3. בשדה Name, מזינים 'NDK Builder'.
  4. בקטע מיקום, לוחצים על עיון במערכת הקבצים, עוברים לספרייה NDK_ROOT ובוחרים את הפקודה ndk-build.
  5. בקטע Working Directory, לוחצים על Browse Workspace ובוחרים את תיקיית הפרויקט MinimalistActivity.
  6. לוחצים על הכרטיסייה רענון. מוודאים שהתיבה Refresh resources upon completion מסומנת.
  7. בוחרים בלחצן הבחירה משאבים ספציפיים ולוחצים על ציון משאבים. בתיבת הדו-שיח שנפתחת, בוחרים בתיקייה jni בקטע MinimalActivity.
  8. לוחצים על אישור ואז על אישור כדי לסיים את יצירת ה-Builder.

מעכשיו, בכל פעם שתערכו קובץ בתיקייה jni, Eclipse ירוץ את ndk-build וידפיס את הפלט במסוף Eclipse.