צינור בנייה וחתימה למשחקי אנדרואיד: המפתחות ל-AAB

בנייה וחתימה של משחקי Android הופכות פעמים רבות לשרשרת של דחיות ושגיאות: keystore שגוי, פספוס של Play App Signing, שינויי מפתחות בין גרסאות. אנחנו מפתחים pipeline אמין ממפתחות ועד AAB שמבטל את הבעיות האלה. הצוות שלנו מספק את הפרויקט turnkey—עם versioning, אוטומציה ותמיכה מתמשכת.

היכולות שלנו

שירותי סטודיו אחרים

יישומי VR/AR/MR מותאמים אישית

טבלו לקוחות וצוותים בחוויות דיגיטליות חדשות

פיתוח משחקי Unity

מקונספט לשחרור — משחקים שאנשים זוכרים

מידול ואנימציה בתלת-ממד

החיו את המוצר שלכם בגרפיקת תלת-ממד ואנימציה

סימולטורי ציוד VR תעשייתיים

אמנו מפעילים על ציוד בבטחה, ללא השבתה

הוראות AR לייצור

הנחיות שלב-אחר-שלב ישירות על הציוד — ללא נייר

סימולטורי VR לבטיחות

תרגול תגובה לשעת חירום ללא צורך בהגעה לשטח

תוכניות הכשרה ב-VR/AR

הכשרת עובדים בשירות, קליטה ומיומנויות רכות ב-VR

חידוני הכשרה לעובדים

בדיקת ידע באמצעות משחקים — בקלות וללא לחץ

הוראות וידאו ארגוניות

סרטונים ברורים להכשרת העובדים והלקוחות שלכם

גיימיפיקציה עסקית

הניעו צוותים עם מכניקת משחק ב-KPI ובמשאבי אנוש

יישומי קיוסק אינטראקטיביים

מסכים אינטראקטיביים לקמעונאות, תערוכות ומשרדים

מתקני VR/AR

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

תערוכות ומוזיאונים וירטואליים

התערוכות שלכם מגיעות לכל פינה בעולם, 24/7

מסעות אירועים ומשחקי מותג

משחקים בלתי נשכחים לכנסים ולאירועי לקוחות

שאלות נפוצות

העבודות האחרונות

  • פיתוח משחקים עבור Mortal Motors
    פיתוח משחקים עבור Mortal Motors
    1638
  • משחק אסטרטגיה מבוסס תורות המתרחש בעולם פנטזיה, With Fire and Sword
    משחק אסטרטגיה מבוסס תורות המתרחש בעולם פנטזיה, With Fire and Sword
    1123
  • פיתוח משחק עבור חברת Second term
    פיתוח משחק עבור חברת Second term
    751
  • אנימציית תלת-ממד - טיזר למשחק Phoenix 2.
    אנימציית תלת-ממד - טיזר למשחק Phoenix 2.
    830

בעיות עם חתימת Google Play: איך להימנע מהן

אתה מעלה את ה-APK שלך ל-Play Console, הוא עובר בדיקה—ושעתיים אחר כך אתה מקבל דחייה: "ה-APK שלך לא חתום עם מפתח ההעלאה." או שהבנייה מתקבלת, אבל שבוע לאחר מכן משתמשים מדווחים שאנדרואיד מבקש "להסיר את הגרסה הישנה לפני ההתקנה" כי ה-keystore השתנה בין גרסאות ו-Play App Signing לא הופעל בזמן. שגיאה זו נובעת מ-keystore שהוגדר לא נכון או משלב הפעלת Play App Signing שהוחמץ. טיפלנו בשני המקרים בעשרות פרויקטים, כולל העברת משחקים גדולים עם מיליוני התקנות. חסכנו עד 30% מגודל החבילה באמצעות AAB ו-PAD. הצוות שלנו, עם ניסיון של 10+ שנים בגיימדב (40+ פרויקטים), פיתח pipeline ברור שמבטל שגיאות אלה. אנו מגדירים בנייה וחתימה turnkey—קבל ייעוץ, נעריך את הפרויקט שלך.

Keystore לעומת Play App Signing: מה ההבדל

לפני Play App Signing (כיום חובה לאפליקציות חדשות), מפתחים חתמו APK עם המפתח שלהם—וזה המפתח שמשתמשים ראו. אובדן ה-keystore פירושו חוסר יכולת קבוע לשחרר עדכונים (תיעוד רשמי של Google).

עם Play App Signing, הסכימה היא דו-שכבתית: מפתח העלאה (שמוחזק על ידי המפתח) חותם על ה-APK בעת ההעלאה ל-Play Console; Google מאמתת אותו וחותמת מחדש על ה-APK הסופי עם מפתח חתימת האפליקציה שלה לפני המסירה למשתמשים. אובדן מפתח ההעלאה ניתן לשחזור—Google מאפשרת בקשת איפוס. אובדן מפתח חתימת האפליקציה אינו ניתן לשחזור, אבל הוא מאוחסן אצל Google.

עבור אפליקציות חדשות, Play App Signing מופעל אוטומטית. עבור אפליקציות קיימות, עליך להפעיל אותו במפורש על ידי העלאת המפתח הנוכחי. ההבטחה שלנו: אנו עוזרים בהעברת מפתחות ללא אובדן תאימות לאחור.

איך להגדיר Play App Signing לפרויקט קיים

עבור אפליקציות שכבר פורסמו ללא Play App Signing, התהליך דורש זהירות. עבור ל-Play Console, בחר את האפליקציה, נווט אל Release > Setup > App Signing. לאחר מכן העלה את ה-keystore הנוכחי שלך (או רק את התעודה) לרישום. לאחר ההפעלה, כל הגרסאות החדשות ייחתמו על ידי Google—המפתח הישן הופך למפתח ההעלאה. השלמנו מעבר זה עבור 15+ פרויקטים; זמן ממוצע הוא 1–2 ימים כאשר ה-keystore מוכן.

