Sajjad Ayoubi Personal Page

بروزرسانی زیرپوستی با code-push

May 09, 2018

پیشگفتار:

مشکلی که برای بروزرسانی اپ های موبایل وجود داره اینه که ما باید هر سری یک نسخه apk یا ipa رو بسازیم و بعد یک ورژن جدید تعریف کنیم و در نهایت بعد از یه مدت کوتاه نسخه بروز شده اپ ما در اختیار کاربران قرار میگیره. مشکل اینجا اینه که باید کلی زمان بگذره تا نسخه جدید منتشر بشه و به دست کاربر برسه.

ولی خب وقتی که اپ موبایلی که با react-native نوشته شده، میتونه با code-push ترکیب بشه و مراحل بروز رسانی اپ موبایلتون رو خیلی سریعتر کنید، بدون نیاز به قرار دادن نسخه جدید در فروشگاه اپ موبایل.

روش کار code-push

این ابزار که ساخت مایکروسافت هست کدهای جاوا اسکریپت و عکس های اپ شما رو توی سرورهای خودش ذخیره میکنه و هربار که اپ موبایل اجرا میشه با سرور چک میشه که تغییری اگه ایجاد شده فایل های جدید و دانلود میکنه و بعد توی اجرای بعدی اپ آپدیت جدید اعمال شده. توجه داشته باشید که تغییرات عمده و اضافه کردن پلاگین های جدید به AppDelegate.m/MainActivity.java باید نسخه آپدیت شده اش رو انتشار بدید و از این طریق امکانپذیر نیست.

نصب code-push-cli

npm install -g code-push-cli

۱- ثبت نام

code-push register

۲- اضافه کردن اپ به اکانت

code-push app add MyApp-iOS ios react-native

** توجه کنید که بعد از این دستورات یک deployment key بهتون میده که باید به هم تیمی هاتون بدید (من هنوز نفهمیدم که چطوری میشه دوباره این کد رو چک کرد)

اضافه کردن code-push به اپ

۱- نصب ابزار

npm install —save react-native-code-push

۲- لینک کردن

 react-native link react-native-code-push

** در این مرحله از شما deployment key پرسیده میشه که توی مرحله قبلی باید اون ها رو داشته باشید و اینجا وارد کنید.

۳- اضافه کردن به اپ

import codePush from “react-native-code-push”;

class MyApp extends Component { }

MyApp = codePush(MyApp);

** باید شما یک نسخه apk یا ipa از اپ منتشر کنید تا بتونید از code-push استفاده کنید.

۴- ایجاد تغییرات و ارسال کد جدید ** شما میتونید یه تغییر کوچیک توی دکمه یا متنی یا فرمی ایجاد کنید و بعد دستور زیر رو وارد کنید.

code-push release-react MyApp-Android android

۵- دیباگ کردن

code-push debug android

برای اعمال تغییرات یکبار باید اپ بسته و باز بشه.

کدپوش و expo ابزار های مشابه هست و بسته به میل خودتون میتونید هر کدوم رو استفاده کنید. امکانات زیادی داره این ابزار که میتونید توی گیتهاب مشاهده کنید و این مقاله بیشتر جهت آشنایی بود.