المصادقة باستخدام حساب خدمة

تعد حسابات الخدمة مفيدة لإعداد توزيع التطبيقات في بيئة CI. تتيح لك المصادقة باستخدام حساب الخدمة استخدام مكتبات العملاء (على سبيل المثال، Firebase CLI وGradle وfastlane) لتوزيع إصداراتك. عند استخدام حساب خدمة للمصادقة، يستخدم Firebase بيانات اعتماد التطبيق الافتراضية (ADC) لتحديد موقع بيانات اعتماد تطبيقك، والتي يمكنك توفيرها إما عن طريق تعيين متغير البيئة GOOGLE_APPLICATION_CREDENTIALS أو عن طريق الإشارة إلى مسار مفتاح حساب الخدمة في رمز تطبيقك.

  1. افتح وحدة تحكم Google Cloud وحدد مشروعك.
  2. انقر فوق إنشاء حساب الخدمة ، ثم أدخل تفاصيل حساب الخدمة.
  3. انقر فوق إنشاء ومتابعة .
  4. أضف دور مسؤول توزيع تطبيق Firebase وانقر على تم .
  5. قم بإنشاء مفتاح JSON خاص وانقل المفتاح إلى موقع يمكن الوصول إليه من خلال بيئة البناء الخاصة بك. تأكد من الاحتفاظ بهذا الملف في مكان آمن ، لأنه يمنح المسؤول حق الوصول إلى App Distribution في مشروع Firebase الخاص بك.
  6. تجاوز هذه الخطوة إذا قمت بإنشاء تطبيقك بعد 20 سبتمبر 2019 : في وحدة تحكم Google APIs، قم بتمكين Firebase App Distribution API. عند المطالبة، حدد المشروع الذي يحمل نفس اسم مشروع Firebase الخاص بك.

  7. قم بتوفير بيانات اعتماد حساب الخدمة الخاص بك:

    • بالنسبة إلى Gradle فقط : في ملف build.gradle الخاص بك، قم بتعيين الخاصية serviceCredentialsFile إلى ملف JSON الخاص بك:

      android {
      
          // ...
      
          buildTypes {
              release {
                  firebaseAppDistribution {
                      serviceCredentialsFile="/absolute/path/to/credentials/file.json"
                      releaseNotesFile="/path/to/releasenotes.txt"
                      testers="ali@example.com, bri@example.com, cal@example.com"
                  }
              }
          }
      
          // ...
      
      }
      

      اختياريًا، يمكنك تقديم بيانات اعتماد لرمز تطبيقك بدلاً من ذلك عن طريق اتباع الخطوة أدناه.

    • بالنسبة إلى Firebase CLI أو fastlane أو Gradle : قم بتعيين متغير البيئة GOOGLE_APPLICATION_CREDENTIALS على مسار ملف JSON لمفتاحك الخاص:

      export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json