۱. مرور کلی


به بخش ادغام SDK توزیع برنامه Firebase در آزمایشگاه کد برنامه اندروید خود خوش آمدید. در این آزمایشگاه کد، SDK اندروید توزیع برنامه را به برنامه خود اضافه خواهید کرد تا وقتی نسخههای جدید برای دانلود در دسترس هستند، هشدارهای درون برنامهای را به آزمایشکنندگان خود نمایش دهید. یاد خواهید گرفت که چگونه از پیکربندی اولیه و پیکربندی سفارشی برای ورود آزمایشکنندگان خود برای دریافت بهروزرسانیها استفاده کنید. سپس یک نسخه جدید را به توزیع برنامه ارسال میکنید و یک هشدار ساخت جدید را مستقیماً در برنامه فعال میکنید.
آنچه یاد خواهید گرفت
- نحوه استفاده از توزیع برنامه برای توزیع یک برنامه پیش از انتشار به آزمایشکنندگان
- نحوه ادغام SDK اندروید توزیع برنامه (App Distribution) در برنامه شما
- چگونه به یک آزمایشکننده هشدار دهیم وقتی یک نسخه پیشانتشار جدید آماده نصب است
- چگونه SDK را متناسب با نیازهای تست خود سفارشی کنید
آنچه نیاز دارید
- آخرین نسخه اندروید استودیو
- نمونه کد.
- یک دستگاه آزمایشی با اندروید ۴.۴+ و سرویسهای گوگل پلی ۹.۸ یا بالاتر، یا یک شبیهساز با سرویسهای گوگل پلی ۹.۸ یا بالاتر.
- در صورت استفاده از دستگاه، کابل اتصال.
چگونه از این آموزش استفاده خواهید کرد؟
تجربه خود را در ساخت برنامههای اندروید چگونه ارزیابی میکنید؟
۲. کد نمونه را دریافت کنید
مخزن گیتهاب را از خط فرمان کلون کنید.
$ git clone https://github.com/FirebaseExtended/codelab-appdistribution-android.git
اگر گیت را نصب ندارید، میتوانید پروژه نمونه را از صفحه گیتهاب آن یا با کلیک روی این لینک دانلود کنید.
۳. برنامهی آغازین را وارد کنید
از اندروید استودیو، پوشه codelab-appdistribution-android/start را انتخاب کنید (
) از کد نمونه دانلود شده ( File > Open > .../codelab-appdistribution-android/start ).
اکنون باید پروژه شروع را در اندروید استودیو باز داشته باشید.
۴. ایجاد و راهاندازی یک پروژه Firebase
ایجاد یک پروژه جدید فایربیس
- با استفاده از حساب گوگل خود وارد کنسول فایربیس شوید.
- برای ایجاد یک پروژه جدید، روی دکمه کلیک کنید و سپس نام پروژه را وارد کنید (برای مثال،
App Distribution Codelab). - روی ادامه کلیک کنید.
- در صورت درخواست، شرایط Firebase را مرور و قبول کنید و سپس روی ادامه کلیک کنید.
- (اختیاری) دستیار هوش مصنوعی را در کنسول Firebase (با نام "Gemini در Firebase") فعال کنید.
- برای این codelab، به گوگل آنالیتیکس نیاز ندارید ، بنابراین گزینه گوگل آنالیتیکس را غیرفعال کنید .
- روی ایجاد پروژه کلیک کنید، منتظر بمانید تا پروژه شما آماده شود و سپس روی ادامه کلیک کنید.
اضافه کردن یک برنامه به فایربیس
برنامه خود را در Firebase ثبت کنید . از "com.google.firebase.appdistributioncodelab" به عنوان نام بسته استفاده کنید.
فایل google-services.json را به برنامه خود اضافه کنید
پس از افزودن نام بسته و انتخاب گزینه ثبت، مراحل زیر را برای افزودن google-services.json به برنامه خود دنبال کنید:
- برای دریافت فایل پیکربندی اندروید فایربیس خود ، روی دانلود google-services.json کلیک کنید.
- فایل google-services.json را در پوشه
appپروژه خود کپی کنید. - پس از دانلود فایل، میتوانید مراحل بعدی نمایش داده شده در کنسول را نادیده بگیرید (این مراحل قبلاً در پروژه build-android-start برای شما انجام شدهاند).
شناسه برنامه را برای مطابقت با برنامه Firebase خود بهروزرسانی کنید
- در منوی سمت چپ (زبانه پروژه)، مطمئن شوید که در نمای «اندروید» هستید و زبانه «اسکریپتهای گرادل» را پیدا کرده و فایل گرادل ماژول (سطح برنامه) خود (معمولاً
app/build.gradle.kts) را باز کنید. - ویژگی
applicationIdرا تغییر دهید تا با شناسه برنامه Firebase شما مطابقت داشته باشد. این باید "com.google.firebase.appdistributioncodelab" باشد.
پروژه خود را با فایلهای Gradle همگامسازی کنید
برای اطمینان از اینکه همه وابستگیها برای برنامه شما در دسترس هستند، پروژه خود را با فایلهای Gradle همگامسازی کنید و از نوار ابزار اندروید استودیو ، File > Sync Project with Gradle Files را انتخاب کنید.
۵. هشدارهای ساخت جدید درون برنامهای را با SDK اندروید توزیع برنامه تنظیم کنید
در این مرحله، شما SDK اندروید Firebase App Distribution را به برنامه خود اضافه خواهید کرد و هنگامی که نسخههای جدید برنامه شما برای نصب در دسترس هستند، هشدارهای درون برنامهای را به آزمایشکنندگان خود نمایش خواهید داد. برای انجام این کار، مطمئن شوید که API آزمایشکنندگان برنامه Firebase را برای پروژه "Firebase Codelab" خود (در کنسول Google Cloud) فعال کردهاید. باید با همان حساب کاربری وارد سیستم شوید و پروژه صحیح را از منوی کشویی بالا انتخاب کنید.
پیکربندی هشدارهای درون برنامهای
کیت توسعه نرمافزار اندروید توزیع برنامه (App Distribution Android SDK) دو روش برای تنظیم هشدارهای ساخت درونبرنامهای برای آزمایشکنندگان شما ارائه میدهد:
- یک پیکربندی هشدار اولیه، که با یک کادر محاورهای از پیش ساخته شده برای نمایش به آزمایشکنندگان ارائه میشود.
- پیکربندی پیشرفته هشدار، که به شما امکان میدهد رابط کاربری (UI) خود را سفارشی کنید.
ما با پیکربندی اولیه هشدار شروع خواهیم کرد. شما میتوانید از updateIfNewReleaseAvailable برای نمایش یک کادر محاورهای فعالسازی هشدارهای از پیش ساخته شده به آزمایشکنندگانی که هنوز هشدارها را فعال نکردهاند، استفاده کنید و سپس بررسی کنید که آیا نسخه جدیدی در دسترس است یا خیر. آزمایشکنندگان با ورود به حسابی که به برنامه در App Distribution دسترسی دارد، هشدارها را فعال میکنند. هنگام فراخوانی، این متد توالی زیر را اجرا میکند:
- بررسی میکند که آیا آزمایشکننده هشدارها را فعال کرده است یا خیر. در غیر این صورت، این روش یک کادر محاورهای از پیش ساخته شده را نمایش میدهد که از آزمایشکنندگان میخواهد با حساب گوگل خود وارد سیستم توزیع برنامه شوند.
فعال کردن هشدارها یک فرآیند یکباره در دستگاه آزمایشی است که در طول بهروزرسانیهای برنامه شما ادامه مییابد. هشدارها تا زمانی که برنامه حذف نصب نشود یا تا زمانی که متد signOutTester فراخوانی شود، در دستگاه آزمایشی فعال میمانند.
- بررسی میکند که آیا نسخههای جدید برای نصب توسط آزمایشکننده موجود است یا خیر.
- یک هشدار از پیش ساخته شده را نمایش میدهد که از آزمایشکننده میخواهد آخرین نسخه را دانلود کند.
- قبل از ادامه بهروزرسانی، نوع ساخت جدید را بررسی میکند:
- اگر نسخه جدید یک App Bundle (AAB) باشد، آزمایشکننده را برای تکمیل فرآیند بهروزرسانی به Play Store هدایت میکند.
- اگر نسخه جدید APK باشد، SDK نسخه جدید را در پسزمینه دانلود میکند و پس از اتمام دانلود، از آزمایشکننده میخواهد که نسخه جدید را نصب کند. SDK با استفاده
NotificationManager.میتوانید با اتصال یک کنترلکنندهonProgressUpdateبه وظیفهupdateIfNewReleaseAvailable، نشانگر پیشرفت خود را اضافه کنید.
شما میتوانید تابع updateIfNewReleaseAvailable() در هر نقطهای از برنامه خود فراخوانی کنید. برای مثال، میتوانید تابع updateIfNewReleaseAvailable() در طول متد onResume() از MainActivity فراخوانی کنید:
فایل MainActivity.kt را باز کنید و متد onResume() را به صورت زیر ایجاد کنید:
فعالیت اصلی.kt
override fun onResume() {
super.onResume()
checkForUpdate()
}
حالا بیایید متد checkForUpdate() را پیادهسازی کنیم.
فعالیت اصلی.kt
private fun checkForUpdate() {
firebaseAppDistribution.updateIfNewReleaseAvailable()
.addOnProgressListener { updateProgress ->
// (Optional) Implement custom progress updates in addition to
// automatic NotificationManager updates.
}
.addOnFailureListener { e ->
if (e is FirebaseAppDistributionException) {
// Handle exception.
}
}
}
۶. اپلیکیشن خود را بسازید و از آزمایشکنندگان دعوت کنید تا آن را دانلود کنند.
در این مرحله، شما برنامه خود را میسازید و پیادهسازی آن را با توزیع نسخه ساخته شده بین آزمایشکنندگان با استفاده از کنسول Firebase آزمایش میکنید.
اپلیکیشن خود را بسازید
وقتی آماده توزیع نسخه پیشانتشار برنامه خود برای آزمایشکنندگان شدید، APK خود را با استفاده از فرآیند معمول خود بسازید. باید APK را با کلید اشکالزدایی یا کلید امضای برنامه خود امضا کنید.
برنامه خود را بین آزمایشکنندگان توزیع کنید
برای توزیع برنامه خود به آزمایشکنندگان، فایل APK را با استفاده از کنسول Firebase آپلود کنید:
- صفحه توزیع برنامه (App Distribution) کنسول Firebase را باز کنید. در صورت درخواست، پروژه Firebase خود را انتخاب کنید.
- در صفحه انتشارها، برنامهای را که میخواهید توزیع کنید از منوی کشویی انتخاب کنید.

