منتشر کردن یک برنامه ی اندرویدی به صورت حرفه ای
۲۴ اسفند ۹۶ ، ۱۳:۱۲
سجاد یوسف نیا ۰ نظر Share

منتشر کردن یک برنامه ی اندرویدی به صورت حرفه ای

امروز میخوایم کمی در مورد این صحبت کنیم که چجوری می تونید برنامه هایی رو که ایجاد کردید حتی الامکان حساب شده و حرفه ای منتشر کنید. اهمیت این کار در اینه که باعث میشه تجربه ی عالی و ماندگاری رو برای کاربران برنامتون رقم بزنه.
حالا تصور کنید که به جایی رسیدید که یک برنامه ساختید یا یک ویژگی هایی بهش اضافه کردین ، جوری که اگر نسخه ی قبلی هم داشته فرق کرده. اگه بخواید به قولی خیلی خودمختار و مستقل کار کنین مجبورین که خودتون رو توی زحمت بندازید و امکانات جدید و قبلیش رو خودتون امتحان کنید. موقعی که یک ابزاری چیز خودکاری برای تستش داشته باشین خیلی بهتر میشه. به هر حال ممکنه که توی فاز تست زمان زیادی از شما به فنا بره.
اگه برای یک شرکتی جایی کار بکنید، حتما شرکتتون یه تیم تضمین کیفیت ( QA ) خواهد داشت که برنامه و ویژگی های جدیدش ( حالا چه به صورت دستی چه بعضی جاهاش خودکار ) رو تست می کنن تا مطمئن بشن که محصولی که دادین دستشون ماندگار و بدون باگ و باکیفیت هستش یا نه.
خب حالا فرض کنید یک قدم میریم جلوتر ، عایا همینجوری ریلکس دکمه ی publish رو می زنید و برنامه رو بین کاربرها منتشر می کنید؟
یه دقیقه وایستید :| اول باید جواب یک سوال رو پیدا کنید.
عایا کاملا مطمئنین که برنامه کاملا اوکیه و هیچ باگ مهم و خطرناکی نداره؟ عایا به اندازه ی کافی اطمینان دارین که برنامتون هیچ وقت کرش نخواهد کرد؟ عایا مطمئنید که با همین روشی که برنامه رو ساختین ، برنامه میتونه روی همه ی نسخه های اندروید کار کنه؟
معلومه که نه 
منتشر کردن یک نسخه ی کوچک با نام آلفا
قبل از اینکه برنامتون رو مستقیما داخل Play Store بذارید، یک کاری که باید بکنید اینه که یک نسخه ی خیلی کوچک از برنامتون رو بین یک گروه از کاربران کنترل شده مثل همکاران ،دوستان و غیره پخش کنید.
نسخه ی آلفا رو تحویل یک گروه 5 تا حداکثر 10نفره از کاربرها بدین
سعی کنید نسخه ی آلفا رو تحویل 5 تا 10 نفر بدید چون هر چی گروه کوچک تر باشه فیدبک متمرکزتری میتونید بگیرید.
اصل روش اینجا اینه که شما فیدبک های سریع و کلی و مقدماتی رو در مورد برنامه و ویژگی های جدیدش دریافت کنین. اینجا حتما به کاربرایی نیاز دارین که بتونن مستقیما با شما ارتباط برقرار کنن و فیدبکشون رو بگن.
درصورتی که کاربران در استفاده از ویژگی هایی مشکل داشته باشن، می تونید سریع این موضوع رو بفهمید و یا اینکه کاربرها یک چیز مهم در برنامه تون رو خیلی سخت بتونن پیدا کنن.
اگه یک باگ بدی وجود داشته باشه که از دست QA ها ( کنترل کنندگان کیفیت ) در رفته باشه، منتشر کردن نسخه ی آلفا باعث میشه که متوجه باگ بشین. شاید یه چیزی تو برنامتون باشه که توی بعضی از نسخه های اجرا نشه و برنامه کرش کنه. اگر چند تا برنامه ی اندرویدی بسازین، می فهمین که یه چیز معمولیه.
 
