אימות באמצעות חשבון שירות


חשבונות שירות שימושיים להגדרת App Distribution בסביבת CI. אימות באמצעות חשבון שירות מאפשר להשתמש בספריות לקוח (למשל, ה-CLI של Firebase,‏ Gradle ו-fastlane) כדי להפיץ את הגרסאות הבנויות. כשמשתמשים בחשבון שירות לצורך אימות, מערכת Firebase משתמשת ב-Application Default Credentials (ADC) כדי לאתר את פרטי הכניסה של האפליקציה. אפשר לספק את פרטי הכניסה על ידי הגדרת משתנה הסביבה GOOGLE_APPLICATION_CREDENTIALS או על ידי הצבעה על הנתיב של המפתח לחשבון השירות בקוד של האפליקציה.

  1. פותחים את מסוף Google Cloud ובוחרים את הפרויקט.
  2. לוחצים על Create Service Account ומזינים את פרטי חשבון השירות.
  3. לוחצים על יצירה והמשך.
  4. מוסיפים את התפקיד Firebase App Distribution אדמין ולוחצים על סיום.
  5. יוצרים מפתח JSON פרטי ומעבירים אותו למיקום שגלוי לסביבת ה-build. חשוב לשמור את הקובץ הזה במקום בטוח, כי הוא מעניק הרשאת אדמין ל-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"
                  }
              }
          }
      
          // ...
      
      }
      

      לחלופין, תוכלו לספק את פרטי הכניסה לקוד של האפליקציה לפי השלבים שבהמשך.

    • ב-CLI של Firebase, ב-fastlane או ב-Gradle: מגדירים את משתנה הסביבה GOOGLE_APPLICATION_CREDENTIALS לנתיב של קובץ ה-JSON של המפתח הפרטי:

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