Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

הפצת אפליקציות אנדרואיד לבודקים באמצעות Gradle

קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.

אתה יכול לשלב את הפצת אפליקציות בתהליך הבנייה שלך באנדרואיד באמצעות הפלאגין App Distribution Gradle. הפלאגין מאפשר לך לציין את הבודקים ואת הערות ההפצה שלך בקובץ build.gradle של האפליקציה שלך, ומאפשר לך להגדיר הפצות עבור סוגי build וגרסאות שונות של האפליקציה שלך.

מדריך זה מתאר כיצד להפיץ חבילות של Android App Bundles (AABs) לבודקים באמצעות הפלאגין App Distribution Gradle.

הפצת אפליקציות משתלבת עם שירות שיתוף האפליקציות הפנימי של Google Play כדי לעבד את ה-AABs שאתה מעלה ולהגיש חבילות APK המותאמות לתצורות המכשירים של הבודקים שלך. הפצת AABs מאפשרת לך לבצע את הפעולות הבאות:

  • הפעל חבילות APK מותאמות (מוגשות על ידי Google Play) המותאמות למכשירים של הבודקים שלך.

  • חשוף וניפוי באגים של בעיות ספציפיות למכשיר.

  • בדוק תכונות של חבילת אפליקציות כמו הצגת תכונות Play ו- Play Asset Delivery .

  • צמצם את גודל ההורדות עבור הבודקים שלך.

הרשאות נדרשות

כדי להעלות AABs להפצת אפליקציות, עליך לקשר את אפליקציית Firebase שלך ​​לאפליקציה ב-Google Play . עליך להיות בעל רמת הגישה הנדרשת כדי לבצע פעולות אלה.

אם אין לך את הגישה הדרושה ל-Firebase, תוכל לבקש מבעל פרויקט Firebase להקצות לך את התפקיד הרלוונטי דרך הגדרות IAM של קונסולת Firebase . אם יש לך שאלות לגבי גישה לפרויקט Firebase שלך, כולל איתור או הקצאת בעלים, עיין בשאלות הנפוצות של "הרשאות וגישה לפרויקטים של Firebase" .

הטבלה הבאה חלה על קישור אפליקציית Firebase לאפליקציה ב-Google Play, כמו גם העלאת AABs.

פעולה במסוף Firebase נדרשת הרשאת IAM תפקידי IAM הכוללים הרשאות נדרשות כברירת מחדל תפקידים נדרשים נוספים
קשר אפליקציית Firebase לאפליקציה ב-Google Play firebase.playLinks.update אחד מהתפקידים הבאים: גישה לחשבון מפתח ב-Google Play כמנהל מערכת
העלה AABs להפצת אפליקציות firebaseappdistro.releases.update אחד מהתפקידים הבאים: ––

לפני שאתה מתחיל

  1. אם עדיין לא עשית זאת, הוסף את Firebase לפרויקט Android שלך . בסוף זרימת העבודה הזו, תהיה לך אפליקציית Firebase Android בפרויקט Firebase שלך.

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

  2. כדי ליצור קישור Firebase ל-Google Play ולהעלות AABs, ודא שהאפליקציה שלך עומדת בדרישות הבאות:

    • האפליקציה ב-Google Play ואפליקציית Firebase Android רשומות שניהם באותו שם חבילה.

    • האפליקציה ב-Google Play מוגדרת בלוח המחוונים של האפליקציה ומופצת לאחד ממסלולי Google Play (בדיקות פנימיות, בדיקות סגורות, בדיקות פתוחות או הפקה).

    • סקירת האפליקציה ב-Google Play הושלמה והאפליקציה פורסמה. האפליקציה שלך מתפרסמת אם עמודת סטטוס האפליקציה מציגה את אחד מהסטטוסים הבאים: בדיקה פנימית (לא טיוטה בדיקה פנימית), בדיקה סגורה, בדיקה פתוחה או הפקה.

  3. קשר את אפליקציית Firebase Android שלך לחשבון המפתח שלך ב-Google Play:

    1. במסוף Firebase, עבור אל ההגדרות שלך פרויקט ולאחר מכן בחר בכרטיסייה אינטגרציות .

    2. בכרטיס Google Play , לחץ על קישור .
      אם כבר יש לך קישורים ל-Google Play, לחץ על נהל במקום זאת.

    3. עקוב אחר ההוראות שעל המסך כדי להפעיל את שילוב הפצת האפליקציות ובחר אילו אפליקציות Firebase Android לקשר ל-Google Play.

    למידע נוסף על קישור ל-Google Play .

