מציאות של ניהול מכשירים ניידים

קביעת יישום React Native בחנות Apple App ו-Google Play היא אבן דרך כל פנים מפתח נייד.בעוד ש- React Native נותן לך את הכוח לכוון הן פלטפורמות מבסיס קוד אחד, המסע לשגרה מוצלחת כרוך בהנחיות קפדניות, בניית כלי מורכב ובדיקה קפדנית. a one oversight - a Missing mit, a misconfig keyhouse, או a Unreachable API Endpoint - עיכובים או שבועות.

מדריך זה מספק רשימת צ'ק מוקשה על ייצור עבור פריסת יישומי React Native. בין אם אתה שולח אפליקציה פשוטה של שירות או פלטפורמה מבוססת תוכן מורכבת המופעלת על ידי Directus, שלבים אלה יעזרו לך לנווט את תהליך הגשת עם ביטחון.המטרה היא לחסל הפתעות ולספק ניסיון יציב למשתמשים שלך ביום אחד.

התגברות מוקדמת

בדיקה מלאה

לפני שאתה אפילו חושב על בניית חפץ שחרור, האפליקציה שלך צריכה להיות מחוספסת לחלוטין.זה הולך מעבר למבחנים יחידה עוברית.אתה חייב לבצע בדיקות מקצה לקצה על מכשירים פיזיים, כיסוי טווח מלא של גודלי מסך iOS ואנדרואיד וגרסאות OS.אם האפליקציה Native שלך מסתמכת על Directus backend, בדיקות שילוב הופך חיוני.

גמר נכסים

