איך לעדכן את הבודקים לגבי הגרסאות החדשות של האפליקציה באמצעות Firebase App Distribution Android SDK – Codelab

1. סקירה כללית

c7a9160ef7b184c7.png 22e0b52f771c060d.png

ברוכים הבאים לסדנת הקוד בנושא שילוב Firebase App Distribution SDK באפליקציית Android. ב-codelab הזה תוסיפו את App Distribution Android SDK לאפליקציה שלכם כדי להציג התראות בתוך האפליקציה לבודקים, כ שגרסאות build חדשות יהיו זמינות להורדה. תלמדו איך להשתמש בהגדרה בסיסית ובהגדרה בהתאמה אישית כדי שהבודקים יתחברו ויקבלו עדכונים. לאחר מכן, תדחפו גרסה חדשה ל-App Distribution ותפעילו התראה חדשה על בנייה ישירות באפליקציה.

מה תלמדו

  • איך משתמשים ב-App Distribution כדי להפיץ אפליקציה לפני ההשקה לבודקים
  • איך משלבים את App Distribution Android SDK באפליקציה
  • איך מתריעים לבוחנים כשגרסת טרום-השקה חדשה מוכנה להתקנה
  • איך מתאימים אישית את ה-SDK לצרכים שלכם בבדיקות

מה צריך

  • הגרסה האחרונה של Android Studio.
  • קוד לדוגמה.
  • מכשיר בדיקה עם Android מגרסה 4.4 ומעלה ו-Google Play Services מגרסה 9.8 ומעלה, או אמולטור עם Google Play Services מגרסה 9.8 ומעלה.
  • אם משתמשים במכשיר, צריך כבל חיבור.

איך תשתמשו במדריך הזה?

רק קוראים את המאמר קוראים את המאמר ומבצעים את התרגילים

איזה דירוג מגיע לדעתך לחוויית הפיתוח של אפליקציות ל-Android?

מתחילים ביניים מומחים

2. קבלת קוד לדוגמה

משכפלים את המאגר ב-GitHub משורת הפקודה.

$ git clone https://github.com/FirebaseExtended/codelab-appdistribution-android.git

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

3. ייבוא של אפליקציה למתחילים

ב-Android Studio, בוחרים את ספריית codelab-appdistribution-android/start ( android_studio_folder.png) מתוך ההורדה של קוד לדוגמה (File (קובץ) > Open (פתיחה) > …/codelab-appdistribution-android/start).

עכשיו פרויקט ההתחלה אמור להיות פתוח ב-Android Studio.

4. יצירה והגדרה של פרויקט Firebase

יצירת פרויקט חדש ב-Firebase

  1. נכנסים למסוף Firebase באמצעות חשבון Google.
  2. לוחצים על הלחצן ליצירת פרויקט חדש ומזינים שם לפרויקט (לדוגמה, App Distribution Codelab).
  3. לוחצים על המשך.
  4. אם מוצגת בקשה לעשות זאת, קוראים ומאשרים את התנאים של Firebase, ואז לוחצים על המשך.
  5. (אופציונלי) מפעילים את העזרה מבוססת-AI במסוף Firebase (שנקראת Gemini ב-Firebase).
  6. ב-codelab הזה לא צריך להשתמש ב-Google Analytics, ולכן משביתים את האפשרות Google Analytics.
  7. לוחצים על יצירת פרויקט, מחכים שהפרויקט יוקצה ולוחצים על המשך.

הוספת אפליקציה ל-Firebase

רושמים את האפליקציה ב-Firebase. משתמשים ב-com.google.firebase.appdistributioncodelab כשם החבילה.

הוספת קובץ google-services.json לאפליקציה

אחרי שמוסיפים את שם החבילה ובוחרים באפשרות Register (הרשמה), מבצעים את השלבים הבאים כדי להוסיף את הקובץ google-services.json לאפליקציה:

  1. לוחצים על הורדת google-services.json כדי לקבל את קובץ התצורה של Firebase Android.
  2. מעתיקים את הקובץ google-services.json לספרייה app בפרויקט.
  3. אחרי שהקובץ יורד, אפשר לדלג על השלבים הבאים שמוצגים במסוף (הם כבר בוצעו בשבילכם בפרויקט build-android-start).

עדכון מזהה האפליקציה כך שיתאים לאפליקציית Firebase

  1. בתפריט הימני (כרטיסיית Project), מוודאים שאתם בתצוגה Android, מאתרים את הכרטיסייה Gradle Scripts ופותחים את קובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל app/build.gradle.kts).
  2. משנים את הנכס applicationId כך שיתאים למזהה האפליקציה של אפליקציית Firebase. המזהה צריך להיות com.google.firebase.appdistributioncodelab

סנכרון הפרויקט עם קובצי Gradle

כדי לוודא שכל התלויות זמינות לאפליקציה, מסנכרנים את הפרויקט עם קובצי Gradle. לשם כך, בוחרים באפשרות File > Sync Project with Gradle Files (קובץ > סנכרון הפרויקט עם קובצי Gradle) מסרגל הכלים של Android Studio.