שלב 1. הגדר את פרויקט האנדרואיד שלך

  1. בקובץ Gradle ברמת השורש (ברמת הפרויקט) ( <project>/build.gradle או <project>/build.gradle.kts ), הוסף את הפלאגין App Distribution Gradle כתלות ב-buildscript:

    קִצבִּי

    buildscript {
      repositories {
        // Make sure that you have the following two repositories
        google()  // Google's Maven repository
        mavenCentral()  // Maven Central repository
      }
    
      dependencies {
          ...
          classpath 'com.android.tools.build:gradle:7.2.0'
    
          // Make sure that you have the Google services Gradle plugin dependency
          classpath 'com.google.gms:google-services:4.3.14'
    
          // Add the dependency for the App Distribution Gradle plugin
          classpath 'com.google.firebase:firebase-appdistribution-gradle:3.1.1'
      }
    }
    

    קוטלין

    buildscript {
      repositories {
        // Make sure that you have the following two repositories
        google()  // Google's Maven repository
        mavenCentral()  // Maven Central repository
      }
    
      dependencies {
          ...
          classpath("com.android.tools.build:gradle:7.2.0")
    
          // Make sure that you have the Google services Gradle plugin dependency
          classpath("com.google.gms:google-services:4.3.14")
    
          // Add the dependency for the App Distribution Gradle plugin
          classpath("com.google.firebase:firebase-appdistribution-gradle:3.1.1")
      }
    }
    
  2. בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל <project>/<app-module>/build.gradle או <project>/<app-module>/build.gradle.kts ), הוסף את הפלאגין App Distribution Gradle:

    קִצבִּי

    plugins {
      id 'com.android.application'
    
      // Make sure that you have the Google services Gradle plugin
      id 'com.google.gms.google-services'
    
      // Add the App Distribution Gradle plugin
      id 'com.google.firebase.appdistribution'
    }
    

    קוטלין

    plugins {
      id("com.android.application")
    
      // Make sure that you have the Google services Gradle plugin
      id("com.google.gms.google-services")
    
      // Add the App Distribution Gradle plugin
      id("com.google.firebase.appdistribution")
    }
    
  3. אם אתה מאחורי פרוקסי או חומת אש ארגונית, הוסף את מאפיין מערכת Java הבא שמאפשר להפצת אפליקציות להעלות את ההפצות שלך ל-Firebase:

    -Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
    

שלב 2. אימות באמצעות Firebase

לפני שתוכל להשתמש בתוסף Gradle, תחילה עליך לבצע אימות עם פרויקט Firebase שלך ​​באחת מהדרכים הבאות. כברירת מחדל, הפלאגין Gradle מחפש אישורים מה-CLI של Firebase אם לא נעשה שימוש בשיטת אימות אחרת.

שלב 3. הגדר את מאפייני ההפצה שלך

בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל <project>/<app-module>/build.gradle או <project>/<app-module>/build.gradle.kts ), הגדר את הפצת אפליקציות על ידי הוספת לפחות סעיף firebaseAppDistribution אחד.

לדוגמה, כדי להפיץ את בניית release לבודקים, בצע את ההוראות הבאות:

קִצבִּי

android {

  // ...

  buildTypes {
      release {
          firebaseAppDistribution {
              artifactType="AAB"
              releaseNotesFile="/path/to/releasenotes.txt"
              testers="ali@example.com, bri@example.com, cal@example.com"
          }
      }
  }

  // ...
}

קוטלין

import com.google.firebase.appdistribution.gradle.firebaseAppDistribution

android {

  // ...

  buildTypes {
      release {
          firebaseAppDistribution {
              artifactType = "AAB"
              releaseNotesFile = "/path/to/releasenotes.txt"
              testers = "ali@example.com, bri@example.com, cal@example.com"
          }
      }
  }

  // ...
}

אתה יכול להגדיר את הפצת אפליקציות עבור סוגי בנייה וטעמים של מוצרים .

לדוגמה, כדי להפיץ debug והפצה בטעמי מוצר "הדגמה" release ", בצע את ההוראות הבאות:

קִצבִּי

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"
          }
      }
  }

  // ...
}

קוטלין

import com.google.firebase.appdistribution.gradle.firebaseAppDistribution

android {

  // ...

  buildTypes {
      getByName("debug") {...}
      getByName("release") {...}
  }

  flavorDimensions += "version"
  productFlavors {
      create("demo") {
          dimension = "version"
          firebaseAppDistribution {
              releaseNotes = "Release notes for demo version"
              testers = "demo@testers.com"
          }
      }
      create("full") {
          dimension = "version"
          firebaseAppDistribution {
              releaseNotes = "Release notes for full version"
              testers = "full@testers.com"
          }
      }
  }

  // ...
}

השתמש בפרמטרים הבאים כדי להגדיר את ההפצה:

פרמטרי בניית הפצת אפליקציות
appId

מזהה האפליקציה של האפליקציה שלך ב-Firebase. נדרש רק אם התוסף של Google Services Gradle לא מותקן אצלך. אתה יכול למצוא את מזהה האפליקציה בקובץ google-services.json או במסוף Firebase בדף ההגדרות הכלליות . הערך בקובץ build.gradle שלך ​​עוקף את פלט הערך מהפלאגין של google-services .

appId="1:1234567890:android:321abc456def7890"
serviceCredentialsFile

