قم بتنبيه المختبرين بشأن إصدارات تطبيقك الجديدة باستخدام Firebase App Distribution Android SDK - Codelab

1. نظرة عامة

c7a9160ef7b184c7.png22e0b52f771c060d.png

مرحبًا بك في دمج Firebase App Distribution SDK في الدرس التطبيقي حول التعليمات البرمجية لتطبيق Android. في هذا الدرس التطبيقي حول التعليمات البرمجية، ستضيف App Distribution Android SDK إلى تطبيقك لعرض تنبيهات داخل التطبيق للمختبرين عندما تكون الإصدارات الجديدة متاحة للتنزيل. ستتعلم كيفية استخدام التكوين الأساسي والتكوين المخصص لتسجيل دخول المختبرين لتلقي التحديثات. بعد ذلك، ستدفع إصدارًا جديدًا إلى App Distribution وتطلق تنبيهًا جديدًا للإنشاء مباشرة في التطبيق.

ما ستتعلمه

  • كيفية استخدام توزيع التطبيقات لتوزيع تطبيق ما قبل النشر على المختبرين
  • كيفية دمج App Distribution Android SDK في تطبيقك
  • كيفية تنبيه أحد المختبرين عندما يكون هناك إصدار تجريبي جديد جاهز للتثبيت
  • كيفية تخصيص SDK لتناسب احتياجات الاختبار الخاصة بك

ماذا ستحتاج

  • أحدث إصدار من أندرويد ستوديو .
  • عينة من الرموز.
  • جهاز اختباري يعمل بنظام Android 4.4+ وخدمات Google Play 9.8 أو أحدث، أو محاكي يعمل مع خدمات Google Play 9.8 أو أحدث.
  • في حالة استخدام جهاز، كابل اتصال.

كيف ستستخدم هذا البرنامج التعليمي؟

اقرأ من خلاله فقط اقرأها وأكمل التمارين

كيف تقيم تجربتك في إنشاء تطبيقات Android؟

مبتدئ متوسط بارع

2. احصل على نموذج التعليمات البرمجية

استنساخ مستودع GitHub من سطر الأوامر.

$ git clone https://github.com/FirebaseExtended/codelab-appdistribution-android.git

إذا لم يكن git مثبتًا لديك، فيمكنك أيضًا تنزيل نموذج المشروع من صفحة GitHub الخاصة به أو بالنقر فوق هذا الرابط .

3. قم باستيراد تطبيق البداية

من Android Studio، حدد دليل codelab-appdistribution-android/start ( android_studio_folder.png ) من تنزيل نموذج التعليمات البرمجية ( ملف > فتح > .../codelab-appdistribution-android/start).

يجب أن يكون لديك الآن مشروع البداية مفتوحًا في Android Studio.

4. قم بإنشاء مشروع وحدة تحكم Firebase

أضف مشروع Firebase جديد

  1. افتح وحدة تحكم Firebase .
  2. حدد إضافة مشروع ، ثم قم بتسمية مشروعك "Firebase Codelab".

لا تحتاج إلى تمكين Google Analytics لهذا المشروع.

  1. انقر فوق إنشاء مشروع .

إضافة تطبيق إلى Firebase

سجل تطبيقك مع Firebase . استخدم "com.google.firebase.appdistributioncodelab" كاسم الحزمة.

أضف ملف google-services.json إلى تطبيقك

بعد إضافة اسم الحزمة واختيار التسجيل، اتبع الخطوات التالية لإضافة google-services.json إلى تطبيقك:

  1. انقر فوق تنزيل google-services.json للحصول على ملف تكوين Firebase Android.
  2. انسخ ملف google-services.json إلى دليل app في مشروعك.
  3. بعد تنزيل الملف، يمكنك تخطي الخطوات التالية الموضحة في وحدة التحكم (لقد تم تنفيذها لك بالفعل في مشروع build-android-start).

قم بتحديث معرف التطبيق ليطابق تطبيق Firebase الخاص بك

  1. في القائمة اليسرى (علامة تبويب المشروع)، تأكد من أنك في عرض "Android" وحدد موقع علامة التبويب "Gradle Scripts" وافتح ملف Gradle الخاص بالوحدة النمطية (على مستوى التطبيق) (عادةً app/build.gradle.kts ).
  2. قم بتغيير خاصية applicationId لمطابقة معرف التطبيق لتطبيق Firebase الخاص بك. يجب أن يكون هذا "com.google.firebase.appdistributioncodelab"

مزامنة مشروعك مع ملفات Gradle

للتأكد من أن جميع التبعيات متاحة لتطبيقك، قم بمزامنة مشروعك مع ملفات Gradle ، واختيار ملف > مزامنة المشروع مع ملفات Gradle من شريط أدوات Android Studio.

