فرض کنیم یه برنامه ای ساختیم و منتشر کردیم که ورژن برنامه ما ۱ هست . حالا ما میخوایم ورژن جدید برنامه مون رو منتشر کنیم که خیلی تغییرات زیادی هم داره . ما میتونیم ورژن جدید رو هم به صورت لینک مستقیم و هم توسط اپ استورها ( مثه بازار و مارکت و گوگل پلی و … ) منتشر کنیم . حالا ما ورژن جدید رو هم منتشر کردیم ، چه جوری به کاربر اطلاع بدیم که ورژن جدید منتشر شده و آپدیت کنه برنامه رو ؟ خوب ، یه راه ساده اش اینه که با ارسال نوتیفیکیشن بهش بگیم ورژن جدید منتشر شده و به سایت مراجعه کنه مثلا . ولی میخوایم حرفه ای تر کار کنیم ( جا داره یادی کنم از فیلم لــئون ، حرفه ای که این فیلم با من چه ها که نکرد ! ) .

توی این آموزش ، مفصل درباره RemoteConfig توسط فایربیس حرف زدم . پس حتما اول باید اون آموزش رو ببینید . من دیگه مقدمات کار ، که توی اون آموزش رو گفتم تکرار نمیکنم . میخوایم از فایربیس استفاده کنیم و توی فایربیس یه ورژن تعریف کنیم که هر وقت نسخه جدید برنامه رو منتشر کردیم ، ورژن رو توی فایربیس تغییر بدیم و آدرس برنامه رو هم به فایربیس بدیم ، و کاربر دفعه بعد که برنامه ( که نسخه قدیمی هست ) رو اجرا میکنه ، بهش توسط Dialog یه پیغام نشون داده میشه که ورژن جدید منتشر شده و برنامه رو آپدیت کنه . 

من میام توی فایربیس ، سه تا پارامتر تعریف میکنیم با این مقادیر : 

مقدار is_update نشون میده که آیا برنامه نیاز به آپدیت داره یا نه . که اگه false باشه که کاری انجام نمیگیره ، ولی هر زمان که به true تغییرش بدیم ( و PUBLISH CHANGES ) رو هم کلیک کنیم ، برنامه روی گوشی کاربر میفهمه که ما قصد آپدیت داریم . توسط پارامتر version ، نسخه یا ورژنی که منتشر کردیم رو قرار میدیم . توی این مثال ورژن ۱٫۰ که ورژن پیشفرض برنامه هست ، ما میایم مثلا ورژنی که منتشر کردیم رو ۱٫۱ نامگذاری میکنیم و توی فایربیس قرار میدیم ، که اینجوری برنامه روی گوشی کاربر میفهمه که ورژن دریافتی از فایربیس جدیدتر هست و نیاز به آپدیت هست . و توسط update_url میام آدرس برنامه مون رو ( چه لینک مستقیم ، چه اپ استور ) قرار میدیم تا برنامه روی گوشی کاربر ، این آدرس رو استفاده کنه .

میریم سراغ قسمت اندروید استودیو . ما دو کلاس جدید به اسم های UpdateHelper و App میسازیم . کدها کلاس UpdateHelper : 

ما توی خط های ۱۶ و ۱۷ و ۱۸ ، سه تا متغیر تعریف میکنیم که حتما حتما باید با پارامترهایی که توی فایربیس تعریف کردیم یکسان باشه مقادیرشون . توی خط ۳۷ و توسط تابع check بررسی میکنیم که برنامه مون نیاز به آپدیت داره یا نه . 

کدهای کلاس App :

توی خط های ۲۹ و ۳۰ و ۳۱ ، میایم مقادیر پیشفرض رو تعریف میکنیم تا اولین بار که برنامه نصب و اجرا میشه ، این مقادیر توسط خود گوشی خونده بشن ( و نه فایربیس ) ، و بعدا فایربیس رو چک کنه . توی خط ۳۳ گفتیم که هر ۵ ثانیه بیا چک کن ببین ورژن جدید موجود هست یا نه ، که شما میتونید مطابق میل خودتون تغییرش بدید .

کدهای کلاس MainActivity : 

توی خط ۲۵ دقت کنید که کلاسمون رو از چه نوعی تعریف کردیم . ما توی خط ۴۸ گفتیم که وقتی کاربر روی آپدیت کلیک کرد یه پیغام رو نشون بده ، که شما میتونید با استفاده از ActionView یا WebView برنامه رو تغییر بدید . و همینطور توی خط ۵۳ گفتیم که اگه روی انصراف کلیک کرد ، دیالوگ بسته بشه ، که شما میتونید کد خروج از برنامه رو بذارید که اینجوری کاربر رو مجبور میکنید که حتما برنامه رو آپدیت کنه . 

وقتی کاربر برنامه رو اجرا کنه ، چیز خاصی نمیبینه : 

ولی وقتی ما بیایم توی فایربیس ، مقادیر جدید رو وارد کنید و تغییرشون بدیم : 

دفعه بعد که کاربر برنامه رو اجرا کنه : 

اینم از این آموزش لاکچری ! سورس رو هم میتونید دانلود کنید : 

دانلود سورس

آموزش آپدیت به ورژن جدید توسط فایربیس

مجتبی صابری


همه عشقم برنامه نویسی هست | t.me/developer9 | t.me/kotlin9


پیمایش نوشته


پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *