React Native CodePush: עדכוני OTA מהירים

עדכון אפליקציית React Native דרך החנויות אורך ימים, בעוד שבאג קריטי דורש תיקון מיידי. אנו מגדירים את CodePush כדי לספק את ה-JS bundle והמשאבים ישירות, תוך עקיפת בדיקת App Store. הצוות שלנו מבצע את האינטגרציה במפתח מלא—עם שחרור והחזרה בטוחים, המבטיחים פעילות יציבה ותמיכה מתמשכת.

פיתוח ותמיכה בכל סוגי היישומים הניידים:

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

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
React Native CodePush: עדכוני OTA מהירים
בינוני
~2-3 ימים

הכישורים שלנו:

שאלות נפוצות

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

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    868
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1288
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

React Native CodePush: עדכוני OTA מהירים

תארו לעצמכם: אתם מוצאים באג קריטי בגרסת production — חישוב ההנחה מעוגל לא נכון. התיקון מוכן, אבל כדי להגיע למשתמשים, הוא חייב לעבור בדיקה של App Store, מה שלוקח 24 שעות עד שבוע. כל שעת השבתה עולה כסף ועצבים. CodePush פותר את זה: ה-JavaScript bundle והמשאבים מתעדכנים ישירות, תוך עקיפת החנויות. אנו משלבים את CodePush באפליקציות React Native, ומבטיחים הגדרה נכונה, פריסה בטוחה וחזרה לגרסה קודמת במקרה של שגיאות.

איך CodePush עוקף את בדיקת החנויות

אפליקציית React Native מורכבת ממארח native (Objective-C/Swift / Java/Kotlin) ומקובץ JS bundle. CodePush מחליף את ה-JS bundle והמשאבים (images/, fonts/) מבלי לשנות את הקוד ה-native. אפל וגוגל מאפשרות עדכונים כאלה — בתנאי שהעדכון לא משנה מהותית את התנהגות האפליקציה (למשל, הוספת הרשאות native או שינוי מודל ההפצה). הניסיון שלנו מראה שהגדרה נכונה של CodePush חוסכת לצוותים שבועות במסירת תיקונים.

למה לבחור ב-CodePush על פני עדכונים רגילים

השוואה: עדכון רגיל ב-App Store לוקח 1–3 ימים, בעוד ש-CodePush מספק תיקון תוך דקות — הבדל של פי 100. בנוסף, CodePush מאפשר לבדוק עדכונים על קבוצת משתמשים קטנה לפני פריסה מלאה, מה שמפחית את הסיכון לרגרסיות.

קריטריון App Store / Google Play CodePush
זמן אספקה 1–3 ימים 2–5 דקות
נדרשת בדיקה כן לא (עבור JS)
חזרה לגרסה קודמת רק בגרסה חדשה אוטומטית במקרה של קריסה
בקרת קהל 100% בבת אחת הדרגתי (10% → 50% → 100%)

איך אנחנו מגדירים CodePush: מקרה אמיתי

התקנה ואינטגרציה לפרויקט טיפוסי:

npm install react-native-code-push npx pod-install # iOS 

ב-npm install react-native-code-push npx pod-install # iOS (iOS):

#import <CodePush/CodePush.h>

- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge {
  #if DEBUG
    return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"];
  #else
    return [CodePush bundleURL];
  #endif
}

ברכיב הראשי:

import CodePush from 'react-native-code-push';

const App = () => {
  // ... компонент
};

const codePushOptions = {
  checkFrequency: CodePush.CheckFrequency.ON_APP_RESUME,
  installMode: CodePush.InstallMode.ON_NEXT_RESUME,
  mandatoryInstallMode: CodePush.InstallMode.IMMEDIATE,
};

export default CodePush(codePushOptions)(App);

AppDelegate.mm מחיל את העדכון בכניסה הבאה לאפליקציה, מבלי להפריע למשתמש. #import <CodePush/CodePush.h> - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge { #if DEBUG return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; #else return [CodePush bundleURL]; #endif } מיועד רק לעדכונים קריטיים וחובה.

פריסה באמצעות Fastlane

lane :codepush_staging do
  sh("appcenter codepush release-react \
    -a MyOrg/MyApp-iOS \
    -d Staging \
    --description '#{ENV["CHANGELOG"]}' \
    --target-binary-version '~1.2'")
  sh("appcenter codepush release-react \
    -a MyOrg/MyApp-Android \
    -d Staging \
    --description '#{ENV["CHANGELOG"]}' \
    --target-binary-version '~1.2'")
end

