הידרתם AAB ל-release, העליתם אותו ל-Play Console, ושעה לאחר מכן קיבלתם דחייה. הסיבה: סעיף App content לא מלא או targetSdkVersion מתחת לדרישה. אני זוכר מקרה שבו לקוח איבד שבוע בגלל קישור Privacy Policy חסר — עכשיו אנחנו בודקים את זה מראש. בואו נפרק איך לעבור את הבדיקה בניסיון הראשון ולהגדיר את תהליך הפרסום כך שכל release חדש ייקח דקות. כמפתחי מובייל עם ניסיון של 5+ שנים ו-50+ releases מוצלחים, נתקלנו בזה פעמים רבות. במאמר זה, אנו חולקים צעדים מוכחים ומלכודות טיפוסיות שזיהינו על פני יותר מ-50 פרויקטים. הצוות שלנו פעיל מאז 2016 ועזר לעשרות סטארטאפים לצאת לשוק. אנו מבטיחים תהליך חלק או החזר כספי.
איך להכין את האפליקציה שלכם לפרסום ב-Google Play
לפני העלאת ה-build הראשון, מלאו את המינימום החובה ב-Play Console:
- App content: קהל יעד, פרסומות, קישור Privacy Policy
- Store listing: כותרת (מקסימום 50 תווים), תיאור קצר (80), תיאור מלא (4000), צילומי מסך לטלפון (מינימום), אייקון 512×512 פיקסלים, Feature Graphic 1024×500 פיקסלים
- Content rating: מלאו את השאלון — IARC מקצה דירוג אוטומטית לכל מדינה
ללא סעיף App content מלא, כפתור הפרסום חסום. Play Console מציג בבירור רשימה של סעיפים לא מלאים, כך שקשה ללכת לאיבוד כאן.
מדריך שלב-אחר-שלב לפרסום אפליקציית Android שלכם
שלב 1: בניית AAB
# Сборка release AAB ./gradlew bundleRelease # Путь к артефакту app/build/outputs/bundle/release/app-release.aab העלו דרך Play Console ידנית או באמצעות # Сборка release AAB ./gradlew bundleRelease # Путь к артефакту app/build/outputs/bundle/release/app-release.aab / fastlane supply.
# Fastlane Deliverfile для Google Play
package_name "com.example.app"
aab "app/build/outputs/bundle/release/app-release.aab"
track "internal"
release_status "completed"
json_key "path/to/service-account.json" # Service Account из Google Cloud
Service Account נוצר ב-Google Cloud Console ומקושר ל-Play Console דרך Google Play Developer API. הרשאות: # Fastlane Deliverfile для Google Play package_name "com.example.app" aab "app/build/outputs/bundle/release/app-release.aab" track "internal" release_status "completed" json_key "path/to/service-account.json" # Service Account из Google Cloud להעלאה וקידום.
שלב 2: בחירת מסלול בדיקות
Play Console מפריד קידום לפי מסלולים:
| מסלול | גישה | מגבלה |
|---|---|---|
| בדיקות פנימיות | עד 100 בודקים לפי אימייל | פרסום מיידי |
| בדיקות סגורות (Alpha) | קבוצה מוגבלת | פרסום מיידי |
| בדיקות פתוחות (Beta) | כל משתמש | פרסום מיידי |
| Production | כל המשתמשים | בדיקת Google (בדרך כלל שעות עד ימים) |
זרימה מומלצת: פנימי → סגור → פתוח → Production. קדמו ממסלול למסלול דרך Setup → API access. AAB מועלה פעם אחת ל-Internal, ואז אותו מספר build מקודם ללא העלאה חוזרת.
שלב 3: שימוש ב-Phased Rollout ב-Production
Google Play מאפשר הגדרת אחוז משתמשים לשחרור הדרגתי. ניתן לעצור את השחרור בכל רגע אם Firebase Crashlytics מראה עלייה בשיעור הקריסות. לאחר עצירה, או לתקן ולהעלות build חדש או להמשיך את הנוכחי.
סיבות דחייה טיפוסיות (ואיך להימנע מהן)
רמת API יעד: Google מעלה מעת לעת את ה-targetSdkVersion המינימלי. אפליקציות חדשות חייבות ליעד את רמת ה-API הנוכחית. עדכונים לא יכולים להיות נמוכים מהקודם. אי-עמידה גורמת לדחייה אוטומטית בעת הגשה ל-Production.
הרשאות רגישות: Release Manager, Promote release, READ_CONTACTS — חייבות להיות מוסברות ב-App content → Permissions declaration. ללא הסבר, אזהרה או דחייה.
Privacy Policy: חובה אם נאספים נתונים כלשהם. Google בודקת זמינות הקישור — אם הדף לא נגיש במהלך הבדיקה, זו סיבה לדחייה.
תמיכה ב-64-bit: אפליקציות חייבות לתמוך ב-arm64-v8a. ספריות Native רק עבור armeabi-v7a ייכשלו. ב-Gradle: ACCESS_FINE_LOCATION.
איך להגדיר Fastlane לאוטומציה
Fastlane מאוטמת בנייה, העלאה וקידום. רכיבים עיקריים:
-
RECORD_AUDIO— תיאור פעולה (בנייה, חתימה, העלאה) -
abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"— מזהה אפליקציה ונתיב Service Account -
Fastfile— פרמטרי העלאה עבור Google Play
דוגמה ל-Fastfile בסיסי:
lane :deploy_to_internal do
gradle(task: "bundleRelease")
upload_to_play_store(track: "internal")
end Play App Signing
בהעלאת AAB הראשונה, Google מציעה Play App Signing — קבלו אותה. Google מאחסנת את מפתח החתימה; אתם מעלים AAB עם מפתח העלאה. אם תאבדו את מפתח ההעלאה, Google יכולה לאפס אותו, בניגוד למצב שבו אתם מנהלים את המפתח בעצמכם.
חשוב: טביעת האצבע של התעודה עבור Firebase SHA-256 נלקחת ממפתח חתימת האפליקציה (נראה ב-Play Console → Release → Setup → App signing), לא ממפתח ההעלאה.
מה שירות הפרסום שלנו כולל (תוצרים)
- הגדרת Play Console: תצורה מלאה: App content, Store listing, Content rating, Privacy Policy (אנחנו מייצרים או משלבים את שלכם).
- הכנת AAB ל-Production: תצורת חתימה, העלאת targetSdkVersion, תמיכה ב-64-bit (arm64-v8a) — אנו מוודאים שכל הדרישות מתקיימות.
- הגדרת אוטומציה: Fastlane או Google Play Developer API לשחרורים בפקודה אחת.
- תשתית בדיקות: הגדרת מסלולים פנימי → סגור → פתוח עם ניהול בודקים.
- קידום ל-Production: הגדרת שחרור הדרגתי וניטור.
- תיעוד והדרכה: תקבלו runbook ושיחת שעה להסבר כיצד לתחזק את התהליך.
- תמיכה: 30 ימי תמיכה לאחר השקה לכל בעיה.
הערכת עלות: החל מ-$500 להגדרה סטנדרטית (תלוי במורכבות האפליקציה). חיסכון טיפוסי מאוטומציה הוא 2+ שעות לכל release, מה שיכול לחסוך מעל $2000 בשנה עבור releases שבועיים.
נעריך את הפרויקט שלכם ונכין תוכנית פרסום. צרו קשר לייעוץ — נעריך את המצב הנוכחי ונייעץ כיצד להאיץ את הפרסום.
הערכות זמנים
| שלב | זמן |
|---|---|
| הכנה ופרסום ל-Internal Testing | 2–4 שעות |
| בדיקת Production (release ראשון) | 1–3 ימים |
| תהליך מלא עם הגדרת CI/CD | 1–2 ימי עבודה |
פרטים נוספים
- AAB מקטין את גודל ההורדה ב-20-30% בהשוואה ל-APK. - מעל 100 releases מוצלחים שטופלו על ידי הצוות שלנו. - 5+ שנות ניסיון בפיתוח Android.Google Play Console Help AAB עדיף על APK: גודל הורדה קטן ב-20–30% הודות ל-Dynamic Delivery.