- روی شروع کلیک کنید

- فایل APK برنامه خود را به کنسول بکشید تا آپلود شود.
- پس از اتمام آپلود، گروههای آزمایشکننده و آزمایشکنندگان منفردی را که میخواهید نسخه آزمایشی را دریافت کنند، مشخص کنید. (ایمیل خود را برای دریافت دعوتنامه اضافه کنید.) سپس، یادداشتهای انتشار نسخه آزمایشی را اضافه کنید. برای کسب اطلاعات بیشتر در مورد ایجاد گروههای آزمایشکننده، به بخش افزودن و حذف آزمایشکنندگان مراجعه کنید.

- برای اینکه نسخه نهایی در دسترس آزمایشکنندگان قرار گیرد، روی «توزیع» کلیک کنید.

در کنسول فایربیس، اکنون میتوانید آزمایشکنندگانی را که در نسخه منتشر شده برنامه خود اضافه کردهاید، مشاهده کنید.

از آنجایی که آدرس ایمیل خود را وارد کردهاید، ایمیلی از Firebase App Distribution دریافت خواهید کرد که از شما دعوت میکند تا برنامه را آزمایش کنید. اکنون شما اولین آزمایشکننده هستید! دستورالعملهای موجود در قسمت «پذیرش دعوت» را دنبال کنید تا به عنوان آزمایشکننده در دستگاه آزمایشی خود راهاندازی شوید.
دعوت را بپذیرید
ابتدا باید دعوتنامه را برای دانلود و آزمایش نسخه بپذیرید.
- در دستگاه آزمایشی اندروید خود، ایمیل ارسال شده از Firebase App Distribution را باز کنید و روی Get Started (شروع به کار) ضربه بزنید.
- در برنامه وب تستر توزیع برنامه Firebase که ظاهر میشود، با حساب Google خود وارد شوید و روی «پذیرش دعوت» ضربه بزنید. اکنون میتوانید نسخهای را که برای آزمایش دعوت شدهاید، مشاهده کنید.

