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

1. نظرة عامة

c7a9160ef7b184c7.png22e0b52f771c060d.png

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

ماذا ستتعلم

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

ماذا ستحتاج

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

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

يوفر تطبيق 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

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

يتعلم أكثر

لدي سؤال؟

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