5. قم بإعداد تنبيهات البناء الجديد داخل التطبيق باستخدام App Distribution Android SDK

في هذه الخطوة، ستضيف Firebase App Distribution Android SDK إلى تطبيقك وستعرض تنبيهات داخل التطبيق للمختبرين عندما تكون الإصدارات الجديدة من تطبيقك متاحة للتثبيت. للقيام بذلك، تأكد من تمكين Firebase App Testers API لمشروع "Firebase Codelab" (في Google Cloud Console). تحتاج إلى تسجيل الدخول بنفس الحساب واختيار المشروع الصحيح من القائمة المنسدلة في الأعلى.

تكوين التنبيهات داخل التطبيق

يوفر App Distribution Android SDK طريقتين لإعداد تنبيهات إنشاء التطبيق للمختبرين:

  • تكوين تنبيه أساسي، يأتي مع مربع حوار مُعد مسبقًا لعرضه على المختبرين.
  • تكوين تنبيه متقدم، يتيح لك تخصيص واجهة المستخدم (UI).

سنبدأ بتكوين التنبيه الأساسي. يمكنك استخدام updateIfNewReleaseAvailable لعرض مربع حوار تنبيهات التمكين المُعد مسبقًا للمختبرين الذين لم يقوموا بتمكين التنبيهات بعد، ثم التحقق من توفر إصدار جديد. يقوم المختبرون بتمكين التنبيهات من خلال تسجيل الدخول إلى حساب لديه حق الوصول إلى التطبيق في App Distribution. عند استدعائها، تقوم الطريقة بتفعيل التسلسل التالي:

  1. يتحقق مما إذا كان أحد المختبرين قد قام بتمكين التنبيهات. إذا لم يكن الأمر كذلك، فستعرض الطريقة مربع حوار معد مسبقًا يطالب المختبرين بتسجيل الدخول إلى App Distribution باستخدام حساب Google الخاص بهم.

يعد تمكين التنبيهات عملية تتم لمرة واحدة على جهاز الاختبار وتستمر عبر تحديثات تطبيقك. تظل التنبيهات ممكنة على جهاز الاختبار حتى يتم إلغاء تثبيت التطبيق أو حتى يتم استدعاء طريقة signOutTester .

  1. التحقق من الإصدارات المتوفرة حديثًا لكي يقوم المُختبر بتثبيتها.
  2. يعرض تنبيهًا مُعدًا مسبقًا يطالب المُختبر بتنزيل أحدث إصدار.
  3. التحقق من نوع البناء الجديد قبل متابعة التحديث:
  4. إذا كان الإصدار الجديد عبارة عن حزمة تطبيقات (AAB)، فسيقوم بإعادة توجيه المُختبر إلى متجر Play لإكمال عملية التحديث.
  5. إذا كان الإصدار الجديد عبارة عن ملف APK، فإن SDK يقوم بتنزيل الإصدار الجديد في الخلفية ويطلب من المُختبر تثبيت الإصدار الجديد عند اكتمال التنزيل. يرسل SDK إشعارات تقدم التنزيل إلى المستخدم باستخدام NotificationManager. يمكنك إضافة مؤشر التقدم الخاص بك عن طريق إرفاق معالج onProgressUpdate بمهمة updateIfNewReleaseAvailable .

يمكنك استدعاء updateIfNewReleaseAvailable() في أي وقت في تطبيقك. على سبيل المثال، يمكنك استدعاء updateIfNewReleaseAvailable() ‎ أثناء التابع onResume() ‎ الخاص بالنشاط الرئيسي:

افتح 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:

  1. افتح صفحة توزيع التطبيق لوحدة تحكم Firebase. حدد مشروع Firebase الخاص بك عندما يُطلب منك ذلك.
  2. في صفحة الإصدارات، حدد التطبيق الذي تريد توزيعه من القائمة المنسدلة.

623460c3c8a82ce6.png

  1. انقر فوق البدء

bf503b25066ff4a4.png

  1. اسحب ملف APK الخاص بتطبيقك إلى وحدة التحكم لتحميله.
  2. عند اكتمال التحميل، حدد مجموعات الاختبار والمختبرين الفرديين الذين تريدهم أن يحصلوا على الإصدار. (أضف بريدك الإلكتروني لتلقي الدعوة.) ثم أضف ملاحظات الإصدار الخاصة بالإنشاء. لمعرفة المزيد حول إنشاء مجموعات اختبار، راجع إضافة المختبرين وإزالتهم .

3343048f0930e84b.png

  1. انقر فوق توزيع لإتاحة الإصدار للمختبرين.

2be58fe195928bf9.png

في وحدة تحكم Firebase، يمكنك الآن رؤية المختبرين الذين أضفتهم ضمن إصدار تطبيقك.

9935a41810344c61.png