import CodePush from 'react-native-code-push'; const App = () => { // ... компонент }; const codePushOptions = { checkFrequency: CodePush.CheckFrequency.ON_APP_RESUME, installMode: CodePush.InstallMode.ON_NEXT_RESUME, mandatoryInstallMode: CodePush.InstallMode.IMMEDIATE, }; export default CodePush(codePushOptions)(App); הוא ביטוי semver. רק משתמשים עם גרסת native 1.2.x יקבלו את העדכון. אם קובץ JS bundle חדש משתמש במודול native מגרסה 1.3, לא ניתן לדחוף אותו לגרסה 1.2.

אסטרטגיית פריסה: איך להימנע מבעיות

לעולם אל תדחפו CodePush ל-100% מהקהל מיד. AppCenter תומך ב-InstallMode.ON_NEXT_RESUME:

appcenter codepush release-react \ -a MyOrg/MyApp-iOS \ -d Production \ --rollout 10 

10% מהמשתמשים מקבלים את העדכון. לאחר 30 דקות, בדקו את Firebase Crashlytics — אם שיעור הקריסות לא עלה, הרחיבו דרך ממשק AppCenter ל-50% → 100%.

מה כלול: תוצרים

הגדרת CodePush כוללת:

מה אנחנו עושים תוצאה
ניתוח ארכיטקטורה והכנת סביבת פיתוח דוח תאימות, תוכנית יישום
אינטגרציית SDK והגדרת AppCenter Build עובד עם CodePush ב-Staging
אוטומציה באמצעות Fastlane ו-CI סקריפטי שחרור, pipeline ב-GitLab CI / GitHub Actions
הגדרת ניטור והתראות לוח מחוונים ב-AppCenter, אינטגרציית Crashlytics
תיעוד והדרכת צוות מדריך שחרור עדכונים, רשימת בדיקה לפריסה

שלבי עבודה

  1. ניתוח (2–4 שעות): ביקורת על הארכיטקטורה הנוכחית, בדיקת תאימות ל-CodePush, קביעת גרסאות binary יעד.
  2. עיצוב (2–4 שעות): בחירת תדירות בדיקת עדכונים, תכנון פריסה ומנגנון חזרה.
  3. אינטגרציה (4–8 שעות): התקנת SDK, הגדרת AppCenter, שינויי קוד לתמיכה ב-CodePush.
  4. אוטומציה (4–8 שעות): סקריפטי Fastlane, pipeline ב-CI.
  5. בדיקות (2–4 שעות): פריסה ב-Staging, ניטור קריסות, בדיקת חזרה לגרסה קודמת.
  6. השקה (1–2 שעות): פריסה ל-Production עם הרחבה הדרגתית.

מגבלות ומה לא עובד

CodePush לא יכול לעדכן:

  • קוד native (Swift/ObjC/Kotlin/Java)
  • תלויות native (הוספת pod או aar חדש)
  • AndroidManifest.xml ו-Info.plist
  • מסך פתיחה ואייקון האפליקציה

אם PR נוגע בקוד native, נדרש שחרור רגיל בחנות. CodePush מ-Microsoft AppCenter מופסק בהדרגה לטובת EAS Update (Expo). עבור פרויקטים שאינם Expo, אנו שוקלים מעבר ל-IMMEDIATE מותאם אישית כדי לשמור על עצמאות מ-AppCenter.

ניטור עדכונים

AppCenter Deployments מציג סטטיסטיקות: כמה מכשירים קיבלו את העדכון, כמה חזרו לגרסה קודמת. חזרה אוטומטית מופעלת במקרה של קריסה מיד לאחר העדכון — CodePush מחזיר את ה-bundle הקודם.

לפי תיעוד AppCenter, CodePush משתמש בפריסה הדרגתית כדי למזער סיכונים.

נוסף: מה זה בעצם CodePush CodePush הוא שירות ענן שמאפשר למפתחים לפרוס עדכוני אפליקציה ניידת ישירות למכשירי המשתמשים. הוא עובד עם React Native ו-Cordova, ומחליף רק משאבי web (JS, HTML, CSS, תמונות).

ניסיון ואחריות

יש לנו 6 שנות ניסיון בפיתוח React Native. יישמנו CodePush בעשרות פרויקטים: פינטק, מרקטplaces, רשתות חברתיות. אנו מבטיחים עדכונים יציבים, חזרה מהירה לגרסה קודמת ותיעוד מלא. צרו קשר לייעוץ — נעריך את הפרויקט שלכם ונציע את אסטרטגיית CodePush האופטימלית. הזמינו הגדרה turnkey ושכחו מהמתנה ארוכה לבדיקות.