获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

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

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

מדריך זה מתאר כיצד להפיץ חבילות APK לבודקים באמצעות הפלאגין App Distribution Gradle.

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

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

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

שלב 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.15'
    
          // Add the dependency for the App Distribution Gradle plugin
          classpath 'com.google.firebase:firebase-appdistribution-gradle:3.2.0'
      }
    }
    

    קוטלין

    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.15")
    
          // Add the dependency for the App Distribution Gradle plugin
          classpath("com.google.firebase:firebase-appdistribution-gradle:3.2.0")
      }
    }
    
  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="APK"
              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 = "APK"
              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 assembleRelease appDistributionUploadRelease
    

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

    export FIREBASE_TOKEN=1/a1b2c3d4e5f67890
    ./gradlew --stop // Only needed for environment variable changes
    ./gradlew assembleRelease appDistributionUploadRelease
    
  2. אתה יכול גם לעקוף את הערכים שהוגדרו בקובץ 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 : מספר הפרויקט שלך ב-Firebase.

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

התוסף Gradle מוציא את הקישורים הבאים לאחר העלאת הגרסה. קישורים אלה עוזרים לך לנהל קבצים בינאריים ולהבטיח שלבודקים ומפתחים אחרים יש את המהדורה הנכונה:

  • firebase_console_uri - קישור למסוף Firebase המציג גרסה בודדת. אתה יכול לשתף את הקישור הזה עם מפתחים אחרים בארגון שלך.
  • testing_uri - קישור לגרסה בחוויית הבוחן (אפליקציה מקורית של אנדרואיד) המאפשרת לבודקים לצפות בהערות גרסה ולהתקין את האפליקציה במכשיר שלהם. הבוחן צריך גישה לגרסה כדי להשתמש בקישור.
  • binary_download_uri - קישור חתום שמוריד ומתקין ישירות את האפליקציה הבינארית (קובץ APK או AAB). הקישור יפוג לאחר שעה.

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

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

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

הצעדים הבאים