חנויות ואפליקציות
Ploa עובדת בחשבונות ה-App Store Connect וה-Play Console שלך. מחברים כל חנות פעם אחת לכל סביבת העבודה; מכאן והלאה הסוכן שלך מוסיף כל אפליקציה, מקשר אותה לקוד שלה ואומר לך מה הצעדים המעטים בחנויות שרק אתה יכול לעשות.
תגדיר את האפליקציה הזאת ל-App Store ול-Google Play עם Ploa.
מה נשאר לפני שאפשר לבנות את האפליקציה הזאת בפעם הראשונה?
תציע bundle ID ושם חבילה לאפליקציה, ותרשום את ה-bundle ID אצל Apple.
הכלים שמאחורי הבקשות האלה: כל כלי ה-MCP › התחלה והגדרה, ולצעדים שמחכים לך, צעדים שרק אתה יכול לעשות.
מי עושה מה
| מי | מה |
|---|---|
| הסוכן שלך | מריץ את מדריך ההגדרה (ploa_setup_guide) ומראה לך את השלבים; מציע מזהה לאפליקציה כשאין לה; מקשר את התיקייה ל-Ploa (ploa_link); רושם את ה-bundle ID אצל Apple; שואל אותך את השאלות שרק אתה יכול לענות עליהן, כולן בהודעה אחת, וממשיך לעבוד בזמן שאתה בקונסולות של החנויות. |
| Ploa | יוצרת את תעודת החתימה מול Apple, רואה לבד מתי Google מכניסה אותה ל-Play Console, מוצאת את האפליקציות שכבר יש בחשבונות שלך, ומסמנת כל צעד שלך כבוצע ברגע שהיא רואה אותו בחנות. |
| אתה | מחבר כל חנות (מפתח והזמנה, פעם אחת), יוצר את האפליקציה בכל חנות, מאשר את ההסכמים של החנויות, ומחליט על השפות, המדינות, המחיר, קהל היעד ואנשי הקשר של האפליקציה. |
כל צעד שלך מגיע ממדריך ההגדרה, עם קישור ישיר לעמוד המדויק ב-App Store Connect, ב-Play Console או ב-Ploa. אחרי כל צעד מריצים אותו שוב (או שואלים את הסוכן מה נשאר).
חיבור ה-App Store
Ploa ניגשת ל-App Store Connect עם מפתח API של הצוות שלך. מפתח אחד משרת את כל האפליקציות בחשבון. כדי ליצור אותו צריך להיות ה-Account Holder או Admin בצוות של App Store Connect, וחבר ב-Apple Developer Program (99$ לשנה; Apple בודקת מי אתה, בדרך כלל תוך יומיים).
- פותחים את עמוד המפתחות
ב-App Store Connect, Users and Access › Integrations › App Store Connect API › Team Keys. בפעם הראשונה בעל החשבון לוחץ פעם אחת על Request Access.
- יוצרים את המפתח, עם גישת Admin
לוחצים על +, קוראים לו Ploa, בוחרים Admin ולוחצים Generate. עם Admin, Ploa יכולה ליצור בשבילך את תעודת החתימה ולרשום bundle IDs, מעבר לאפליקציות, גרסאות, TestFlight, רכישות באפליקציה, מחירים ודוחות מכירות. App Manager מספיק לרוב הדברים, אבל לא יכול לקרוא מכירות.
- מורידים אותו
מורידים את קובץ ה-AuthKey
.p8(Apple מציעה אותו פעם אחת בלבד). ה-Issuer ID מופיע מעל רשימת המפתחות. - מעבירים אותו ל-Ploa
בלוח הבקרה, חיבורי חנויות › App Store: גוררים את הקובץ ומדביקים את ה-Issuer ID. Ploa קוראת את מזהה המפתח משם הקובץ, בודקת את המפתח ויוצרת את תעודת החתימה. אם שם הקובץ שונה, היא מבקשת גם את ה-Key ID.
אחרי שגוררים את הקובץ, Ploa שומרת אותו בכספת שלה, מוצפן ונעול במפתח של Ploa ב-Google Cloud HSM, ולא מציגה אותו שוב, לאף אחד. אפשר למחוק את ה-.p8 מהמחשב שלך.
הכרטיס מראה אם תעודת החתימה מוכנה. אם Apple סירבה ליצור אותה, הסיבה כתובה בכרטיס, וליצור עכשיו מנסה שוב אחרי שמתקנים אותה (גם הבנייה הבאה ל-iOS מנסה לבד).
חיבור Google Play
Ploa ניגשת ל-Google Play דרך חשבון שהיא יוצרת לסביבת העבודה שלך. בלי Google Cloud מצדך, ובלי קובץ מפתח. צריך חשבון מפתח ב-Google Play (25$ פעם אחת; חשבון של ארגון צריך מספר D-U-N-S). יש שתי דרכים להכניס את Ploa:
- התחברות עם Google, כשכרטיס Google Play מציע אותה: מתחברים עם חשבון Google שמנהל את ה-Play Console שלך, ו-Ploa מוסיפה לשם את החשבון שלה עם ההרשאות שהיא עובדת איתן. ההתחברות עם Google משמשת פעם אחת, ושום דבר ממנה לא נשמר. אם Google לא אומרת איזה חשבון מפתח הוא שלך, הכרטיס מבקש להדביק כתובת כלשהי של Play Console משורת הדפדפן.
- הזמנה של האימייל של Ploa בעצמך:
- מעתיקים את האימייל של Ploa
בלוח הבקרה, חיבורי חנויות › Google Play › לחבר את Google Play, ומעתיקים את האימייל שמופיע שם.
- מזמינים אותו ב-Play Console
Play Console › Users and permissions › Invite new users, ומדביקים את האימייל.
- נותנים לו הרשאות
תחת Account permissions מסמנים Admin (all permissions), ואז Invite user.
- מחכים ל-Google
Ploa רואה לבד מתי Google מכניסה אותה, בדרך כלל תוך דקות (לפעמים כמה שעות), ושולחת התראה. עד אז הכרטיס מראה ״מחכים ל-Google״. אפשר לעזוב את העמוד.
בשביל מה Ploa משתמשת בהרשאות האלה: קריאת אפליקציות, מסלולים, דפי חנות, מוצרים ושיעורי קריסות; שליחת בניות למסלולי בדיקה; קידום לפרודקשן והפצות הדרגתיות (כל אחד מהם עדיין מחכה לאישור שלך); בודקים; דף החנות ו-App content; מוצרים ומנויים; הזמנות והחזרים; תשובות לביקורות; ודוחות. לא ניהול המשתמשים של ה-Play Console שלך.
כבר יש לך חשבון שירות עם מפתח JSON? חיבורי חנויות › Google Play מקבל אותו במקום, דרך הקישור שמתחתיו. חשבון השירות צריך הרשאת Admin ב-Play Console › Users and permissions, ואת Google Play Android Developer API מופעל בפרויקט ה-Cloud שלו.
ניתוק עוצר את העבודה של Ploa ב-Play Console שלך, והאפליקציות שלו עוברות לחשבון Google Play אחר של סביבת העבודה, אם יש. החשבון של Ploa נשאר ב-Play Console › Users and permissions עד שמסירים אותו שם.
כמה חשבונות, וחנויות נוספות
- חשבון נוסף לאותה חנות (צוות Apple שני, Play Console של לקוח): לחבר חשבון נוסף בכרטיס של החנות. כל אפליקציה משתמשת בחיבור אחד לכל חנות, שבוחרים בהגדרות שלה.
- Galaxy Store ו-Microsoft Store: תחת חנויות נוספות. Ploa מראה איפה האפליקציה עומדת שם (הבדיקה או האישור שלה, ומה זמין להורדה); היא לא בונה ולא מגישה אליהן.
כשחנות אומרת "אין הרשאה"
Ploa מבקשת את המינימום שהיא צריכה. כשחנות מסרבת למשהו בגלל הרשאה חסרה, ההודעה של Ploa אומרת איזו הרשאה להוסיף ואיפה. לדוחות מכירות, מפתח ה-App Store צריך Admin, Finance או Sales, וחשבון ה-Play צריך את "View app information and download bulk reports" ואת "View financial data".
הוספת אפליקציה
הסוכן שלך מוסיף את האפליקציה כשהוא מקשר את התיקייה: Ploa מוצאת אותה לפי ה-bundle ID או שם החבילה בחיבורים של סביבת העבודה, או מוסיפה אותה. בעמוד אפליקציות בלוח הבקרה אפשר גם:
- לבחור אותה מחשבונות החנויות שלך: האפליקציות שהחיבורים שלך רואים מופיעות ברשימה; מוסיפים אחת בהקשה. אותה אפליקציה עם מזהה אחר בחנות השנייה (
com.example.iosו-com.example.android) מוצעת לחיבור לזו שכבר כאן. - להוסיף אותה לפי המזהה: bundle ID, שם חבילה או שניהם. צד ה-iOS וצד האנדרואיד מתחברים לפי המזהה שלהם.
אפליקציה חדשה לגמרי
כשלאפליקציה עוד אין bundle ID או שם חבילה, מדריך ההגדרה מציע כמה. כדאי לבחור בזהירות: המזהה הוא הזהות של האפליקציה לתמיד. אנשים לא רואים אותו (השם בחנות נפרד, ואפשר לשנות אותו מתי שרוצים), הוא ייחודי בכל העולם, ואי אפשר לשנות אותו אחרי שהאפליקציה נכנסה לחנות (נרשמה אצל Apple, או הבנייה הראשונה ב-Google Play). מזהה חדש הוא אפליקציה חדשה, בלי הביקורות, הדירוגים והמשתמשים שלה.
לאף אחת מהחנויות אין API שיוצר אפליקציה, ולכן הצעד הזה שלך. הסוכן שלך רושם קודם את ה-bundle ID אצל Apple, כך שנשאר לך רק לבחור אותו:
- App Store Connect: Apps › + › New App: פלטפורמה iOS, השם (לאף אפליקציה אחרת ב-App Store אסור שיהיה אותו שם; אם הוא תפוס, מוסיפים כמה מילים), השפה הראשית, ה-bundle ID, SKU, ו-Full Access.
- Play Console: Create app: שם האפליקציה, שם החבילה שלה (Play מבקשת אותו עכשיו, והוא קבוע), שפת ברירת המחדל, App, ו-Free או paid (אפליקציה חינמית לא יכולה להפוך לבתשלום אחר כך). אחר כך מסמנים את שתי ההצהרות (Developer Program Policies, US export laws): הן ההצהרה שלך, ולכן הסוכן שלך אף פעם לא מסמן אותן.
העמוד של האפליקציה ב-Ploa מציג את הערכים האלה עם כפתורי העתקה, ומסמן כל חנות ברגע שהאפליקציה קיימת בה.
אפליקציה שכבר נמצאת בחנויות
היא נכנסת כמו שהיא. הגרסאות, הבודקים ודף החנות שלה נקראים מהחנויות. אפליקציה שהבניות שלה מגיעות ממקום אחר (EAS, Xcode, Fastlane) יכולה להישאר כך: בהגדרות האפליקציה › האפליקציה, מגדירים את איפה היא נבנית לבמקום אחר, ו-Ploa רואה כל בנייה בחנות ומנהלת את השאר (בודקים, דף החנות, הבדיקה והשחרור).
קישור לקוד שלך
הסוכן שלך עושה את זה עם ploa_link בתיקייה של האפליקציה. בלי סוכן, מריצים שם ploa init. בשני המקרים Ploa מוצאת את האפליקציה לפי המזהים שבפרויקט (הגדרות Expo, applicationId ב-Gradle, או ה-bundle ID בפרויקט ה-Xcode; אפליקציות Flutter, React Native ו-Capacitor לפי הפרויקטים הנייטיב שלהן) וכותבת את ploa.json: המזהה של האפליקציה ב-Ploa והשרת. אין בו סודות ואפשר לעשות לו commit, כך שהצוות וה-CI שלך חולקים אותו.
- כמה חיבורים לאותה חנות? בוחרים אחד לפי השם: הסוכן שלך מעביר אותו, או
ploa init --apple "Team name" --google "Account name". - אפליקציה שנבנתה בדרך אחרת (Unity, .NET MAUI…):
ploa init --aab app.aab --ipa app.ipaקורא את המזהים מהקבצים שנבנו. - ריפו אחד, כמה אפליקציות: כל תיקייה של אפליקציה מקבלת
ploa.jsonמשלה; Ploa מוצאת כל אפליקציה בתיקייה שלה.
ההגדרות של האפליקציה
לכל אפליקציה יש לשונית הגדרות האפליקציה בלוח הבקרה. העמוד האפליקציה שבה מחזיק:
- השם של האפליקציה ב-Ploa ובכל חנות, ואיפה היא נבנית (ב-Ploa, או במקום אחר).
- כרטיס לכל חנות: החיבור שהיא משתמשת בו, ה-bundle ID או שם החבילה, זהות החתימה של iOS או מפתח ההעלאה של אנדרואיד, ואיך הבניות עולות (ישירות ממכונת הבנייה או דרך Ploa; ראה בניות וחתימה). כאן גם מוסיפים חנות נוספת או מסירים אחת.
- כרטיס GitHub: הריפו, התיקייה וענף השחרור שמהם הבניות נבנות (ראה GitHub).
- RevenueCat, אם משתמשים בו (ראה רכישות בתוך האפליקציה).
- הסרת האפליקציה מ-Ploa. היא אף פעם לא מוחקת שום דבר בחנויות.
העמוד השני בלשונית, ווב, מחזיק את האתר או אפליקציית הווב של האפליקציה (ראה ווב).