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

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

1. نظرة عامة

c7a9160ef7b184c7.png22e0b52f771c060d.png

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

ماذا ستتعلم

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

ماذا ستحتاج

  • Android Studio الإصدار 3.4+.
  • عينة من الرموز.
  • جهاز اختبار يعمل بنظام Android 2.3+ وخدمات 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 ).
  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). تحتاج إلى تسجيل الدخول بنفس الحساب وتحديد المشروع الصحيح من القائمة المنسدلة في الأعلى.

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

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

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

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

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

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

  1. يتحقق من الإصدارات المتوفرة حديثًا ليتم تثبيتها من قِبل المُختبِر.
  2. يعرض تنبيهًا تم إنشاؤه مسبقًا يطالب المختبِر بتنزيل أحدث إصدار.
  3. يتحقق من نوع البنية الجديد قبل متابعة التحديث:
  4. إذا كان الإصدار الجديد عبارة عن حزمة تطبيقات (AAB) ، فإنه يُعيد توجيه المُختبِر إلى متجر Play لإكمال عملية التحديث.
  5. إذا كان الإصدار الجديد عبارة عن 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:

  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

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

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

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 الخاص به ، بحيث يمكنك اختيار عرض واجهة مستخدم تسجيل الدخول الخاصة بك فقط للمختبرين الذين لم يسجلوا الدخول بعد. بعد تسجيل المختبِر الدخول ، يمكنك حينئذٍ call checkForUpdate للتحقق مما إذا كان المختبِر لديه حق الوصول إلى إصدار جديد.

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

MainActivity.kt

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

بدلاً من ذلك ، تمت إضافة checkForUpdate () بالفعل في updatebutton's 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 تنبيهات جديدة Android SDK

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

يتعلم أكثر

لدي سؤال؟

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