5. הגדרה של התראות על גרסאות build חדשות באפליקציה באמצעות App Distribution Android SDK

בשלב הזה מוסיפים את Firebase App Distribution Android SDK לאפליקציה ומציגים התראות בתוך האפליקציה לטסטרים כשגרסאות חדשות של האפליקציה זמינות להתקנה. כדי לעשות זאת, מוודאים שהפעלתם את Firebase App Testers API בפרויקט Firebase Codelab (במסוף Google Cloud). צריך להיכנס באמצעות אותו חשבון ולבחור את הפרויקט הנכון מהתפריט הנפתח בחלק העליון.

הגדרת התראות בתוך האפליקציה

ב-App Distribution Android SDK יש שתי דרכים להגדיר התראות על גרסאות build בתוך האפליקציה עבור הבודקים:

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

נתחיל בהגדרת התראות בסיסית. אפשר להשתמש ב- updateIfNewReleaseAvailable כדי להציג לבודקים שלא הפעילו עדיין את ההתראות תיבת דו-שיח מוכנה מראש להפעלת ההתראות, ואז לבדוק אם יש גרסת build חדשה. הבודקים מפעילים את ההתראות על ידי כניסה לחשבון שיש לו גישה לאפליקציה ב-App Distribution. כשמפעילים את ה-method, מתבצעת הרצף הבא:

  1. בודקת אם בודק הפעיל התראות. אם לא, מוצג דיאלוג מוכן מראש שמבקש מהבודקים להיכנס ל-App Distribution באמצעות חשבון Google שלהם.

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

  1. בודקת אם יש גרסאות חדשות שזמינות למשתתפי הבדיקה להתקנה.
  2. מוצגת התראה מוכנה מראש שמבקשת מהבודק להוריד את הגרסה האחרונה.
  3. בודקים את סוג ה-build החדש לפני שממשיכים בעדכון:
  4. אם הגרסה החדשה היא חבילת אפליקציה (AAB), המערכת מפנה את הבודק לחנות Play כדי להשלים את תהליך העדכון.
  5. אם הגרסה החדשה היא APK, ה-SDK מוריד את הגרסה החדשה ברקע ומציג למשתמש הודעה להתקנת הגרסה החדשה כשההורדה מסתיימת. ה-SDK שולח למשתמש הודעות על התקדמות ההורדה באמצעות NotificationManager. אפשר להוסיף אינדיקטור התקדמות משלכם על ידי צירוף של handler‏ onProgressUpdate למשימה updateIfNewReleaseAvailable.

אפשר להפעיל את updateIfNewReleaseAvailable()בכל שלב באפליקציה. לדוגמה, אפשר להפעיל את updateIfNewReleaseAvailable() במהלך השיטה onResume() של MainActivity:

פותחים את MainActivity.kt ויוצרים את ה-method‏ onResume() כך:

MainActivity.kt

override fun onResume() {
    super.onResume()
    checkForUpdate()
}

עכשיו נטמיע את ה-method‏ checkForUpdate().

MainActivity.kt

   private fun checkForUpdate() {
        firebaseAppDistribution.updateIfNewReleaseAvailable()
            .addOnProgressListener { updateProgress ->
                // (Optional) Implement custom progress updates in addition to
                // automatic NotificationManager updates.
            }
            .addOnFailureListener { e ->
                if (e is FirebaseAppDistributionException) {
                    // Handle exception.
                }
            }
    }

6. יצירת האפליקציה והזמנת בודקים להוריד אותה

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

פיתוח האפליקציה

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

הפצת האפליקציה לבודקים

כדי להפיץ את האפליקציה לבודקים, מעלים את קובץ ה-APK באמצעות מסוף Firebase:

  1. פותחים את הדף 'הפצת אפליקציות' במסוף Firebase. כשמוצגת בקשה, בוחרים את הפרויקט ב-Firebase.
  2. בדף 'מהדורות', בוחרים את האפליקציה שרוצים להפיץ מהתפריט הנפתח.

623460c3c8a82ce6.png

  1. לוחצים על קדימה, מתחילים.

bf503b25066ff4a4.png

  1. גוררים את קובץ ה-APK של האפליקציה אל המסוף כדי להעלות אותו.
  2. אחרי שההעלאה מסתיימת, מציינים את קבוצות הבודקים ואת הבודקים האישיים שרוצים שיקבלו את הגרסה. (צריך להוסיף את כתובת האימייל כדי לקבל את ההזמנה). אחר כך מוסיפים נתוני גרסה ל-build. במאמר הוספה והסרה של בודקים מוסבר איך ליצור קבוצות בודקים.

3343048f0930e84b.png

  1. לוחצים על הפצה כדי להפוך את הגרסה לזמינה לבודקים.

2be58fe195928bf9.png

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

9935a41810344c61.png