نظرًا لأنك قمت بتضمين عنوان بريدك الإلكتروني، ستتلقى رسالة بريد إلكتروني من Firebase App Distribution تدعوك لاختبار التطبيق. أنت الآن المختبر الأول! اتبع الإرشادات الواردة في قبول الدعوة للإعداد كمختبِر على جهاز الاختبار الخاص بك.

قبول الدعوة

ستحتاج أولاً إلى قبول الدعوة لتنزيل الإصدار واختباره.

  1. على جهاز اختبار Android، افتح البريد الإلكتروني المرسل من Firebase App Distribution وانقر على البدء .
  2. في تطبيق الويب الخاص باختبار Firebase App Distribution الذي يظهر، قم بتسجيل الدخول باستخدام حساب Google الخاص بك، ثم انقر فوق قبول الدعوة. يمكنك الآن رؤية الإصدار الذي تمت دعوتك لاختباره.

c18cb684f8e82ad6.png

قم بتنزيل الإصدار من جهاز الاختبار

عند الانتقال إلى تطبيق AppDistribution Codelab، يمكنك أن ترى أن الإصدار جاهز للتنزيل.

5414d9a536f25ece.png

  1. اضغط على تنزيل ، ثم قم بتثبيت التطبيق وتشغيله!
  2. عندما يبدأ التطبيق، يطلب منك تمكين تنبيهات البناء الجديد. انقر فوق تشغيل .

b059e09acaa4779f.png

  1. سجل دخولك بحسابك التجريبي..

22e0b52f771c060d.png

لقد تم إرجاعك إلى التطبيق. في المرة التالية التي تقوم فيها بتشغيل التطبيق، لن تحتاج إلى تسجيل الدخول أو قبول التنبيهات

c9f33df16a2680d.png

قم بتوزيع تحديث على المختبرين لديك

  1. قم بتحديث اسم الإصدار الخاص بك إلى "1.1" ورمز الإصدار إلى 2 في ملف Gradle الخاص بالوحدة النمطية (على مستوى التطبيق) (عادةً app/build.gradle).
  2. أنشئ ملف APK الخاص بك باستخدام عمليتك العادية. يجب عليك توقيع APK باستخدام مفتاح التصحيح أو مفتاح توقيع التطبيق.
  3. قم بتحميل ملف APK الجديد هذا في وحدة تحكم Firebase الخاصة بك، وأضف بريدك الإلكتروني كمختبر مرة أخرى وانقر على توزيع .

2dfa702edfdce6b8.png

تنبيهات بناء الاختبار

  1. تأكد من إغلاق التطبيق إذا كان مفتوحًا.
  2. أعد تشغيل التطبيق.
  3. عند إعادة تشغيل التطبيق، تتلقى تنبيهًا بتوفر إصدار جديد.

987e3d0ba4e56f84.png

  1. للحصول على أحدث إصدار، انقر فوق تحديث .
  2. إذا طُلب منك، اختر خيار تمكين التثبيتات من مصادر غير معروفة.
  3. انقر فوق تثبيت (أو تحديث ) في الشاشة التالية.

a7c7cd15d60bc764.png

  1. تهانينا! لقد تمكنت من تحديث تطبيقك باستخدام التنبيهات المضمنة.

7. تخصيص تسجيل الدخول للاختبار

تمنحك الطريقتان SignInTester/signOutTester و isTesterSignedIn مزيدًا من المرونة في تخصيص تجربة تسجيل دخول المختبر الخاص بك، حتى تتمكن من مطابقة شكل تطبيقك ومظهره بشكل أفضل.

يتحقق المثال التالي مما إذا كان المختبر قد قام بالفعل بتسجيل الدخول إلى حساب اختبار Firebase App Distribution، بحيث يمكنك اختيار عرض واجهة مستخدم تسجيل الدخول الخاصة بك فقط للمختبرين الذين لم يسجلوا الدخول بعد. بعد تسجيل دخول المختبر، يمكنك بعد ذلك اتصل بـ checkForUpdate للتحقق مما إذا كان لدى المُختبر حق الوصول إلى البنية الجديدة.

لنقم بتعطيل التحقق من التحديثات تلقائيًا في onResume عن طريق التعليق على استدعاء checkForUpdate() .

MainActivity.kt

override fun onResume() {
        super.onResume()
        //checkForupdate()
    }

بدلاً من ذلك، تمت إضافة checkForUpdate() بالفعل إلى OnClickListener الخاص بزر التحديث.

الآن، دعونا ننفذ طريقة تسجيل الدخول () الخاصة بنا والتي ستقوم بتسجيل دخول المستخدم إذا قام بتسجيل الخروج، أو تسجيل خروج المستخدم إذا كان قد قام بتسجيل الدخول بالفعل.

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

الخطوات التالية

يتعلم أكثر

لدي سؤال؟

الإبلاغ عن المشكلات