בניית AAB במקום APK

מזה מספר שנים, Google Play דורשת Android App Bundle (.aab) לאפליקציות חדשות. Unity מייצרת AAB דרך BuildSettings עם BuildAppBundle = true. AAB קטן יותר מ-APK ומאפשר ל-Play Console ליצור APK מותאם למכשיר (פיצול ABI, פיצול דחיסת טקסטורה). זה חוסך עד 30% בתעבורת משתמשים.

ניואנס חשוב למשחקי Unity: בעת שימוש ב-IL2CPP ו-AAB, ודא ש-Split Application Binary מופעל ב-Player Settings—אחרת ה-AAB עשוי לחרוג ממגבלת ההורדה של 150 MB. נכסים נוספים (Addressables, StreamingAssets) צריכים להימסר דרך Play Asset Delivery (PAD), לא להיכלל ישירות בחבילה.

Play Asset Delivery חיוני למשחקים עם משאבים גדולים. שלושה מצבי מסירה:

מצב גודל זמן מסירה
install-time עד 1 GB עם ההתקנה
fast-follow ללא הגבלה מיד לאחר ההתקנה
on-demand ללא הגבלה לפי בקשה במהלך המשחק

אינטגרציה עם Unity דרך חבילת Google.Play.AssetDelivery דורשת עיבוד מחדש של מערכת טעינת הנכסים אם היא לא תוכננה ל-PAD מההתחלה. זה כלול בהתקנה המלאה שלנו.

למה אוטומציה עם Fastlane חוסכת זמן

פעולת supply (נתיב Fastlane ל-Google Play) יכולה להעלות AAB למסלולים ספציפיים (פנימי, alpha, beta, production), לנהל אחוזי שחרור, ולעדכן רישומי חנות. תוך 2–5 ימים, אנו יוצרים pipeline שמטפל בפעולות אלה ללא התערבות ידנית.

אימות: דרך Service Account JSON עם תפקיד "Release Manager" ב-Play Console. זה אמין יותר מ-OAuth—ה-token לא פג ולא דורש הרשאה אינטראקטיבית ב-CI.

דוגמה ל-Fastfile מינימלי:

# fastlane/Fastfile
lane :upload_internal do
  gradle(task: 'assembleRelease')
  sign(keystore_path: ENV['KEYSTORE_PATH'], keystore_password: ENV['KEYSTORE_PASSWORD'], key_alias: ENV['KEY_ALIAS'], key_password: ENV['KEY_PASSWORD'])
  supply(track: 'internal')
end

ה-keystore מאוחסן מוצפן ב-CI (GitHub Secrets, GitLab CI Variables, Vault). לעולם אל תעלה קבצי # fastlane/Fastfile lane :upload_internal do gradle(task: 'assembleRelease') sign(keystore_path: ENV['KEYSTORE_PATH'], keystore_password: ENV['KEYSTORE_PASSWORD'], key_alias: ENV['KEY_ALIAS'], key_password: ENV['KEY_PASSWORD']) supply(track: 'internal') end או .jks למאגר—אפילו פרטי. למידע נוסף על פרמטרי .keystore, ראה תיעוד Fastlane.

ניהול גרסאות

versionCode באנדרואיד חייב לעלות באופן מונוטוני. ב-Unity, זה PlayerSettings.Android.bundleVersionCode. אנו מגדילים אוטומטית דרך סקריפט pre-build hook או דרך increment_version_code של Fastlane. לבניית CI, השתמש במספר בניית ה-pipeline כחלק מה-versionCode: baseVersion * 1000 + buildNumber. שגיאה כאן היא סיבה נפוצה לדחיית פרסום.

מה כלול בעבודה שלנו

  • ביקורת על סכמת החתימה הנוכחית וה-keystore.
  • הגדרת Play App Signing (הפעלה, העברת מפתחות).
  • בניית AAB עם אופטימיזציות (Split Binary, PAD).
  • אינטגרציה של Fastlane עם CI (GitHub Actions, GitLab CI, Jenkins).
  • ניהול גרסאות והגדלה אוטומטית.
  • תיעוד התהליך והגישה.
  • תמיכה במהלך השחרור הראשון.

לוחות זמנים

משימה לוח זמנים
בניית AAB חד-פעמית והעלאה למסלול פנימי 0.5–1 יום
הגדרת Play App Signing + מפתחות ל-CI 1–2 ימים
Pipeline מלא (Fastlane supply + מסלולים) 2–5 ימים
אינטגרציה של Play Asset Delivery 1–3 שבועות
העברת אפליקציה קיימת ל-Play App Signing 1–2 ימים

העלות מחושבת באופן אישי לאחר ניתוח מבנה הפרויקט ומצב מפתח החתימה שלך. קבל ייעוץ—נעריך את המקרה שלך.

טעויות נפוצות ואיך להימנע מהן

  • שינוי keystore בין גרסאות → גורם לאי-התאמת חתימה למשתמשים. פתרון: השתמש תמיד במפתח העלאה אחד.
  • חריגה ממגבלת AAB → אם Split Application Binary מושבת, החבילה יכולה לחרוג מ-150 MB. בדוק את הגדרות Unity לפני בנייה.
  • אי שימוש ב-PAD → טעינת כל הנכסים ב-AAB מאטה את ההתקנה ועלולה לגרום ל-ANR. מצב on-demand פותר את הבעיה.

אנו מבטיחים שה-pipeline שלך יפעל בצורה חלקה והפרסומים יעברו ללא דחיות. צור קשר כדי לדון בפרטים.