يمكنك دمج App Distribution في عملية إنشاء Android باستخدام App Distribution Gradle plugin. يتيح لك المكون الإضافي تحديد المختبرين وملاحظات الإصدار في ملف build.gradle
الخاص بتطبيقك ، مما يتيح لك تكوين توزيعات لأنواع إنشاء ومتغيرات مختلفة لتطبيقك.
يصف هذا الدليل كيفية توزيع ملفات APK على المختبرين باستخدام المكون الإضافي لـ App Distribution Gradle.
قبل ان تبدأ
أضف Firebase إلى مشروع Android ، إذا لم تكن قد قمت بذلك بالفعل.
إذا كنت لا تستخدم أي منتجات Firebase أخرى ، فما عليك سوى إنشاء مشروع وتسجيل تطبيقك. ومع ذلك ، إذا قررت استخدام منتجات إضافية في المستقبل ، فتأكد من إكمال جميع الخطوات على الصفحة المرتبطة أعلاه.
الخطوة 1. قم بإعداد مشروع Android الخاص بك
في ملف Gradle على مستوى المشروع الخاص بك (عادةً
android/build.gradle
) ، أضف المكوِّن الإضافي App Distribution باعتباره تبعية buildscript:buildscript { repositories { // Check that you have Google's Maven repository (if not, add it). google() jcenter() } dependencies { // Add the App Distribution Gradle plugin classpath 'com.google.firebase:firebase-appdistribution-gradle:3.0.2' } }
في ملف Gradle على مستوى التطبيق (عادةً
android/app/build.gradle
) ، قم بتضمين المكوِّن الإضافي لتوزيع التطبيقات أسفل المكوِّن الإضافي لنظام Android:apply plugin: 'com.android.application' // ... // Apply the App Distribution Gradle plugin apply plugin: 'com.google.firebase.appdistribution' // ...
إذا كنت تعمل خلف جدار حماية أو وكيل شركة ، فأضف خاصية نظام Java التالية التي تمكّن توزيع التطبيقات من تحميل توزيعاتك إلى Firebase:
-Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
الخطوة 2. المصادقة باستخدام Firebase
قبل أن تتمكن من استخدام المكون الإضافي Gradle ، يجب عليك أولاً المصادقة مع مشروع Firebase الخاص بك. هناك ثلاث طرق لتحقيق ذلك:
- قم بتشغيل الأمر التالي:
./gradlew appDistributionLogin
يقوم الأمر بطباعة ارتباط مصادقة. افتح الرابط في المتصفح.
عند المطالبة ، سجّل الدخول إلى حسابك في Google وامنح الإذن للوصول إلى مشروع Firebase. يقوم أمر Gradle بطباعة رمز تحديث مميز ، والذي يستخدمه المكون الإضافي App Distribution للمصادقة مع Firebase.
- اضبط متغير البيئة
FIREBASE_TOKEN
على الرمز المميز من الخطوة السابقة:export FIREBASE_TOKEN=token
تتيح لك المصادقة باستخدام حساب الخدمة استخدام المكون الإضافي بمرونة مع نظام التكامل المستمر (CI). هناك طريقتان لتقديم بيانات اعتماد حساب الخدمة:
- قم بتمرير ملف مفتاح حساب الخدمة الخاص بك إلى
build.gradle
. قد تجد هذه الطريقة مناسبة إذا كان لديك بالفعل ملف مفتاح حساب الخدمة الخاص بك في بيئة الإنشاء الخاصة بك. - قم بتعيين متغير البيئة
GOOGLE_APPLICATION_CREDENTIALS
للإشارة إلى ملف مفتاح حساب الخدمة. قد تفضل هذه الطريقة إذا كان لديك بالفعل بيانات اعتماد التطبيق الافتراضية (ADC) التي تم تكوينها لخدمة Google أخرى (مثل Google Cloud).
للمصادقة باستخدام بيانات اعتماد حساب الخدمة:
- في Google Cloud Console ، حدد مشروعك وأنشئ حساب خدمة جديدًا.
- أضف دور مسؤول توزيع تطبيقات Firebase .
- أنشئ مفتاح json خاصًا وانقل المفتاح إلى موقع يمكن الوصول إليه من بيئة الإنشاء الخاصة بك. تأكد من الاحتفاظ بهذا الملف في مكان آمن ، لأنه يمنح وصول المسؤول إلى توزيع التطبيقات في مشروع Firebase.
- تجاوز هذه الخطوة إذا أنشأت تطبيقك بعد 20 سبتمبر 2019: في وحدة تحكم Google APIs ، قم بتمكين Firebase App Distribution API. عند المطالبة ، حدد المشروع الذي يحمل نفس اسم مشروع Firebase.
توفير أو تحديد موقع بيانات اعتماد حساب الخدمة الخاص بك:
- لتمرير Gradle مفتاح حساب الخدمة الخاص بك ، في ملف
build.gradle
الخاص بك ، قم بتعيين الخاصيةserviceCredentialsFile
إلى ملف JSON للمفتاح الخاص. لتحديد موقع بيانات الاعتماد الخاصة بك مع ADC ، قم بتعيين متغير البيئة
GOOGLE_APPLICATION_CREDENTIALS
على مسار ملف المفتاح الخاص JSON. على سبيل المثال:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
لمزيد من المعلومات حول المصادقة مع ADC ، اقرأ تقديم بيانات الاعتماد للتطبيق الخاص بك.
- لتمرير Gradle مفتاح حساب الخدمة الخاص بك ، في ملف
راجع تسجيل الدخول باستخدام Firebase CLI للحصول على إرشادات حول كيفية مصادقة مشروعك.
الخطوة 3. تكوين خصائص التوزيع الخاصة بك
في ملف
app/build.gradle
الخاص بك ، قم بتهيئة توزيع التطبيق عن طريق إضافة قسم واحد على الأقل من أقسامfirebaseAppDistribution
. على سبيل المثال ، لتوزيعrelease
على المختبرين:android { // ... buildTypes { release { firebaseAppDistribution { artifactType="APK" releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
يمكن تكوين توزيع التطبيق لأنواع البناء ونكهات المنتجات . على سبيل المثال ، لتوزيع
release
debug
والإصدار في نكهات المنتج "التجريبية" و "الكاملة":android { // ... buildTypes { debug {...} release {...} } flavorDimensions "version" productFlavors { demo { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for demo version" testers="demo@testers.com" } } full { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for full version" testers="full@testers.com" } } } // ... }
استخدم المعلمات التالية لتكوين التوزيع:
معلمات بناء توزيع التطبيق | |
---|---|
appId | معرّف تطبيق Firebase لتطبيقك. مطلوب فقط إذا لم يكن لديك المكون الإضافي Google Services Gradle مثبتًا. يمكنك العثور على معرف التطبيق في ملف appId="1:1234567890:android:321abc456def7890" |
serviceCredentialsFile | المسار إلى ملف JSON الخاص بالمفتاح الخاص لحساب الخدمة. مطلوب فقط إذا كنت تستخدم مصادقة حساب الخدمة. |
artifactType | يحدد نوع ملف التطبيق الخاص بك. يمكن ضبطها على |
artifactPath | المسار المطلق لملف APK أو AAB الذي تريد تحميله. |
releaseNotes أو releaseNotesFile | ملاحظات الإصدار لهذا البناء. يمكنك إما تحديد ملاحظات الإصدار مباشرة أو المسار إلى ملف نص عادي. |
testers أو testersFile | عناوين البريد الإلكتروني للمختبرين الذين تريد توزيع البنيات عليهم. يمكنك تحديد المختبرين كقائمة عناوين بريد إلكتروني مفصولة بفواصل: testers="ali@example.com, bri@example.com, cal@example.com" أو يمكنك تحديد المسار إلى ملف يحتوي على قائمة عناوين بريد إلكتروني مفصولة بفواصل: testersFile="/path/to/testers.txt" |
groups أو groupsFile | مجموعات المختبرين التي تريد توزيع النُسخ عليها (راجع إدارة المختبرين ). يتم تحديد المجموعات باستخدام يمكنك تحديد المجموعات كقائمة مفصولة بفواصل من الأسماء المستعارة للمجموعة: groups="qa-team, android-testers" أو يمكنك تحديد المسار إلى ملف يحتوي على قائمة مفصولة بفواصل من الأسماء المستعارة للمجموعة: groupsFile="/path/to/tester-groups.txt" |
stacktrace | يطبع تتبع المكدس لاستثناءات المستخدم. هذا مفيد عند تصحيح الأخطاء. |
الخطوة 4. وزع تطبيقك على المختبرين
أخيرًا ، لحزم تطبيق الاختبار الخاص بك ودعوة المختبرين ، قم ببناء الأهداف
BUILD-VARIANT
وappDistributionUpload BUILD-VARIANT
مع غلاف Gradle الخاص بمشروعك ، حيث يكون BUILD-VARIANT هو نكهة المنتج الاختيارية ونوع البناء الذي قمت بتكوينه في الخطوة السابقة. لمزيد من المعلومات حول نكهات المنتج ، راجع تكوين متغيرات البناء .على سبيل المثال ، لتوزيع تطبيقك باستخدام متغير
release
، قم بتشغيل الأمر التالي:./gradlew assembleRelease appDistributionUploadRelease
أو ، إذا قمت بالمصادقة باستخدام حساب Google الخاص بك ولم تقدم بيانات الاعتماد في ملف إنشاء Gradle الخاص بك ، فقم بتضمين متغير
FIREBASE_TOKEN
:export FIREBASE_TOKEN=1/a1b2c3d4e5f67890 ./gradlew --stop // Only needed for environment variable changes ./gradlew assembleRelease appDistributionUploadRelease
يمكنك أيضًا تجاوز القيم المحددة في ملف
build.gradle
الخاص بك عن طريق تمرير وسيطات سطر الأوامر في شكل--<property-name>=<property-value>
. فمثلا:لتحميل إصدار تصحيح إلى توزيع التطبيقات:
./gradlew bundleDebug appDistributionUploadDebug --artifactType="APK"
لدعوة مختبرين إضافيين أو إزالة المختبرين الحاليين من مشروع Firebase:
./gradlew appDistributionAddTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
./gradlew appDistributionRemoveTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
بمجرد إضافة أحد المختبرين إلى مشروع Firebase ، يمكنك إضافته إلى الإصدارات الفردية. لن يتمكن المختبِرون الذين تمت إزالتهم من الوصول إلى الإصدارات في مشروعك بعد الآن ، ولكن لا يزال بإمكانهم الاحتفاظ بإمكانية الوصول إلى إصداراتك لفترة زمنية.
يمكنك أيضًا تحديد المختبرين باستخدام
--file="/path/to/testers.txt"
بدلاً من--emails
.تقبل المهام
appDistributionAddTesters
وappDistributionRemoveTesters
أيضًا الوسيطات التالية:رقم المشروع: رقم مشروع
projectNumber
الخاص بك.serviceCredentialsFile
: المسار إلى ملف بيانات اعتماد خدمة Google. هذه هي نفس الحجة التي يستخدمها إجراء التحميل.
بمجرد توزيع تصميمك ، يصبح متاحًا في لوحة معلومات توزيع التطبيقات لوحدة تحكم Firebase لمدة 150 يومًا (خمسة أشهر). عند مرور 30 يومًا على انتهاء صلاحية الإصدار ، يظهر إشعار انتهاء الصلاحية في كل من وحدة التحكم وقائمة البنيات الخاصة بالمختبرين على جهاز الاختبار الخاص بهم.
يتلقى المختبِرون الذين لم تتم دعوتهم لاختبار التطبيق دعوات بالبريد الإلكتروني للبدء ، ويتلقى المختبِرون الحاليون إشعارات بالبريد الإلكتروني تفيد بأن البناء الجديد جاهز للاختبار (اقرأ دليل إعداد المُختبِر للحصول على إرشادات حول كيفية تثبيت التطبيق التجريبي). يمكنك مراقبة حالة كل مختبِر - سواء قبلوا الدعوة وما إذا كانوا قد قاموا بتنزيل التطبيق - في وحدة تحكم Firebase.
لدى المختبرين 30 يومًا لقبول دعوة لاختبار التطبيق قبل انتهاء صلاحيته. عندما تنتهي صلاحية الدعوة بعد 5 أيام من انتهاء صلاحيتها ، يظهر إشعار انتهاء الصلاحية في وحدة تحكم Firebase بجوار المُختبِر في الإصدار. يمكن تجديد الدعوة عن طريق إعادة إرسالها باستخدام القائمة المنسدلة في صف المختبر.
الخطوة التالية
تفضل بزيارة مختبر رموز حزمة تطبيقات Android للتعرف على كيفية توزيع إصدارات حزم التطبيقات خطوة بخطوة.