במדריך למפתחים הזה נסביר איך לקמפל ולהריץ משחק ב-C++ ב-Android שמשתמש ב-Google Play Game Services API. לפני שמתחילים, צריך להוריד ולהגדיר את הדרישות הבאות:
- Android NDK, גרסה 14 ואילך.
- Android SDK מגרסה 10 ואילך והגרסה העדכנית ביותר של Eclipse ADT.
- במכשיר צריכה להיות מותקנת מערכת Android מגרסה 4.0 (רמת API 14) ואילך.
- הגרסה האחרונה של Google Play Services SDK.
במדריך למפתחים הזה נעשה שימוש ב-Android Native Development Kit (NDK). אם אתם לא מכירים את NDK, מומלץ לעיין במסמכי התיעוד והדוגמאות של NDK לפני שממשיכים.
שלב 1: הגדרת הסביבה
- מורידים את Android SDK ואת Android NDK ומחלצים אותם במחשב. בסביבה, מגדירים את
SDK_ROOT
למיקום התיקייה של Android SDK ואתNDK_ROOT
למיקום התיקייה של Android NDK. - מורידים את המשחקים לדוגמה ב-C++. במדריך למפתחים הזה, המיקום של הדוגמאות במחשב נקרא
SAMPLES_DIR
. - מורידים את Google Play Games services C++ SDK. מחלצים את ה-SDK למכונה לצורכי פיתוח. בסביבה, מגדירים את המשתנה
NDK_MODULE_PATH
כך שיצביע על התיקייה מעל התיקייהgpg-cpp-sdk
. מבנה הספריות אמור להיות:NDK_MODULE_PATH/ gpg-cpp-sdk/
- פותחים את Eclipse. אם עדיין לא עשיתם זאת, צריך לציין ב-Eclipse את המיקום שבו התקנתם את NDK. לשם כך, לוחצים על Preferences (העדפות) > Android (Android) > NDK (NDK).
מייבאים את פרויקט הספרייה של Google Play Services למרחב העבודה ב-Eclipse.
- ב-Eclipse, לוחצים על File (קובץ) > Import (ייבוא) > Android (Android) > Existing Android Code into Workspace (קוד Android קיים בסביבת העבודה).
- בוחרים באפשרות
SDK_ROOT/extras/google/google_play_services/libproject/google-play-services_lib
כאשרSDK_ROOT
הוא המיקום של Android SDK. - לוחצים על סיום.
מייבאים את הפרויקט הפשוט לדוגמה לסביבת העבודה ב-Eclipse.
- ב-Eclipse, לוחצים על File (קובץ) > Import (ייבוא) > Android (Android) > Existing Android Code into Workspace (קוד Android קיים בסביבת העבודה).
- בוחרים באפשרות
SAMPLES_DIR/samples-android/minimalist
. - לוחצים על סיום.
לוחצים לחיצה ימנית על הפרויקט 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, אם עדיין אין לכם מזהה כזה.
- יוצרים רשומה למשחק לפי השלבים שמפורטים במאמר הגדרת Google Play Games Services.
- בקטע
AndroidManifest.xml
, משנים את המאפייןpackage
של התג<manifest>
לשם החבילה שבחרתם כשהגדרתם את Google Play Console. יכול להיות שתצטרכו לתקן כמה הפניות בפרויקט אחרי ביצוע השינוי הזה (במיוחד לכיתהR
שנוצרה). - פותחים את
res/values/ids.xml
ומזינים את מזהה האפליקציה. לתשומת ליבכם: מזהה האפליקציה אינו זהה למזהה הלקוח. זהו המספר שמופיע לצד שם המשחק בדף פרטי המשחק ב-Google Play Console.
שלב 3: מריצים את הדוגמה
כדי להריץ את הדוגמה, תצטרכו מכשיר Android פיזי או אמולטור עם שירותי Google Play מותקנים:
- מריצים את הפקודה
ndk-build
כדי לקמפל את הקוד המקורי. - ב-Eclipse, לוחצים על Run > Run As > Android Application ומפעילים את הדוגמה במכשיר.
- כשהטעימות נפתחת, מקישים במקום כלשהו במסך. אמור להופיע הלוגו של Google Play Games. אם הגדרתם את האפליקציה בצורה נכונה, תתבקשו להיכנס לחשבון.
אופציונלי: פיתוח גרסת build באופן אוטומטי באמצעות Eclipse
בשלבים הבאים מוסבר איך להגדיר את Eclipse כך שתפעיל את ndk-build
באופן אוטומטי כשמבצעים שינויים בקובצי התיקייה jni
.
- לוחצים לחיצה ימנית על הפרויקט MinimalistActivity ואז על Properties. בחלון Properties, בוחרים בחלונית Builders.
- לוחצים על New (חדש) כדי להוסיף Builder חדש, בוחרים באפשרות Program (תוכנית) ואז לוחצים על OK (אישור).
- בשדה Name, מזינים 'NDK Builder'.
- בקטע מיקום, לוחצים על עיון במערכת הקבצים, עוברים לספרייה
NDK_ROOT
ובוחרים את הפקודהndk-build
. - בקטע Working Directory, לוחצים על Browse Workspace ובוחרים את תיקיית הפרויקט MinimalistActivity.
- לוחצים על הכרטיסייה רענון. מוודאים שהתיבה Refresh resources upon completion מסומנת.
- בוחרים בלחצן הבחירה משאבים ספציפיים ולוחצים על ציון משאבים. בתיבת הדו-שיח שנפתחת, בוחרים בתיקייה
jni
בקטע MinimalActivity. - לוחצים על אישור ואז על אישור כדי לסיים את יצירת ה-Builder.
מעכשיו, בכל פעם שתערכו קובץ בתיקייה jni
, Eclipse ירוץ את ndk-build
וידפיס את הפלט במסוף Eclipse.