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


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

  1. افتح Google Cloud وحدة التحكّم واختَر مشروعك.
  2. انقر على إنشاء حساب خدمة وأدخِل تفاصيل حساب الخدمة.
  3. انقر على إنشاء ومتابعة.
  4. أضِف دور Firebase App Distribution المشرف وانقر على تم.
  5. أنشئ مفتاح JSON خاصًا وانقله إلى موقع جغرافي يمكن الوصول إليه من بيئة الإنشاء. احرص على الاحتفاظ بهذا الملف في مكان آمن، لأنّه يمنح إذن وصول المسؤول إلى App Distribution في مشروعك على Firebase.
  6. تخطَّ هذه الخطوة إذا أنشأت تطبيقك بعد 20 أيلول (سبتمبر) 2019: في "وحدة تحكّم واجهات Google API"، فعِّل واجهة برمجة التطبيقات Firebase App Distribution. عندما يُطلب منك ذلك، اختَر المشروع الذي يحمل الاسم نفسه الذي اخترته لمشروعك على 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 أو fastlane أو Gradle: اضبط متغيّر البيئة GOOGLE_APPLICATION_CREDENTIALS على مسار ملف JSON الخاص بالمفتاح الخاص:

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