1. بررسی اجمالی
به ادغام SDK توزیع برنامه Firebase در لبه کد برنامه Android خود خوش آمدید. در این کد لبه، شما App Distribution Android SDK را به برنامه خود اضافه میکنید تا هشدارهای درونبرنامهای را به آزمایشکنندگان خود در زمانی که ساختهای جدید برای دانلود در دسترس هستند، نمایش دهید. یاد خواهید گرفت که چگونه از پیکربندی اولیه و پیکربندی سفارشی استفاده کنید تا آزمایشکنندگان خود را برای دریافت بهروزرسانیها به سیستم وارد کنند. سپس یک نسخه جدید را به App Distribution فشار می دهید و یک هشدار ساخت جدید را درست در برنامه راه اندازی می کنید.
چیزی که یاد خواهید گرفت
- نحوه استفاده از App Distribution برای توزیع یک برنامه پیش از انتشار بین آزمایش کنندگان
- چگونه App Distribution Android SDK را در برنامه خود ادغام کنید
- نحوه هشدار دادن به تستر هنگامی که یک بیلد پیش از انتشار جدید آماده نصب است
- چگونه SDK را مطابق با نیازهای آزمایشی خود سفارشی کنید
آنچه شما نیاز دارید
- آخرین نسخه اندروید استودیو .
- کد نمونه
- یک دستگاه آزمایشی با Android نسخه 4.4 و بالاتر و خدمات Google Play نسخه 9.8 یا بالاتر، یا شبیهساز با خدمات Google Play نسخه 9.8 یا بالاتر.
- در صورت استفاده از دستگاه، کابل اتصال.
چگونه از این آموزش استفاده خواهید کرد؟
به تجربه خود از ساخت اپلیکیشن های اندرویدی چه امتیازی می دهید؟
2. کد نمونه را دریافت کنید
مخزن GitHub را از خط فرمان کلون کنید.
$ git clone https://github.com/FirebaseExtended/codelab-appdistribution-android.git
اگر git را نصب نکردهاید، میتوانید پروژه نمونه را از صفحه GitHub آن یا با کلیک کردن روی این لینک دانلود کنید.
3. برنامه شروع را وارد کنید
از Android Studio، پوشه codelab-appdistribution-android/start
انتخاب کنید ( ) از نمونه کد دانلود ( File > Open > .../codelab-appdistribution-android/start).
اکنون باید پروژه شروع را در Android Studio باز کنید.
4. یک پروژه کنسول Firebase ایجاد کنید
یک پروژه Firebase جدید اضافه کنید
- کنسول Firebase را باز کنید.
- Add Project را انتخاب کنید و سپس نام پروژه خود را "Firebase Codelab" بگذارید.
برای این پروژه نیازی به فعال کردن Google Analytics ندارید.
- روی ایجاد پروژه کلیک کنید.
یک برنامه به Firebase اضافه کنید
برنامه خود را با Firebase ثبت کنید . از "com.google.firebase.appdistributioncodelab" به عنوان نام بسته استفاده کنید.
فایل google-services.json را به برنامه خود اضافه کنید
پس از افزودن نام بسته و انتخاب ثبت نام، این مراحل را دنبال کنید تا google-services.json را به برنامه خود اضافه کنید:
- برای دریافت فایل پیکربندی Android Firebase خود، روی Download google-services.json کلیک کنید.
- فایل google-services.json را در فهرست
app
پروژه خود کپی کنید. - پس از دانلود فایل، می توانید مراحل بعدی نشان داده شده در کنسول را رد کنید (آنها قبلاً برای شما در پروژه build-android-start انجام شده اند).
شناسه برنامه را برای مطابقت با برنامه Firebase خود بهروزرسانی کنید
- در منوی سمت چپ (برگه Project)، مطمئن شوید که در نمای «Android» هستید و برگه «Gradle Scripts» را پیدا کرده و فایل Gradle ماژول (سطح برنامه) خود را باز کنید (معمولا
app/build.gradle.kts
). - ویژگی
applicationId
را تغییر دهید تا با شناسه برنامه Firebase مطابقت داشته باشد. این باید "com.google.firebase.appdistributioncodelab" باشد
پروژه خود را با فایل های Gradle همگام سازی کنید
برای اطمینان از اینکه همه وابستگیها برای برنامه شما در دسترس هستند، پروژه خود را با فایلهای Gradle همگامسازی کنید. File > Sync Project با Gradle Files را از نوار ابزار Android Studio انتخاب کنید.
5. هشدارهای ساخت جدید درون برنامه ای را با App Distribution Android SDK تنظیم کنید
در این مرحله، Firebase App Distribution Android SDK را به برنامه خود اضافه میکنید و هشدارهای درونبرنامهای را به آزمایشکنندگان خود نشان میدهید که ساختهای جدید برنامه شما برای نصب در دسترس هستند. برای انجام این کار، مطمئن شوید که Firebase App Testers API را برای پروژه Firebase Codelab خود (در Google Cloud Console) فعال کرده اید. باید با همان حساب وارد شوید و پروژه صحیح را از منوی کشویی در بالا انتخاب کنید.
هشدارهای درون برنامه ای را پیکربندی کنید
Android SDK توزیع برنامه دو راه برای تنظیم هشدارهای ساخت درون برنامه ای برای آزمایش کنندگان شما ارائه می دهد:
- یک پیکربندی هشدار اولیه، که با یک گفتگوی از پیش ساخته شده برای نمایش به آزمایشکنندگان ارائه میشود.
- یک پیکربندی هشدار پیشرفته، که به شما امکان می دهد رابط کاربری (UI) خود را سفارشی کنید.
ما با پیکربندی اولیه هشدار شروع خواهیم کرد. میتوانید از updateIfNewReleaseAvailable
برای نمایش یک گفتگوی هشدارهای از پیش ساخته شده برای آزمایشکنندگانی که هنوز هشدارها را فعال نکردهاند، استفاده کنید و سپس بررسی کنید که آیا ساخت جدیدی در دسترس است. آزمایشکنندگان با ورود به حسابی که به برنامه در توزیع برنامه دسترسی دارد، هشدارها را فعال میکنند. هنگامی که متد فراخوانی می شود، دنباله زیر را اعمال می کند:
- بررسی میکند که آیا آزمایشکننده هشدارها را فعال کرده است. در غیر این صورت، روش یک گفتگوی از پیش ساخته شده را نمایش می دهد که از آزمایش کنندگان می خواهد تا با حساب Google خود وارد App Distribution شوند.
فعال کردن هشدارها یک فرآیند یکبار مصرف در دستگاه آزمایشی است که در بهروزرسانیهای برنامه شما ادامه دارد. هشدارها تا زمانی که برنامه حذف نصب نشود یا تا زمانی که متد signOutTester
فراخوانی نشود، روی دستگاه تست فعال باقی می مانند.
- ساختهای جدید موجود را برای نصب آزمایشکننده بررسی میکند.
- یک هشدار از پیش ساخته را نشان می دهد که آزمایش کننده را وادار می کند آخرین نسخه را دانلود کند.
- قبل از ادامه بهروزرسانی، نوع ساخت جدید را بررسی میکند:
- اگر ساخت جدید یک App Bundle (AAB) باشد، آزمایشکننده را به Play Store هدایت میکند تا فرآیند بهروزرسانی تکمیل شود.
- اگر ساخت جدید یک APK باشد، SDK بیلد جدید را در پسزمینه دانلود میکند و از آزمایشکننده میخواهد که بیلد جدید را پس از دانلود کامل نصب کند. SDK اعلانهای پیشرفت دانلود را با استفاده از
NotificationManager.
میتوانید با پیوست کردن یک کنترلکنندهonProgressUpdate
به وظیفهupdateIfNewReleaseAvailable
، نشانگر پیشرفت خود را اضافه کنید.
می توانید در هر نقطه از برنامه خود با updateIfNewReleaseAvailable()
تماس بگیرید. به عنوان مثال، می توانید updateIfNewReleaseAvailable()
در طول متد onResume()
MainActivity فراخوانی کنید:
MainActivity.kt را باز کنید و متد onResume()
را مانند زیر ایجاد کنید:
MainActivity.kt
override fun onResume() {
super.onResume()
checkForUpdate()
}
حال بیایید متد checkForUpdate()
را پیاده سازی کنیم.
MainActivity.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.
}
}
}
6. آزمایش کنندگان را بسازید و از آنها دعوت کنید تا برنامه شما را دانلود کنند
در این مرحله، اپلیکیشن خود را میسازید و پیادهسازی خود را با توزیع آن بین آزمایشکنندگان با استفاده از کنسول Firebase آزمایش میکنید.
اپلیکیشن خود را بسازید
وقتی آماده توزیع نسخه پیشانتشاری برنامه خود برای آزمایشکنندگان هستید، APK خود را با استفاده از فرآیند عادی خود بسازید. باید APK را با کلید اشکال زدایی یا کلید امضای برنامه امضا کنید.
برنامه خود را بین آزمایش کنندگان توزیع کنید
برای توزیع برنامهتان بین آزمایشکنندگان، فایل APK را با استفاده از کنسول Firebase آپلود کنید:
- صفحه توزیع برنامه کنسول Firebase را باز کنید. وقتی از شما خواسته شد پروژه Firebase خود را انتخاب کنید.
- در صفحه Releases، برنامه مورد نظر برای توزیع را از منوی کشویی انتخاب کنید.
- روی Get Started کلیک کنید
- فایل APK برنامه خود را به کنسول بکشید تا آپلود شود.
- هنگامی که آپلود کامل شد، گروه های آزمایش کننده و آزمایش کننده های فردی را که می خواهید ساخت را دریافت کنید، مشخص کنید. (برای دریافت دعوت نامه، ایمیل خود را اضافه کنید.) سپس، یادداشت های انتشار را برای ساخت اضافه کنید. برای کسب اطلاعات بیشتر درباره ایجاد گروههای آزمایشکننده، به افزودن و حذف آزمایشکنندگان مراجعه کنید.
- برای در دسترس قرار دادن ساخت در دسترس آزمایش کنندگان، روی توزیع کلیک کنید.
در کنسول Firebase، اکنون میتوانید آزمایشکنندگانی را که در نسخه برنامه خود اضافه کردهاید ببینید.
از آنجایی که آدرس ایمیل خود را وارد کرده اید، ایمیلی از Firebase App Distribution دریافت خواهید کرد که از شما دعوت می کند برنامه را آزمایش کنید. اکنون شما اولین آزمایش کننده هستید! برای راهاندازی بهعنوان آزمایشکننده در دستگاه آزمایشی، دستورالعملهای موجود در «پذیرش دعوت» را دنبال کنید.
دعوت را بپذیرید
ابتدا باید دعوتنامه را برای دانلود و آزمایش نسخه بپذیرید.
- در دستگاه تست Android خود، ایمیل ارسال شده از Firebase App Distribution را باز کنید و روی Get Started ضربه بزنید.
- در برنامه وب آزمایش کننده توزیع برنامه Firebase که ظاهر می شود، با حساب Google خود وارد شوید و روی پذیرش دعوت ضربه بزنید. اکنون می توانید نسخه ای را که برای آزمایش دعوت شده اید مشاهده کنید.
نسخه را از دستگاه تست دانلود کنید
وقتی به برنامه AppDistribution codelab بروید، میبینید که نسخه آماده دانلود است.
- روی دانلود ضربه بزنید، سپس برنامه را نصب و اجرا کنید!
- هنگامی که برنامه شروع به کار می کند، از شما می خواهد که هشدارهای ساخت جدید را فعال کنید. روی روشن کردن ضربه بزنید.
- با حساب آزمایشی خود وارد شوید..
شما به برنامه برگردانده شده اید. دفعه بعد که برنامه را اجرا می کنید، نیازی به ورود به سیستم یا پذیرش هشدارها ندارید
بهروزرسانی را بین آزمایشکنندگان خود توزیع کنید
- VersionName خود را در فایل Gradle ماژول (سطح برنامه) به "1.1" و versionCode را به 2 به روز کنید (معمولا app/build.gradle).
- APK خود را با استفاده از فرآیند عادی خود بسازید. باید APK را با کلید اشکال زدایی یا کلید امضای برنامه امضا کنید.
- این APK جدید را در کنسول Firebase خود آپلود کنید، ایمیل خود را دوباره به عنوان آزمایش کننده اضافه کنید و روی توزیع کلیک کنید.
هشدارهای ساخت را آزمایش کنید
- اگر برنامه باز بود، مطمئن شوید که آن را بسته اید.
- برنامه را مجددا راه اندازی کنید.
- هنگامی که برنامه راه اندازی مجدد می شود، یک هشدار نسخه جدید موجود دریافت می کنید.
- برای دریافت آخرین نسخه، روی Update کلیک کنید.
- در صورت درخواست، گزینه فعال کردن نصب از منابع ناشناس را انتخاب کنید.
- در صفحه بعد روی Install (یا Update ) کلیک کنید.
- تبریک می گویم! شما توانستید برنامه خود را با هشدارهای داخلی به روز کنید.
7. ثبت نام تستر را سفارشی کنید
روشهای signInTester/signOutTester و isTesterSignedIn به شما انعطافپذیری بیشتری میدهد تا تجربه ورود به سیستم آزمایشکننده خود را سفارشی کنید، بنابراین بهتر میتواند با ظاهر و احساس برنامه شما مطابقت داشته باشد.
مثال زیر بررسی میکند که آیا آزمایشکننده قبلاً به حساب آزمایشکننده توزیع برنامه Firebase خود وارد شده است، بنابراین میتوانید رابط کاربری ورود به سیستم خود را فقط برای آزمایشکنندگانی که هنوز وارد سیستم نشدهاند نمایش داده شود. پس از اینکه آزمایشکننده وارد سیستم شد، میتوانید سپس با checkForUpdate تماس بگیرید تا بررسی کنید آیا تستر به یک ساخت جدید دسترسی دارد یا خیر.
بیایید بررسی خودکار بهروزرسانیها را در onResume با نظر گذاشتن روی تماس checkForUpdate() غیرفعال کنیم.
MainActivity.kt
override fun onResume() {
super.onResume()
//checkForupdate()
}
در عوض، checkForUpdate() قبلاً در OnClickListener دکمه update اضافه شده است.
اکنون، بیایید متد signIn() خود را پیاده سازی کنیم که اگر کاربر از سیستم خارج شده باشد، signIn می کند، یا اگر قبلاً وارد سیستم شده باشد، از سیستم خارج می شود.
MainActivity.kt
private fun signIn() {
if (isTesterSignedIn()) {
firebaseAppDistribution.signOutTester()
configureUpdateButton()
configureSigninButton()
} else {
firebaseAppDistribution.signInTester()
}
}
در نهایت اجازه دهید متد isTesterSignedIn را پیاده سازی کنیم.
MainActivity.kt
private fun isTesterSignedIn() : Boolean {
return firebaseAppDistribution.isTesterSignedIn
}
پیاده سازی خود را بسازید و آزمایش کنید
8. تبریک می گویم!
شما ویژگی "نمایش هشدارهای درون برنامه" را با استفاده از Firebase App Distribution Android SDK در یک برنامه ایجاد کرده اید.
آنچه را پوشش داده ایم
- توزیع برنامه Firebase
- Firebase App Distribution هشدارهای جدید Android SDK
مراحل بعدی
بیشتر بدانید
سوالی دارید؟
گزارش مسائل