نسخه آزمایشی را از دستگاه تست دانلود کنید
وقتی به برنامه Codelab در AppDistribution بروید، میتوانید ببینید که نسخه آماده دانلود است.

- روی دانلود ضربه بزنید، سپس برنامه را نصب و اجرا کنید!
- وقتی برنامه شروع به کار میکند، از شما میخواهد که هشدارهای ساخت جدید را فعال کنید. روی «روشن کردن» ضربه بزنید.

- با حساب کاربری تستر خود وارد شوید..

شما به برنامه بازگردانده میشوید. دفعه بعد که برنامه را اجرا میکنید، نیازی به ورود یا پذیرش هشدارها ندارید

یک بهروزرسانی را بین آزمایشکنندگان خود توزیع کنید
- در فایل Gradle ماژول (سطح برنامه) خود (که معمولاً app/build.gradle است)، versionName را به "1.1" و versionCode را به 2 بهروزرسانی کنید.
- APK خود را با استفاده از فرآیند معمول خود بسازید. شما باید APK را با کلید اشکالزدایی یا کلید امضای برنامه خود امضا کنید.
- این APK جدید را در کنسول Firebase خود آپلود کنید، دوباره ایمیل خود را به عنوان آزمایشکننده اضافه کنید و روی توزیع کلیک کنید.