מכיוון שציינת את כתובת האימייל שלך, תקבלו הזמנה מ-Firebase App Distribution לבדיקת האפליקציה. אתם הבודקים הראשונים! פועלים לפי ההוראות שבקטע 'אישור ההזמנה' כדי להגדיר את עצמכם כבודקים במכשיר הבדיקה.

אישור ההזמנה

קודם צריך לאשר את ההזמנה להורדה ולבדיקה של הגרסה.

  1. במכשיר הבדיקה של Android, פותחים את האימייל שנשלח מ-Firebase App Distribution ומקישים על Get Started (תחילת העבודה).
  2. באפליקציית האינטרנט של Firebase App Distribution לבודקים שמופיעה, נכנסים לחשבון Google ומקישים על אישור ההזמנה. עכשיו אפשר לראות את הגרסה שהוזמנתם לבדוק.

c18cb684f8e82ad6.png

הורדת הגרסה ממכשיר הבדיקה

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

5414d9a536f25ece.png

  1. מקישים על הורדה, ואז מתקינים את האפליקציה ומפעילים אותה.
  2. כשהאפליקציה מופעלת, היא מבקשת להפעיל התראות על גרסאות חדשות. מקישים על הפעלה.

b059e09acaa4779f.png

  1. נכנסים באמצעות חשבון הבודק.

22e0b52f771c060d.png

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

c9f33df16a2680d.png

הפצת עדכון לבודקים

  1. מעדכנים את הערך של versionName ל-1.1 ואת הערך של versionCode ל-2 בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל מדובר בקובץ app/build.gradle).
  2. יוצרים את קובץ ה-APK בתהליך הרגיל. חובה לחתום על ה-APK באמצעות מפתח ניפוי הבאגים או מפתח חתימת האפליקציה.
  3. מעלים את קובץ ה-APK החדש במסוף Firebase, מוסיפים שוב את כתובת האימייל שלכם כבודקים ולוחצים על הפצה.

2dfa702edfdce6b8.png

התרעות על בדיקת בנייה

  1. אם האפליקציה פתוחה, צריך לסגור אותה.
  2. מפעילים מחדש את האפליקציה.
  3. כשהאפליקציה מופעלת מחדש, מוצגת ההתראה 'גרסה חדשה זמינה'.

987e3d0ba4e56f84.png

  1. כדי לקבל את הגרסה העדכנית, לוחצים על עדכון.
  2. אם מוצגת בקשה, בוחרים באפשרות להפעלת התקנות ממקורות לא מוכרים.
  3. במסך הבא, לוחצים על התקנה (או על עדכון).

a7c7cd15d60bc764.png

  1. כל הכבוד! הצלחת לעדכן את האפליקציה באמצעות ההתראות המובנות.

7. התאמה אישית של תהליך הכניסה של הבודקים

השיטות signInTester/signOutTester ו-isTesterSignedIn מאפשרות לכם להתאים אישית את חוויית הכניסה של הבודקים בצורה גמישה יותר, כך שהיא תתאים יותר למראה ולתחושה של האפליקציה.

בדוגמה הבאה נבדק אם הבוחן כבר נכנס לחשבון הבוחן שלו ב-Firebase App Distribution, כך שתוכלו לבחור להציג את ממשק המשתמש של הכניסה רק לבוחנים שעדיין לא נכנסו. אחרי שהבודק נכנס לחשבון, אפשר להתקשר אל checkForUpdate כדי לבדוק אם לבודק יש גישה לגרסה חדשה.

כדי להשבית את הבדיקה האוטומטית של עדכונים ב-onResume, מוסיפים הערה לקריאה checkForUpdate().

MainActivity.kt

override fun onResume() {
        super.onResume()
        //checkForupdate()
    }

במקום זאת, הפונקציה checkForUpdate()‎ כבר נוספה ל-OnClickListener של updatebutton.

עכשיו נטמיע את השיטה signIn(), שתחבר את המשתמש לחשבון אם הוא לא מחובר, או תנתק אותו מהחשבון אם הוא כבר מחובר.

MainActivity.kt

    private fun signIn() {
        if (isTesterSignedIn()) {
            firebaseAppDistribution.signOutTester()
            configureUpdateButton()
            configureSigninButton()
        } else {
            firebaseAppDistribution.signInTester()
        }
    }

לבסוף, מטמיעים את ה-method‏ isTesterSignedIn.

MainActivity.kt

    private fun isTesterSignedIn() : Boolean {
        return firebaseAppDistribution.isTesterSignedIn
    }

איך יוצרים את ההטמעה ובודקים אותה

8. כל הכבוד!

הטמעתם את התכונה 'הצגת התראות בתוך האפליקציה' באפליקציה באמצעות Firebase App Distribution Android SDK.

מה נכלל

  • הפצת אפליקציות ב-Firebase
  • Firebase App Distribution New Alerts Android SDK

השלבים הבאים

מידע נוסף

יש לך שאלה?

דיווח על בעיות