אתה יכול לשלב את הפצת אפליקציות בתהליך הבנייה שלך באנדרואיד באמצעות הפלאגין App Distribution Gradle. הפלאגין מאפשר לך לציין את הבודקים ואת הערות השחרור שלך בקובץ 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 | אחד מהתפקידים הבאים: | –– |
לפני שאתה מתחיל
אם עדיין לא עשית זאת, הוסף את Firebase לפרויקט Android שלך . בסוף זרימת העבודה הזו, תהיה לך אפליקציית Firebase Android בפרויקט Firebase שלך.
אם אינך משתמש במוצרי Firebase אחרים, עליך רק ליצור פרויקט ולרשום את האפליקציה שלך. אם תחליט להשתמש במוצרים נוספים, הקפד להשלים את כל השלבים בהוספת Firebase לפרויקט Android שלך .
כדי ליצור קישור Firebase ל-Google Play ולהעלות AABs, ודא שהאפליקציה שלך עומדת בדרישות הבאות:
האפליקציה ב-Google Play ואפליקציית Firebase Android רשומות שניהם באותו שם חבילה.
האפליקציה ב-Google Play מוגדרת בלוח המחוונים של האפליקציה ומופצת לאחד ממסלולי Google Play (בדיקות פנימיות, בדיקות סגורות, בדיקות פתוחות או הפקה).
סקירת האפליקציה ב-Google Play הושלמה והאפליקציה פורסמה. האפליקציה שלך מתפרסמת אם עמודת סטטוס האפליקציה מציגה את אחד מהסטטוסים הבאים: בדיקה פנימית (לא טיוטה בדיקה פנימית), בדיקה סגורה, בדיקה פתוחה או הפקה.
קשר את אפליקציית Firebase Android שלך לחשבון המפתח שלך ב-Google Play:
במסוף Firebase, עבור אל
שלך הגדרות פרויקט ולאחר מכן בחר בכרטיסייה אינטגרציות .בכרטיס Google Play , לחץ על קישור .
אם כבר יש לך קישורים ל-Google Play, לחץ על נהל במקום זאת.עקוב אחר ההוראות שעל המסך כדי להפעיל את שילוב הפצת האפליקציות ובחר אילו אפליקציות Firebase Android לקשר ל-Google Play.
למידע נוסף על קישור ל-Google Play .
שלב 1. הגדר את פרויקט האנדרואיד שלך
בקובץ Gradle ברמת השורש (ברמת הפרויקט) (
<project>/build.gradle.kts
או<project>/build.gradle
), הוסף את הפלאגין App Distribution Gradle כתלות:Kotlin
plugins { // ... id("com.android.application") version "7.2.0" apply false // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.3.15" apply false // Add the dependency for the App Distribution Gradle plugin id("com.google.firebase.appdistribution") version "4.0.0" apply false }
Groovy
plugins { // ... id 'com.android.application' version '7.2.0' apply false // Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version '4.3.15' apply false // Add the dependency for the App Distribution Gradle plugin id 'com.google.firebase.appdistribution' version '4.0.0' apply false }
בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל
<project>/<app-module>/build.gradle.kts
או<project>/<app-module>/build.gradle
), הוסף את הפלאגין App Distribution Gradle:Kotlin
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") }
Groovy
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' }
אם אתה מאחורי פרוקסי או חומת אש ארגונית, הוסף את מאפיין מערכת Java הבא שמאפשר להפצת אפליקציות להעלות את ההפצות שלך ל-Firebase:
-Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
שלב 2. אימות באמצעות Firebase
לפני שתוכל להשתמש בתוסף Gradle, תחילה עליך לבצע אימות עם פרויקט Firebase שלך באחת מהדרכים הבאות. כברירת מחדל, הפלאגין Gradle מחפש אישורים מה-CLI של Firebase אם לא נעשה שימוש בשיטת אימות אחרת.
אימות באמצעות חשבון שירות מאפשר לך להשתמש בפלאגין באופן גמיש עם מערכת האינטגרציה הרציפה שלך (CI). ישנן שתי דרכים לספק אישורי חשבון שירות:
- העבר את קובץ מפתח חשבון השירות שלך אל
build.gradle
. ייתכן שתמצא שיטה זו נוחה אם כבר יש לך קובץ מפתח של חשבון השירות שלך בסביבת הבנייה שלך. - הגדר את משתנה הסביבה
GOOGLE_APPLICATION_CREDENTIALS
כך שיצביע על קובץ מפתח חשבון השירות שלך. ייתכן שתעדיף שיטה זו אם כבר מוגדרת לך אישורי ברירת מחדל של יישומים (ADC) עבור שירות אחר של Google (למשל, Google Cloud).
כדי לאמת באמצעות אישורי חשבון שירות:
- ב- Google Cloud Console, בחר את הפרויקט שלך וצור חשבון שירות חדש.
- הוסף את תפקיד ה- Firebase App Distribution Admin .
- צור מפתח json פרטי והעבר את המפתח למיקום נגיש לסביבת הבנייה שלך. הקפד לשמור את הקובץ הזה במקום בטוח , מכיוון שהוא מעניק גישת מנהל להפצת אפליקציות בפרויקט Firebase שלך.
- דלג על שלב זה אם יצרת את האפליקציה שלך לאחר 20 בספטמבר, 2019: במסוף Google APIs, הפעל את Firebase App Distribution API. כשתתבקש, בחר את הפרויקט באותו שם כמו פרויקט Firebase שלך.
ספק או אתר את אישורי חשבון השירות שלך:
- כדי להעביר Gradle את מפתח חשבון השירות שלך, בקובץ
build.gradle
שלך, הגדר את המאפייןserviceCredentialsFile
לקובץ JSON המפתח הפרטי. כדי לאתר את האישורים שלך עם ADC, הגדר את משתנה הסביבה
GOOGLE_APPLICATION_CREDENTIALS
לנתיב של קובץ ה-JSON המפתח הפרטי. לדוגמה:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
למידע נוסף על אימות עם ADC, קרא מתן אישורים ליישום שלך.
- כדי להעביר Gradle את מפתח חשבון השירות שלך, בקובץ
ראה התחבר עם Firebase CLI לקבלת הוראות כיצד לאמת את הפרויקט שלך.
שלב 3. הגדר את מאפייני ההפצה שלך
בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל <project>/<app-module>/build.gradle.kts
או <project>/<app-module>/build.gradle
), הגדר את הפצת אפליקציות על ידי הוספת לפחות סעיף firebaseAppDistribution
אחד.
לדוגמה, כדי להפיץ את בניית release
לבודקים, בצע את ההוראות הבאות:
Kotlin
import com.google.firebase.appdistribution.gradle.firebaseAppDistribution android { // ... buildTypes { getByName("release") { firebaseAppDistribution { artifactType = "AAB" releaseNotesFile = "/path/to/releasenotes.txt" testers = "ali@example.com, bri@example.com, cal@example.com" } } } // ... }
Groovy
android { // ... buildTypes { release { firebaseAppDistribution { artifactType="AAB" releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
אתה יכול להגדיר את הפצת אפליקציות עבור סוגי בנייה וטעמים של מוצרים .
לדוגמה, כדי להפיץ רכיבי debug
release
בטעמי מוצר "הדגמה" ו"מלא", בצע את ההוראות הבאות:
Kotlin
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" } } } // ... }
Groovy
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" } } } // ... }
השתמש בפרמטרים הבאים כדי להגדיר את ההפצה:
פרמטרי בניית הפצת אפליקציות | |
---|---|
appId | מזהה האפליקציה של האפליקציה שלך ב-Firebase. נדרש רק אם התוסף של Google Services Gradle לא מותקן אצלך. אתה יכול למצוא את מזהה האפליקציה בקובץ appId="1:1234567890:android:321abc456def7890" |
serviceCredentialsFile | הנתיב לקובץ JSON המפתח הפרטי של חשבון השירות שלך. נדרש רק אם אתה משתמש באימות חשבון שירות. |
artifactType | מציין את סוג הקובץ של האפליקציה שלך. ניתן להגדיר ל- |
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 (ראה ניהול בודקים ). קבוצות מוגדרות באמצעות אתה יכול לציין את הקבוצות כרשימה מופרדת בפסיקים של כינויים של קבוצות: groups="qa-team, android-testers" לחלופין, אתה יכול לציין את הנתיב לקובץ המכיל רשימה מופרדת בפסיקים של כינויים קבוצתיים: groupsFile="/path/to/tester-groups.txt" |
stacktrace | מדפיס את ה-stacktrace עבור חריגים של משתמשים. זה מועיל בעת איתור באגים. |
שלב 4. הפץ את האפליקציה שלך לבודקים
לבסוף, כדי לארוז את אפליקציית הבדיקה שלך ולהזמין בודקים, בנה את היעדים
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
אתה יכול גם לעקוף את הערכים שהוגדרו בקובץ
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 שלך. זהו אותו ארגומנט המשמש את פעולת ההעלאה.
התוסף Gradle מוציא את הקישורים הבאים לאחר העלאת הגרסה. קישורים אלה עוזרים לך לנהל קבצים בינאריים ולהבטיח שלבודקים ומפתחים אחרים יש את המהדורה הנכונה:
-
firebase_console_uri
- קישור למסוף Firebase המציג גרסה בודדת. אתה יכול לשתף את הקישור הזה עם מפתחים אחרים בארגון שלך. -
testing_uri
- קישור לגרסה בחוויית הבוחן (אפליקציה מקורית של אנדרואיד) המאפשרת לבודקים לצפות בהערות גרסה ולהתקין את האפליקציה במכשיר שלהם. הבוחן צריך גישה לגרסה כדי להשתמש בקישור. -
binary_download_uri
- קישור חתום שמוריד ומתקין ישירות את האפליקציה הבינארית (קובץ APK או AAB). הקישור יפוג לאחר שעה.
לאחר שתפיץ את ה-build שלך, הוא הופך זמין בלוח המחוונים של הפצת אפליקציות של מסוף Firebase למשך 150 ימים (חמישה חודשים). כאשר ה-build הוא 30 יום מתאריך התפוגה, הודעת תפוגה מופיעה הן במסוף והן ברשימת ה-builds של הבוחן שלך במכשיר הבדיקה שלו.
בודקים שלא הוזמנו לבדוק את האפליקציה מקבלים הזמנות בדוא"ל כדי להתחיל, ובודקים קיימים מקבלים הודעות דוא"ל על כך שמבנה חדש מוכן לבדיקה (קרא את המדריך להגדרת הבוחן לקבלת הוראות כיצד להתקין את אפליקציית הבדיקה). אתה יכול לעקוב אחר הסטטוס של כל בודק - האם הוא קיבל את ההזמנה והאם הוא הוריד את האפליקציה - במסוף Firebase.
לבודקים יש 30 יום לקבל הזמנה לבדוק את האפליקציה לפני שתפוגה. כאשר הזמנה עוברת 5 ימים מתאריך התפוגה, הודעת תפוגה מופיעה במסוף Firebase ליד הבוחן בגרסה. ניתן לחדש הזמנה על ידי שליחתה מחדש באמצעות התפריט הנפתח בשורת הבוחן.
הצעדים הבאים
הטמע משוב בתוך האפליקציה כדי להקל על הבודקים לשלוח משוב על האפליקציה שלך (כולל צילומי מסך).
למד כיצד להציג התראות בתוך האפליקציה לבודקים שלך כאשר ייצורים חדשים של האפליקציה שלך זמינים להתקנה.
בקר במעבדת הקוד של Android App Bundle כדי ללמוד כיצד להפיץ את גרסאות ה-App Bundle צעד אחר צעד.
למד שיטות עבודה מומלצות להפצת אפליקציות אנדרואיד לבודקי QA באמצעות CI/CD .