1- نظرة عامة
مرحبًا بك في ميزة دمج حزمة تطوير البرامج (SDK) الخاصة بتوزيع تطبيقات Firebase في الدرس التطبيقي حول ترميز تطبيق Android. في هذا الدرس التطبيقي حول الترميز، ستضيف حزمة تطوير البرامج (SDK) الخاصة بميزة "توزيع التطبيقات" على نظام التشغيل Android إلى تطبيقك من أجل عرض تنبيهات داخل التطبيق للمختبِرين عند توفّر إصدارات جديدة للتنزيل. وستتعرَّف على كيفية استخدام الإعداد الأساسي وطريقة الضبط المخصَّصة لتسجيل دخول المختبِرين لتلقّي التحديثات. بعد ذلك، يجب إرسال إصدار جديد إلى ميزة "توزيع التطبيقات" وتشغيل تنبيه إصدار جديد في التطبيق مباشرةً.
المعلومات التي ستطّلع عليها
- كيفية استخدام ميزة App Distribution لتوزيع تطبيق تجريبي على المختبِرين
- كيفية دمج App Distribution Android SDK في تطبيقك
- طريقة تنبيه المختبِر عند توفُّر إصدار تجريبي جديد جاهز للتثبيت
- كيفية تخصيص حزمة SDK لتناسب احتياجات الاختبار
المتطلبات
- أحدث إصدار من استوديو Android
- نموذج التعليمات البرمجية.
- يجب أن يكون لديك جهاز اختباري يعمل بالإصدار 4.4 من نظام التشغيل Android أو الإصدارات الأحدث، والإصدار 9.8 من "خدمات Google Play" أو إصدار أحدث، أو محاكي بالإصدار 9.8 من "خدمات Google Play" أو إصدار أحدث.
- في حال استخدام جهاز، استخدِم كابل توصيل.
كيف ستستخدم هذا البرنامج التعليمي؟
كيف تقيّم تجربتك في إنشاء تطبيقات Android؟
2- الحصول على الرمز النموذجي
استنسِخ مستودع GitHub من سطر الأوامر.
$ git clone https://github.com/FirebaseExtended/codelab-appdistribution-android.git
في حال عدم تثبيت git، يمكنك أيضًا تنزيل نموذج المشروع من صفحته في GitHub أو من خلال النقر على هذا الرابط.
3- استيراد تطبيق إجراء التفعيل
من "استوديو Android"، اختَر دليل codelab-appdistribution-android/start
( ) من نموذج تنزيل الرمز (ملف > فتح > .../codelab-appdistribution-android/start).
من المفترض أن يكون مشروع البدء مفتوحًا الآن في "استوديو Android".
4. إنشاء مشروع على "وحدة تحكُّم Firebase"
إضافة مشروع Firebase جديد
- افتح وحدة تحكُّم Firebase.
- اختَر إضافة مشروع، ثم أدخِل اسم "درس تطبيقي حول ترميز Firebase" لمشروعك.
لا تحتاج إلى تفعيل "إحصاءات Google" لهذا المشروع.
- انقر على إنشاء مشروع.
إضافة تطبيق إلى Firebase
سجِّل تطبيقك في Firebase. استخدِم "com.google.firebase.appdistributioncodelab" كاسم الحزمة.
إضافة ملف google-services.json إلى تطبيقك
بعد إضافة اسم الحزمة واختيار "التسجيل"، اتّبِع الخطوات التالية لإضافة ملف google-services.json إلى تطبيقك:
- انقر على تنزيل google-services.json للحصول على ملف إعداد Android Firebase.
- انسخ ملف google-services.json إلى دليل
app
في مشروعك. - بعد تنزيل الملف، يمكنك تخطّي الخطوات التالية التي تظهر في وحدة التحكّم (سبق أن تم تنفيذها لك في مشروع الإصدار android-start).
تحديث معرّف التطبيق ليتطابق مع تطبيقك في Firebase
- في القائمة اليمنى (علامة تبويب المشروع)، تأكد من استخدام "Android" عرض "نصوص Gradle النصية" وتحديد موقعها وافتح ملف Gradle للوحدة (على مستوى التطبيق) (عادةً ما يكون
app/build.gradle.kts
). - غيِّر الموقع
applicationId
ليتطابق مع معرّف تطبيق Firebase. يجب إدخال النص التالي: "com.google.firebase.appdistributioncodelab"
مزامنة مشروعك مع ملفات Gradle
ولضمان توفُّر جميع الاعتماديات لتطبيقك، عليك مزامنة مشروعك مع ملفات Gradle واختيار File (ملف)>. مزامنة المشروع مع ملفات Gradle من شريط أدوات "استوديو Android"
5- إعداد تنبيهات الإصدار الجديد داخل التطبيق باستخدام حزمة تطوير البرامج (SDK) الخاصة بميزة "توزيع التطبيقات" في نظام التشغيل Android
في هذه الخطوة، عليك إضافة حزمة تطوير البرامج (SDK) الخاصة بميزة "توزيع التطبيقات على منصة Firebase" لنظام التشغيل Android إلى تطبيقك وعرض تنبيهات داخل التطبيق للمختبِرين عند توفُّر إصدارات جديدة من تطبيقك للتثبيت. لإجراء ذلك، تأكَّد من تفعيل واجهة برمجة التطبيقات لاختبار تطبيق Firebase من أجل "الدرس التطبيقي حول ترميز Firebase". (في Google Cloud Console). عليك تسجيل الدخول باستخدام الحساب نفسه واختيار المشروع الصحيح من القائمة المنسدلة في أعلى الصفحة.
ضبط التنبيهات داخل التطبيق
توفِّر حزمة تطوير البرامج (SDK) لنظام التشغيل Android لميزة "توزيع التطبيقات" طريقتَين لإعداد تنبيهات الإصدارات داخل التطبيق للمختبِرين:
- هو إعداد أساسي للتنبيه يتضمّن مربّع حوار مُعدّ مسبقًا لعرضه للمختبِرين.
- هي إعدادات تنبيه متقدّمة تتيح لك تخصيص واجهة المستخدم.
سنبدأ بتهيئة التنبيه الأساسية. يمكنك استخدام updateIfNewReleaseAvailable
لعرض مربّع حوار تفعيل التنبيهات المُعدّ مسبقًا للمختبِرين الذين لم يفعّلوا التنبيهات بعد، ثم التحقّق من توفُّر إصدار جديد. يفعّل المختبِرون التنبيهات من خلال تسجيل الدخول إلى حساب لديه إمكانية الوصول إلى التطبيق في ميزة App Distribution. عند استدعائها، تؤدي الطريقة التسلسل التالي:
- يتحقّق مما إذا كان المختبِر قد فعّل التنبيهات. وإذا لم يكن الأمر كذلك، ستعرض الطريقة مربّع حوار تم إنشاؤه مسبقًا يطلب من المختبِرين تسجيل الدخول إلى ميزة "توزيع التطبيقات" باستخدام حساباتهم على Google.
يتم تفعيل التنبيهات مرة واحدة على الجهاز الاختباري وتستمر في جميع تحديثات تطبيقك. وتظل التنبيهات مفعَّلة على الجهاز الاختباري إلى أن يتم إلغاء تثبيت التطبيق أو إلى أن يتم استدعاء طريقة signOutTester
.
- يتم البحث عن الإصدارات المتاحة حديثًا ليثبّتها المختبِر.
- عرض تنبيه مُعدّ مسبقًا يطلب من المختبِر تنزيل أحدث إصدار.
- يتم التحقّق من نوع الإصدار الجديد قبل متابعة التحديث:
- إذا كان الإصدار الجديد هو تنسيق AAB، ستتم إعادة توجيه المختبِر إلى "متجر Play" لإكمال عملية التحديث.
- إذا كان الإصدار الجديد عبارة عن حزمة 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 عندما يُطلب منك ذلك.
- في صفحة "الإصدارات"، اختَر التطبيق الذي تريد توزيعه من القائمة المنسدلة.
- انقر على البدء.
- اسحب ملف APK الخاص بتطبيقك إلى وحدة التحكم لتحميله.
- عند اكتمال التحميل، حدِّد مجموعات المختبِرين والمختبِرين الفرديين الذين تريد تلقّي الإصدار منهم. (أضِف عنوان بريدك الإلكتروني لتلقّي الدعوة). بعد ذلك، يمكنك إضافة ملاحظات الإصدار الخاصة بالإصدار. لمزيد من المعلومات عن إنشاء مجموعات المختبِرين، يُرجى الاطّلاع على مقالة إضافة مختبِرين وإزالتهم.
- انقر على توزيع لإتاحة الإصدار للمختبِرين.
من خلال "وحدة تحكُّم Firebase"، يمكنك الآن الاطّلاع على المختبِرين الذين أضفتهم ضمن إصدار تطبيقك.
نظرًا لأنك ضمّنت عنوان بريدك الإلكتروني، ستتلقى رسالة إلكترونية من Firebase App Distribution تدعوك إلى اختبار التطبيق. أنت الآن المختبِر الأول! اتّبِع التعليمات الواردة في مقالة "قبول الدعوة" لإعدادك كمختبِر على جهاز الاختبار.
قبول الدعوة
عليك أولاً قبول الدعوة لتنزيل الإصدار واختباره.
- على جهاز Android الاختباري، افتح الرسالة الإلكترونية المُرسَلة من Firebase App Distribution وانقر على Get Started (البدء).
- في تطبيق الويب المستخدَم لاختبار Firebase App Distribution الذي يظهر، سجِّل الدخول باستخدام حسابك على Google وانقر على قبول الدعوة. يمكنك الآن الاطّلاع على الإصدار الذي تمت دعوتك لاختباره.
تنزيل الإصدار من الجهاز الاختباري
عند الانتقال إلى تطبيق الدرس التطبيقي حول الترميز App Distribution، ستلاحظ أنّ الإصدار جاهز للتنزيل.
- انقر على تنزيل، ثم ثبِّت التطبيق وشغِّله.
- عند بدء تشغيل التطبيق، سيُطلب منك تفعيل تنبيهات الإصدار الجديد. انقر على تفعيل.
- سجِّل الدخول باستخدام حساب الاختبار.
سيتم إرجاعك إلى التطبيق. في المرة القادمة التي تشغل فيها التطبيق، لن تحتاج إلى تسجيل الدخول أو قبول التنبيهات.
توزيع تحديث على المختبِرين
- تحديث versionName إلى "1.1" ورمز الإصدار إلى 2 في ملف Gradle للوحدة (على مستوى التطبيق) (عادةً app/build.gradle).
- يمكنك إنشاء ملف APK باتّباع العملية المعتادة. يجب توقيع حزمة APK باستخدام مفتاح تصحيح الأخطاء أو مفتاح توقيع التطبيق.
- حمِّل حِزمة APK الجديدة هذه في وحدة تحكُّم Firebase، وأضِف بريدك الإلكتروني كمختبِر مرة أخرى وانقر على توزيع.
تنبيهات الإصدار التجريبي
- تأكَّد من إغلاق التطبيق إذا كان مفتوحًا.
- أعِد تشغيل التطبيق.
- عند إعادة تشغيل التطبيق، ستتلقّى تنبيهًا بتوفّر إصدار جديد.
- لاستلام أحدث إصدار، انقر على تحديث.
- يُرجى تحديد خيار تفعيل عمليات التثبيت من مصادر غير معروفة إذا طُلب منك ذلك.
- انقر على تثبيت (أو تحديث) على الشاشة التالية.
- تهانينا لقد تمكّنت من تحديث تطبيقك باستخدام التنبيهات المضمَّنة.
7- تخصيص عملية تسجيل الدخول إلى المختبِر
تمنحك الطريقتان signInTester/signOutTester وisTesterSignedIn مرونةً أكبر لتخصيص تجربة تسجيل دخول المختبِر كي تتطابق بشكل أفضل مع شكل تطبيقك ومضمونه.
يتحقّق المثال التالي مما إذا كان المختبِر قد سجّل الدخول من قبل إلى حساب المختبر لخدمة Firebase App Distribution، وذلك كي تتمكّن من اختيار عرض واجهة مستخدم تسجيل الدخول للمختبِرين الذين لم يسجّلوا الدخول بعد. بعد أن يسجّل المختبِر الدخول، يمكنك طلب checkForUpdate لمعرفة ما إذا كان بإمكان المختبِر الوصول إلى إصدار جديد.
لإيقاف التحقق من التحديثات تلقائيًا في onResume عن طريق التعليق على استدعاء checkForUpdate() .
MainActivity.kt
override fun onResume() {
super.onResume()
//checkForupdate()
}
بدلاً من ذلك، تمت إضافة checkForUpdate() من قبل في Updatebutton من OnClickListener.
لنتعرّف الآن على طريقة 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 App Distribution
- حزمة تطوير البرامج (SDK) الجديدة للتنبيهات حول ميزة "توزيع التطبيقات من Firebase" في نظام التشغيل Android
الخطوات التالية
مزيد من المعلومات
هل لديك سؤال؟
الإبلاغ عن المشاكل