با این وجود پیدا کردن این نوع از باگها میتونه یکم مشکل باشه و ابزارهایی مثل Instabug توی همچین موقعیتایی میتونن به کمک شما بیان. خیلی از شرکت های معروف به این نرم افزاره علاقمندن و ازش استفاده میکنن مثل PayPal، Yahoo، SoundCloud، Lyft و خیلی های دیگه.
اینی که بهتون معرفی کردم میتونه بهتون در مورد کرش ها گزارش های واقعا دقیقی بده که به شما کمک میکنه که بفهمین دلیل واقعی کرش چیه؟ و به همین خاطر مثل یک stack trace کامل برای همه ی رشته ها، شدت متادیتای دستگاه، سلسله مراتب دقیق ویو ( ارث بری و اینا ) و خیلی امکانات دیگه ای داره.
با در اختیار داشتن یک ابزار مناسب می تونین باگ ها رو سریع تر پیدا و اولویت بندی و نهایتا برطرف کنید.
فاز تست نسخه ی آلفای شما کلا نباید بیشتر از 2 روز طول بکشه. سعی کنید مدت رو کوتاه نگه دارین و زیاد سخت نگیرین. هر چی سریع تر فیدبک بگیرین بهتره.
در ضمن ساخت نسخه ی آلفا خیلی آسونه. توی کنسول پلی استور توی بخش "App release" و زیر "Release Management". زیر "Production" و بتا می تونید یک کانال نسخه های آلفا رو پیدا کنید. در ضمن می تونید لیست کاربرهای نسخه ی آلفاتون رو سفارشی سازی کنین و یک نسخه رو زیرش منتشر کنین.
وقت یک نسخه ی بزرگتر به اسم بتایه
فرض کنین نسخه ی آلفاتون موفقیت آمیز بود و اوکی شد، حالا وقتشه که به دنبال یک نسخه ی بزرگتر منتشر کنین. اصولا دو نوع نسخه بتا وجود داره. یکی نسخه ی بتای باز هست و اون یکی نسخه ی بتای بسته.
توی نسخه ی بتای باز ، همه می تونن از برنامتون استفاده کنن تا بهتون کمک کنن که قبل از منتشر کردن آزمایشش کرده باشین. شما کاربرهای مختلفی دارین، ولی زیاد نمی تونین روی این مسئله که کی داره از برنامه استفاده میکنه کنترل داشته باشین. در صورتی که ابزار مناسبی نداشته باشین که بتونه بهتون کمک کنه دریافت فیدبک از یک گروه کنترل نشده از کاربرا میتونه مشکل ساز باشه.
ولی در نسخه ی بسته ، شما یک گروه از کاربرها رو که کنترل بهتری روشون دارین تعریف می کنین و می تونین روی این مسئله که کی از برنامه استفاده میکنه و کی استفاده نمیکنه داشته باشین. همچنین می تونین به انتخاب خودتون کاربرهایی رو دعوت کنید و بهشون اجازه بدین که از نسخه ی بتا استفاده کنن و فیدبک های ارزشمندشون رو بهتون بدن.
شما می تونین براساس نیاز کارتون و مورد استفادتون اون افراد رو انتخاب کنید. اگه دنبال فیدبک بیشتر و مخاطبهای وسیع تری میگردین و میخواید که برنامه روی نسخه های متنوع اندروید تست بشه، همون نسخه ی بتای باز رو انتخاب کنین، اما اگه میخواین که برنامه توسط یک گروه کنترل شده از کاربرا انجام بشه و گرفتن فیدبک هم سریع تر و آسون تر انجام بشه باید نسخه ی بتای بسته رو انتخاب کنین.
با این وجود یه مسئله ی مهم دارای اولویت موقع منتشر کردن نسخه ی بتا گرفتن فیدبک های سریع و موثر و همینطور نظارت دقیق هست. من فهمیدم که توی این مرحله ابزار هایی مثل Instabug میتونه خیلی ارزشمند باشه.
شما می تونین از ابزارهای درون برنامه ای گزارش باگشون که سریع و قابل سفارشی سازی هست استفاده کنین تا فیدبک های سریعی رو در مورد باگ های مختلف و کرش ها به طور مستقیم از کاربران بگیرین. استفاده ازش آسونه و با UI برنامه ی شما کاملا سازگاری داره.
اینی که گفتم برای گرفتن فیدبک های دقیق و ارزشمند به طور مستقیم از کاربرا، فوق العاده آسونه. این برنامه میتونه اسکرین شات ها، فیلم هایی از صفحه و حاشیه نویسی هایی در قسمت های مهم و حتی پیامهای دقیقی رو از کاربران دریافت کنه و به طور مستقیم در اختیار شما قرار بده.
حالا وظیفه ی شما اینه که به این فیدبکها توجه کنین و بر اساس اونا کارهای بعدی رو انجام بدین. وقتی که مطمئن شدید که با فیدبک ها و گزارش هایی که از کاربرا گرفتین تونستین مشکلات برنامه رو برطرف کردین، نوبت اینه که برید مرحله ی بعدی.
معمولا که اینجوریه که قبل این مرحله نسخه ی آلفا رو منتشر می کنن. همه ی کاری که لازمه انجام بدین تو این مرحله منتشر کردن نسخه ی بتایه.
نکات مهم برای تست بهتر نسخه ی آلفا / بتا
یک کانال ارتباطی برای تست کننده ها به وجود بیارید تا فیدبکشون رو براتون بفرستن
مطمئن بشید که آزمایش کننده های برنامه یه راهی دارن تا فیدبک هاشون رو بفرستن. مثلا ایمیلی آی دی تلگرامی چیزی، ولی برای انجام این کار آزمایش کننده های اپ باید یه تجربه ی قبلی توی گزارش باگ داشته باشن و دقیقا مراحل رفع مشکل رو بهتون نشون بدن.
حتی بعد قضیه ی قبلی، ممکنه که به چند مرحله زیاد توجهی نشه که در نتیجه باعث بشه تا تولید دوباره ی برنامه کمی سخت بشه ، این دلیل خوبی میتونه باشه تا از یک جایگزین آسون تر و بهتر مثل Instabug استفاده کنین.
تشویق کردن آزمایش کننده های آلفا و بتا رو در نطر داشته باشین
حتما تشویق کردن کاربران برای اینکه یک قسمتی از این پروسه بشن رو در نظر داشته باشین، این برنامه های رایگان باعث میشه که یک رابطه ی طولانی مدت بین شما و بین کاربرا بوجود بیاد. همینطور باعث متوجه بشن که این یک نسخه ی تولیه از برنامه هست و ممکنه که مسئله یا مشکلی با خودش داشته باشه. مهم اینه که یه کاری کنین که اونا حس کنن که یک جزیی از تیم توسعه دهنده هستن و به بهتر شدن برنامه کمک میکنن.
از یک سیستم پیگیری مشکل درست و حسابی استفاده کنین
از یک سیستم پیگیری استفاده کنین تا بفهمین که چه چیزی نیاز به درست شدن داره و اولویتش چجوریه .ابزارهای مختلفی وجود داره که میتونه مفید باشه برای این کار مثل : GitHub، Jira و Trello یا همینطور میتونین از داشبورد Instabug برای گزارش سازماندهی شده و پیگیری استفاده کنین.
کجا میشه تست کننده ها رو پیدا کرد؟
توی مراحل اولیه پیدا کردن یک گروهی از کاربرا برای تست برنامه می تونه مشکل باشه ولی چند جا بهتون معرفی می کنم که می تونید سریع شروع کنین.
XDA Developers : این شاید یکی از بهترین جاها برای پیدا کردن تست کننده های فعال برای برنامتون هست. بعضی از کاربرایی که اونجا هستن به خوبی می دونن که چجوری میشه رفت توی عمق برنامه و باگ و نقاط ضعفی رو که زیاد توی چشم نیستن رو پیدا کرد.
Twitter : شما می تونین فعال ترین تست کننده های توییتر رو با هشتگ های معمولی مثل : betaesting ، #betatester ، #testmyapp# پیدا کنین یا اینکه می تونین کاربرای بالقوه و مخفی رو با لیستایی که بقیه ی کاربرا در اختیار شما میذارن بدست بیارید.
Reddit : بعضی از subreddit هایی  هستن که با استفاده از اونا میشه برای برنامتون تست کننده هایی رو پیدا کنید. مثلا چند تاش   /r/TestMyApp و /r/betatests و  /r/alphaandbetausers و  /r/AndroidAppTesters.
Beta Family : یک سرویس تست بتا برای اندروید که توسعه دهنده ها فرصت اینو دارن که برنامه هاشون رو برای تست در اختیار مردم بذارن و کاربرا هم فرصت اینو دارن تا بعضی از برنامه های جالب رو قبل از اینکه توی پلی استور منتشر بشن رو ببینن.
Betalist : یک سرویس فوق العاده ی دیگه که دسترسی به استارتاپ های اینترنتی تازه تاسیس رو فراهم میکنه ، و باعث میشه تا شما بتونین فیدبک های واقعا ارزشمندی رو از علاقمندان دریافت کنین.
Erli Bird : یک وبسایت پربازدید که سرویس تست نسخه ی بتا رو برای وبسایت ها ، برنامه ها ی دسکتاپ ، اندروید و IOS رو به شما میده. که به شما اجازه میده برنامه هاتون رو با افراد واقعی و روی محیط های واقعی انجام بدین و فیدبک های سریع و مفیدی از تست کننده هاتون دریافت کنین.
Hacker News : این موسسه علاقمند به امتحان کردن چیزهای جدیدی هست ، که اینبه متخصصان فرصت این رو میده که از مخاطبین وارد در تکنولوژی فیدبک دریافت کنن. 
وقت شروع یک رونمایی مرحله ای هست.
این برای وقتی مناسبه که شما دارین برنامتون رو از یک نسخه ی قدیمی تر بروز می کنین ( نه اینکه یه برنامه ی جدید بزنین ) و برنامه ی شما به اندازه ی کافی کاربرای بیشتری پیدا کرده.
حتی اگه شما در فاز تست به نتیجه ی مثبتی برسین ، هنوز ممکنه که 100 درصد نتونین مطمئن باشی که برنامه آماده ی روبروشدن با مخاطبین بیشتره یا نه؟
هنوز هم باگها یا کرش های مخفی ای می تونن وجود داشته باشن که میتونن ضربه ی بدی رو به شما وارد کنن.
هنوز هم ممکنه باگ ها یا کرش های مخفی ای وجود داشته باشن که بتونن به شما خسارت بزنن. احتمالش هست که شما یک مورد حاشیه ای به خصوصی رو در همه ی این مراحل از قلم انداخته باشین که توانایی این رو داشته باشه که تاثیر بدی رو کاربران شما بذاره. یا شاید مشکلی وجود داشت باشه که توی نسخه ی آلفا و بتا، کسی باهاش مواجه نشده، ولی اگه رونمایی بشه ممکنه که خسارتای رو به بار بیاره.
به همین خاطر اینجا رونمایی مرحله ای از برنامه می تونه به شما می تونه خیلی کمک کنه. اگه برنامتون مقدار کاربر زیادی رو پیدا کرده ، اول با رونمایی بین نیم درصد تا یک درصد شروع کنین و بعدش کم کم بر اساس نتایج بدست اومده بیشترش کنین. هر جایی که مشکل بحرانی ای رو دیدین ، رونمایی رو متوقف نکنین ، بلکه مشکلشو برطرف کنین و دوباره ادامه بدین.
اینجا ایده ی اصلی نظارت فعال بر stable (ماندگاری) و گزارش های باگ هست. اگه کاربری مشکلی رو گزارش کنه ، جدیش بگیرین . احتمالش هست که از نظر شما بی اهمیت باشه ولی موقع متشر کردن به شما خسارت شدیدی رو وارد کنه.
شما می تونین از بعضی از ویژگی های خیلی مفید Instabug استفاده کنین و باگها رو به سرعت برطرف کنین. Instabug میتونه به صورت دقیق لاگهای درخواست/پاسخ رو جمع کنه پس به همین خاطر شما می تونین اگه مشکلی در سمت سرور یا در سمت کلاینت وجود داشت به راحتی متوجهش بشین.
اگه خیلی این کار به شما کمک نکرد می تونین از ویژگی پیگیری کار انجام شده توسط کاربر استفاده کنین تا متوجه بشین که دقیقا کاربر چکار کرده که همچین اتفاقی افتاده، این میتونه العاده مفید باشه برای وقتی که می خواین مشکل رو سریغ برطرف کنین مفید باشه.
رونمایی کامل تا وقتی که همه چی تموم بشه
اگر برنامه ی شما توی قسمت رونمایی به 25 درصد کاربران رسید ، یعنی اینکه برنامتون هیچ مشکل مهمی نداره، بعدش دیگه خیالتون راحت باشه که برنامه به اندازه ی کافی برای مواجه شدن با همه ی کاربرها stable هست.
حالا شما میتونین به سرعت رونمایی رو گسترش بدین تا وقتی که به میزان 100 درصد برسین. وقتی که به 100 درصد رسیدید، پروسه ی انتشار در این مرحله تموم شده هست.
با وجود این همه فاز که قبل از رونمایی کامل هستن ، خیلی احتمالش کمه که باگ از دستتون در بره و تا اینجا دیده نشه. ایده ای که اینجا مطرح میشه ، ساخت کوچک ترین گروه ممکن و افزایش آهسته آهسته ی اندازه اون برای تست برنامتون هست ، که افزایش تعداد دفعات تست برنامه باعث اطمینان بیشتر نسبت به سالم و بی نقص بودنش میشه. کلا انجام این کار بهتر از اینه که یک نسخه رو یکدفعه منتشر کنیم.
خیلی مهمه که شما ابزارهای مناسبی رو داشته باشین که بتونه به شما کمک کنه تا بر باگها و اینجورچیزا نظارت کنین و فیدبکها رو از کاربرا به صورت مستقیم و تا حد امکان آسون دریافت کنین. من شدیدا توصیه می کنم که از این Instabug استفاده کنین تا واقعا ببینین که چقد خوبه.
نویسنده : Artira Roy

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی

تصاوير منتخب