הנתיב לקובץ JSON המפתח הפרטי של חשבון השירות שלך. נדרש רק אם אתה משתמש באימות חשבון שירות.

artifactType

מציין את סוג הקובץ של האפליקציה שלך. ניתן להגדיר ל- "AAB" או "APK" .

artifactPath

נתיב מוחלט לקובץ APK או AAB שברצונך להעלות.

releaseNotes או releaseNotesFile

הערות גרסה עבור המבנה הזה.

אתה יכול לציין את הערות השחרור ישירות או את הנתיב לקובץ טקסט רגיל.

testers או testersFile

כתובות הדוא"ל של הבודקים שאליהם ברצונך להפיץ builds.

אתה יכול לציין את הבודקים כרשימה מופרדת בפסיקים של כתובות דוא"ל:

testers="ali@example.com, bri@example.com, cal@example.com"

לחלופין, אתה יכול לציין את הנתיב לקובץ המכיל רשימה מופרדת בפסיקים של כתובות דוא"ל:

testersFile="/path/to/testers.txt"
groups או קבוצות groupsFile

קבוצות הבודקים שאליהן ברצונך להפיץ את ה-builds (ראה ניהול בודקים ). קבוצות מוגדרות באמצעות כינויים קבוצתיים , שתוכל למצוא בכרטיסייה Testers במסוף Firebase App Distribution.

אתה יכול לציין את הקבוצות כרשימה מופרדת בפסיקים של כינויים של קבוצות:

groups="qa-team, android-testers"

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

groupsFile="/path/to/tester-groups.txt"
stacktrace

מדפיס את ה-stacktrace עבור חריגים של משתמשים. זה מועיל בעת איתור באגים.

שלב 4. הפץ את האפליקציה שלך לבודקים

  1. לבסוף, כדי לארוז את אפליקציית הבדיקה שלך ולהזמין בודקים, בנה את היעדים BUILD-VARIANT ו- appDistributionUpload BUILD-VARIANT עם מעטפת Gradle של הפרויקט שלך, כאשר BUILD-VARIANT הוא טעם המוצר וסוג הבנייה האופציונליים שהגדרת בשלב הקודם. למידע נוסף על טעמי מוצר, ראה הגדרת גרסאות בנייה .

    לדוגמה, כדי להפיץ את האפליקציה שלך באמצעות גרסת ה- release build, הפעל את הפקודה הבאה:

    ./gradlew bundleRelease appDistributionUploadRelease
    

    לחלופין, אם ביצעת אימות עם חשבון Google שלך ​​ולא סיפקת אישורים בקובץ ה-Build של Gradle, כלול את המשתנה FIREBASE_TOKEN :

    export FIREBASE_TOKEN=1/a1b2c3d4e5f67890
    ./gradlew --stop // Only needed for environment variable changes
    ./gradlew bundleRelease appDistributionUploadRelease
    
  2. אתה יכול גם לעקוף את הערכים שהוגדרו בקובץ build.gradle שלך ​​על ידי העברת ארגומנטים של שורת הפקודה בצורה של --<property-name>=<property-value> . לדוגמה:

    • כדי להעלות בניית ניפוי באגים להפצת אפליקציות:

      ./gradlew bundleDebug appDistributionUploadDebug
          --artifactType="AAB"
      
    • כדי להזמין בודקים נוספים או להסיר בודקים קיימים מפרויקט 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 : מספר הפרויקט שלך ב-Firebase.

    • serviceCredentialsFile : הנתיב לקובץ האישורים של שירות Google שלך. זהו אותו ארגומנט המשמש את פעולת ההעלאה.

לאחר שתפיץ את ה-build שלך, הוא הופך זמין בלוח המחוונים של הפצת אפליקציות של מסוף Firebase למשך 150 ימים (חמישה חודשים). כאשר ה-build הוא 30 יום מתאריך התפוגה, הודעת תפוגה מופיעה הן במסוף והן ברשימת ה-builds של הבוחן שלך במכשיר הבדיקה שלו.

בודקים שלא הוזמנו לבדוק את האפליקציה מקבלים הזמנות בדוא"ל כדי להתחיל, ובודקים קיימים מקבלים הודעות דוא"ל על כך שמבנה חדש מוכן לבדיקה (קרא את מדריך הגדרת הבוחן לקבלת הוראות כיצד להתקין את אפליקציית הבדיקה). אתה יכול לעקוב אחר הסטטוס של כל בודק - האם הוא קיבל את ההזמנה והאם הוא הוריד את האפליקציה - במסוף Firebase.

לבודקים יש 30 יום לקבל הזמנה לבדוק את האפליקציה לפני שתפוגה. כאשר הזמנה עוברת 5 ימים מתאריך התפוגה, הודעת תפוגה מופיעה במסוף Firebase ליד הבוחן בגרסה. ניתן לחדש הזמנה על ידי שליחתה מחדש באמצעות התפריט הנפתח בשורת הבוחן.

הצעדים הבאים