هشدارهای ساخت آزمایشی
- اگر برنامه باز بود، مطمئن شوید که آن را بستهاید.
- برنامه را مجدداً راه اندازی کنید.
- وقتی برنامه دوباره راهاندازی میشود، هشدار «نسخه جدید موجود است» را دریافت میکنید.

- برای دریافت آخرین نسخه، روی «بهروزرسانی» کلیک کنید.
- در صورت درخواست، گزینه فعال کردن نصب از منابع ناشناخته را انتخاب کنید.
- در صفحه بعد روی نصب (یا بهروزرسانی ) کلیک کنید.

- تبریک میگویم! شما توانستید برنامه خود را با هشدارهای داخلی بهروزرسانی کنید.
۷. ورود به سیستم آزمایشکننده را سفارشی کنید
متدهای signInTester/signOutTester و isTesterSignedIn انعطافپذیری بیشتری در سفارشیسازی تجربه ورود به سیستم تستر به شما میدهند، بنابراین میتوانند با ظاهر و حس برنامه شما بهتر مطابقت داشته باشند.
مثال زیر بررسی میکند که آیا آزمایشکننده قبلاً وارد حساب کاربری آزمایشکنندهی توزیع برنامهی Firebase خود شده است یا خیر، بنابراین میتوانید رابط کاربری ورود به سیستم خود را فقط برای آزمایشکنندههایی که هنوز وارد سیستم نشدهاند نمایش دهید. پس از ورود آزمایشکننده، میتوانید checkForUpdate را فراخوانی کنید تا بررسی کنید که آیا آزمایشکننده به نسخه جدید دسترسی دارد یا خیر.
بیایید با کامنت کردن فراخوانی checkForUpdate()، بررسی خودکار بهروزرسانیها را در onResume غیرفعال کنیم.
فعالیت اصلی.kt
override fun onResume() {
super.onResume()
//checkForupdate()
}
در عوض، checkForUpdate() از قبل در OnClickListener مربوط به updatebutton اضافه شده است.
حالا، بیایید متد signIn() خود را پیادهسازی کنیم که اگر کاربر از سیستم خارج شده باشد، آن را signIn میکند، یا اگر قبلاً وارد سیستم شده باشد، آن را signout میکند.
فعالیت اصلی.kt
private fun signIn() {
if (isTesterSignedIn()) {
firebaseAppDistribution.signOutTester()
configureUpdateButton()
configureSigninButton()
} else {
firebaseAppDistribution.signInTester()
}
}
در نهایت، بیایید متد isTesterSignedIn را پیادهسازی کنیم.
فعالیت اصلی.kt
private fun isTesterSignedIn() : Boolean {
return firebaseAppDistribution.isTesterSignedIn
}
پیادهسازی خود را بسازید و آزمایش کنید
۸. تبریک میگویم!
شما ویژگی «نمایش هشدارهای درون برنامهای» را با استفاده از Firebase App Distribution Android SDK در یک برنامه ایجاد کردهاید.
آنچه ما پوشش دادهایم
- توزیع برنامه Firebase
- هشدارهای جدید توزیع برنامه Firebase برای SDK اندروید
مراحل بعدی
اطلاعات بیشتر
سوالی دارید؟
گزارش مشکلات