לשתי חנויות האפליקציה יש דרישות קפדניות לנכסים חזותיים, אל תחכו עד הרגע האחרון כדי ליצור קבצים אלה.

  • (FLT:0)iOS:IRFLT:1 , הכינו אייקונים בכל הגדלים הנדרשים (@1x, @2x, @3x, @3x) , מספקים צילומי מסך לכל גודל מכשיר נדרש (6.5 אינץ', 5.5 אינץ', iPad Pro וכו ').
  • (FLT:0אנדרואיד): אנדרט 1 (ראה: ⁇ 1) צור סמלים אדפטיים (foreground andרקע שכבות) יוצרים תכונה גרפית וצילומי מסך לטלפון ולטאבלט.
  • (ב) עיין (ב"ב): "ה' (ב')' (ב')'' (ב')''' (ב')'''')''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Permissions & פרטיות

זהו אחד המכשולים הנפוצים ביותר במהלך הביקורת.כל רשות לבקשות האפליקציה שלך חייבת להיות מוצדקת למשתמש.

  • (FLT:0)iOS Info.plist: FLT:1 לכל רשות (ההפך, ספריית צילום, מיקום, מיקרופון), עליך לספק מחרוזת תכליתית, אם האפליקציה שלך משתמשת ישירות להעלאת מדיה, המיתרים שלך צריך להיות ספציפי: "אנחנו צריכים גישה למצלמה שלך כדי להעלות את תמונת הפרופיל שלך."
  • (ב) [17] ,0 Android Manifest: FLT 1 להסיר כל אישורים מיותרים.google Play הוא נוקשה לגבי יישומים המבקשים הרשאות כמו FLT:2READ CONTASIRLT 3 או FLT:4CALL PHONEFLT:5 ללא דרישה ברורה.
  • (הופנה מהדף ההרחבה:0) ,(Testing: FLT:1) לעבור כל רשות שתזרימה בשחרור שלך.מה קורה אם המשתמש מקל על "דני" האם האפליקציה שלך מתרסקת, או האם היא תחזור בחסד לאופציה של קלט ידני?

Backend Lockdown (The Directus Factor)

פיקוח משותף עוזב את ה backend נגיש לאחר היישום הולך לחיות.אם האפליקציה שלך React Native מסתמכת על Directus כ- CMS חסר ראש, pre-deployment הוא הזמן להגדיר את סביבת הייצור שלך כראוי.

  • (FLT:0)Roles and Permissions: FLT:1 גישה ציבורית לפאנל הניהולי. צור תפקיד API ייעודי שיש לו בדיוק את הרשאות הדרושות עבור היישום שלך. השתמש במערכת הרשאות של Directus כדי להגביל את הקריאה, ליצור, לעדכן ולמחוק פעולות על בסיס של סודיות.
  • (FLT:0)CORS קונגורציה: FLT:1 Lock Down Cross-Origin Resource Sharing כדי לקבל רק בקשות מהתחום של האפליקציה או מהתכנית המותאמות אישית שלך.
  • (ב) ,0) הגבלת הגבלת גבולות: 1FLT: להגן על ה- API של Directus מפני התעללות על ידי מתן הגבלת קצב.
  • (FLT:0 kens לעומת דינמי AuthuaFLT) 1 להחליט מוקדם אם האפליקציה שלך תשתמש אסימוני API סטטיים עבור נתונים ציבוריים או זרימה אימות מלאה עבור נתונים ספציפיים למשתמש. Static tokens הם פשוטים יותר עבור תוכן ציבורי, אבל אימות המשתמש (באמצעות Directus מובנה-in auth מערכת) נדרש עבור חוויות מותאמות אישית.

(ב) ויקרא י"ד:2 ויקרא י"ד:2

איכות הסביבה: ניהול סודות

מקשי API קשיחים או כתובת ה-Directus Project של קוד המקור שלך היא סיכון אבטחה קריטי.זה גם גורם לשמירת סביבות שונות (עידוד, ייצור) כואבות ללא צורך.

שם מקור:0.10.10.2017

(ב) השתמשו בספריות כמו FLT:0 (בתגובה חשופה) או ב-FLT:2expo-constantscioFLT 3 (לפרויקטים אקספו) כדי לנהל משתנים סביבתיים.

  • (ב) , ויקרא י"ד: "וַיָּבְהִיא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא" (בראשית י"ד, ט"ד).
  • לאחסן את כתובת ה-Directus, אסימוני סטטי (אם ישים), וכל מפתחי API של צד שלישי כאן.
  • לעולם אל תבצע את הקבצים האלה למערכת בקרת הגירסה שלך, הוסף אותם ל-FLT שלך:0.

אחסון מאובטח עבור Tokens

(ב) כאשר משתמש אותנטי כנגד ה-Directus backend שלך, אין לאחסן את הסימון בחזרה בטקסט רגיל או ב- AsyncStorage לתקופות מורחבות. UseFLT:0react-native-שרשרת האספקה ל-iOS 1 (iOS) או ב-FLT:2react-native-nact-native-nact-native-nanceFLT 3 (אנדרואיד) כדי לאבטחת משתמשים רגישים אלה.

בנייה לשחרור

(ב) ,0 ;npx מגיבה-native Run-iosofLT:1 או ;2run-androidcioFLT 3: אינו מספיק לייצור.

אנדרואיד: AAB

Google Play דורש כעת את פורמט אפליקציית אנדרואיד Bundle (AAB) עבור יישומים חדשים.

  • יצירת חנות מפתח באמצעות אנדרואיד Studio או ה-FLT:0keytulfLT 1
  • שם הקובץ המרכזי של בית הספר שלך (FLT:0)android / ApprovalFLT)
  • צור קובץ ההרחבה:0.comproperties 1:1 , המתייחס לדרך המרכזית שלך, סיסמה, כינויים מרכזיים וסיסמה מרכזית.
  • (ב) ויקרא ב':2K,2K.comi.com/Build.gradleph.
  • (ב) ,0) ,0 (הופנה מהדף ; . / דרוג , ; . / .
  • (ב) לא לאבד את קובץ ה-Commontage: ללא קשר לעדכון שלך.

iOS: Archives and Export

הפצת iOS דורשת חברות תוכנה פעילה של Apple Developer.

  • צור תעודה הפצה והענקת פרופיל על פורטל Apple Developer.
  • ב Xcode, בחר את המטרה עבור האפליקציה שלך לנווט ל Signing & Capabilities.וודא שאתה משתמש בפרופיל ההפצה של הייצור.
  • הגדר את תוכנית הבנייה ל"תחיל".
  • היכנס למוצר > Archives.When the Archives is Built, החלון המארגנת ייפתח.לחצו על "אפליקציית דיסקרטית" ובחרו "App Store Connect".

EAS Build (Expo)

אם אתה משתמש ב-Expo, EAS Build היא הדרך המומלצת ליצירת ייצור.זה מטפל בחתימה, דור מרכזי ואוסף ענן.

  • התקן את ה-FLT:0 ,CliFillo:1 ולהיכנס לחשבון האקספוזה שלך.
  • (ב) ,0 ,0) , מיצג את כל - יוצר פרופילים (הראשונה)
  • EAS תתנהל את ה- Android keyhouse ו- iOS באופן אוטומטי, ותאחסן אותם באופן מאובטח בשרתים של אקספו.
  • גישה זו משתלבת בצורה חלקה עם EAS הגשת להעלאה לחנויות.

(ב) ויקרא י"ד:2 ,2 ,2 ,2 ,5 ,5 ).

איכות אחריות מראש

העלאת ההודעה שלך ל- TestFlight (iOS) או Internal App Sharing (אנדרואיד) צריכה להיות צעד חובה לפני ש"Submit for Review".זהו רשת הבטיחות הסופית שלך.

TestFlight (iOS)

לאחר העלאת הארכיון שלך ל- App Store Connect, באפשרותך להזמין בודקים פנימיים (עד 100 חברים של הצוות שלך) ללא צורך בסקירה בטא. עבור בודקים חיצוניים, עליך להגיש את הבנייה עבור Beta App Review, אשר עוקב אחר הנחיות דומות לסקירה מלאה של App Store. השתמש ב- App כדי לתפוס בעיות מוקדם.

שיתוף פנים (אנדרואיד)

Google Play Console מאפשר לך להעלות AAB וליצור קישור משותף להפיץ לבודקים.זה מהיר יותר מאשר ניהול מסלול בטא מלא והוא מושלם עבור אימות סופי.

QA Checklist for Build אימות

  • קישורים:0 (Deep קישורים:FLT:1 Test Universal קישורים (iOS) ו- App קישורים (אנדרואיד) ודאו שהם משתמשים נכון בתוואי משתמשים לתוכן הנכון, במיוחד אם אתה משתמש ב-Directus כדי לנהל יעדים עמוקים דינמיים.
  • (ב) תמיכה רשמית: 0 (ב) 1 (ה) האם האפליקציה שלך מטפלת באובדן של קישוריות ברשת?האם היא מציגה נתונים מצופים?אם האפליקציה שלך מסתמכת על נתונים ישירות שאינם משתנים לעתים קרובות, שוקלת את התגובות באופן מקומי באמצעות FLT:2react-native-nkvveFLT 3 או F:4AsyncStorationFal:5:
  • (FLT:0) ציות פיזור: FLT:1hil לבדוק כי הודעות דחיפה נקבעות עם תעודת הייצור (iOS) ומפתח Firebase Messaging (אנדרואיד) לבדוק זרימה מלאה של הודעה, כולל הקלת הודעה כדי לפתוח פריט ישיר ספציפי.
  • (FLT:0) אנליטיקה ודוח של Crash Reporting:FreaLT:1) בדוק כי בסיס Firebase או Sentry הוא ראשוני עם תצורת הייצור. לעשות תאונת מבחן מכוונת כדי להבטיח את דוח ההתרסקות מופיע בלוח המחוונים שלך.

תהליך ההגשה והביקורת

זהו הגבול הסופי.הנחיות App Store Review קפדניות לשמצה, בעוד Google Play מסתמך רבות על בדיקות אוטומטיות, אם כי ביקורות אנושיות הופכות נפוצות יותר עבור תאימות מדיניות.

אופטימיזציה של Metadata

  • (FLT:0App Store:BuildFLT:1) בחרו מילות מפתח בקפידה.הם אחת הדרכים העיקריות שמשתמשים מגלים את האפליקציה שלכם מחוץ לחיפוש ישיר.
  • (ב) Google Play:BuildFLT:1) כתוב תיאור משכנע, עשיר מילות מפתח.הקווים הראשונים הם החשובים ביותר בדירוג החיפוש.
  • (FLT:0) תמונות: FLT:1ir לוודא צילומי המסך שלך משקפים את הגרסה האחרונה של האפליקציה שלך.אם אתה עדכן את UI פוסט-alpha, לקחת צילומי מסך חדשים.

פיצויים וחוקיים

  • (FLT:0) ספירת דין: FLT1 חנויות עכשיו דורשות כי יישומים התומכים ביצירת חשבון גם לאפשר מחיקה ישירות בתוך האפליקציה.אם אתה משתמש ב-Directus User Management, ודא שהאפליקציית שלך יש כפתור הגורם ל-FLT:2DELETE / משתמשים/meFLT 3 נקודות קצה דרך ה- SDK.
  • (FLT:0) מדיניות הפרטיות: 1.You חייב לספק כתובת URL למדיניות פרטיות.זה חל על iOS ו- Android.אם אתה אוסף נתונים אישיים (שמות, כתובות דוא"ל, נתוני שימוש באמצעות ניתוח), המדיניות שלך חייבת לשקף את זה.
  • (FLT:0App Tracking Transparency (iOS): ההרחבה 1 (IOS): אם האפליקציה שלך משתמשת Firebase Analytics, Mixpanel, או דומה SDKs, עליך לבקש רשות משתמשים באמצעות ATT.

(ב) [15] ,9) ,2 (הופנה מהדף תלמוד ב')

המונחים: rejection

דחייה היא חלק נפוץ בתהליך.המפתח הוא להגיב במהירות ובמקצועיות.

  • קרא את הסיבה לדחייה בזהירות.האם זה נושא metadata (טקסט של בעל מקום שנותר בצילום מסך)? קישור שבור (דוגמה ישירה שלך ירד במהלך הבדיקה)?
  • אם האפליקציה שלך דורשת כניסה, ודא שאתה מספק חשבון דמו עבור הסקירה. Include הוראות ברורות: "לוגין עם [email protected] / סיסמה123. חשבון זה יש גישה לקריאה בלבד ל-Directus backend".
  • ערעור על הדחייה ישירות אם אתה מאמין שהאפליקציית שלך תואמת את ההנחיות.אם אתה צריך לתקן בעיה, לפתור אותה, להעלות בניין חדש, להגיש בקשה חדשה לסקירה.

פעילות דואר-Launch

מזל טוב, אתה חי.תהליך הפריסה לא מפסיק "קריאה למכירה" הצלחה לטווח ארוך תלויה ניטור וההצתה.

עקבו אחרי Product Health

  • הגדר התראות ביצועים ב Senter או Firebase Crashlytics. Watch עבור התנגשויות הקשורות למכשירים ספציפיים או לגרסאות של מערכת ההפעלה.
  • מעקב אחר עומס השרת הישיר שלך (האם שאילתות ה- API שלך מותאמות) השתמש בפרמטרים המובנים של Directus (FLT:0 שדות) 1 ו-FLT:2filterigtureFLT 3 פרמטרים בשאילתות ה- SDK שלך כדי להפחית את גודל החיוב ולהימנע מהשגת נתונים מיותרים.
  • שמור על עין על השקיפות של המקרה שלך Directus.אם אתה משרת משתמשים ברחבי העולם, לשקול פריסת Directus באזור קרוב יותר לבסיס המשתמש שלך או באמצעות CDN לפני הנכסים שלך.

עדכון תוכן ללא עדכון

זהו היתרון העיקרי של זוג React Native עם CMS חסר ראש כמו Directus.You יכול לשנות את התוכן, הפריסה או אפילו דגלים תכונה מאוחסנים ב Directus, לדחוף כפתור פרסום, המשתמשים שלך רואים את השינויים באופן מיידי - מבלי צורך להוריד בינארי חדש מחנות האפליקציה.

  • כרזות קידום מכירות, תעריפים, או טקסט סטטי על ידי עריכה של ערכים באוספים של Directus שלך.
  • השתמש ב-Directus Flows (webhooks) כדי להפעיל עדכונים Over-the-Air (טאבלט) באמצעות EAS Update או CodePush בעת פרסום עדכון תוכן.
  • זרימת עבודה זו מקלקלת את מחזור ההסרה העיצובית מתהליך סקירת האפליקציות האיטיות.You יכול להגיב לשינויים בשוק תוך דקות, לא ימים.

מבוסס על נתונים

השתמש ב-Directus backend ככלי תצורה מרחוק.לעבור תכונות על בסיס פלחי משתמשים או קבוצות A / B.שלב זאת עם נתונים אנליטיים כדי לקבל החלטות מושכלות על שחרורו הבא שלך.כל עדכון בחנות אפליקציה צריך להיות משמעותי, הוספת ערך אמיתי למשתמש.

Mastering the Full Mobile Lifecycle

קביעת אפליקציה Native React אינה רק על כתיבת קוד – מדובר בניהול מחזור חיים מתמשך של בדיקות, בנייה, ביקורת ובקרה. A פנקס בדיקה מובנה מבטיח כי לא ניתן להתעלם ממנו.

על ידי הצמדת התוכן וההיגיון של React שלך עם תוספת גמישה, ללא ראש כמו Directus, אתה מקבל את היכולת לעדכן את התוכן של האפליקציה שלך ואת ההיגיון באופן עצמאי של תהליך אישור החנות.זה נותן את גמישות הצוות שלך תוך שמירה על היציבות והאיכות כי משתמשים מצפים יישום ייצור.עקוב אחר רשימת זה, מכבד את הנחיות הפלטפורמה, ואתה תהיה טוב על הדרך שלך להשיק אסטרטגיה מוצלחת בת קיימא.