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

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

c7a9160ef7b184c7.png 22e0b52f771c060d.png

ברוכים הבאים ל-Codelab בנושא שילוב SDK של הפצת אפליקציות ב-Firebase באפליקציית Android. ב-Codelab הזה תוסיפו את App Distribution Android SDK לאפליקציה כדי להציג התראות בתוך האפליקציה לבודקים כשגרסאות build חדשות זמינות להורדה. תלמדו איך להשתמש בהגדרה בסיסית ובהגדרה בהתאמה אישית כדי שהבודקים יוכלו להיכנס לחשבון ולקבל עדכונים. לאחר מכן, תדחפו גרסה חדשה ל-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 כדי להציג תיבת דו-שיח מוכנה מראש להפעלת התראות לבודקים שעדיין לא הפעילו התראות, ואז לבדוק אם יש גרסה חדשה. כדי להפעיל את ההתראות, הבודקים צריכים להיכנס לחשבון שיש לו גישה לאפליקציה בהפצת אפליקציות. כשמפעילים את ה-method, מתבצעת הרצף הבא:

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

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

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

אפשר לקרוא ל-updateIfNewReleaseAvailable() בכל שלב באפליקציה. לדוגמה, אפשר לקרוא ל-updateIfNewReleaseAvailable() במהלך ה-method 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 לבדיקת האפליקציה. אתם הבודקים הראשונים! פועלים לפי ההוראות שבקטע 'אישור ההזמנה' כדי להגדיר את עצמכם כבודקים במכשיר הבדיקה.

אישור ההזמנה

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

  1. במכשיר הבדיקה של Android, פותחים את האימייל שנשלח מהפצת אפליקציות ב-Firebase ומקישים על Get Started (תחילת העבודה).
  2. באפליקציית האינטרנט של הפצת אפליקציות ב-Firebase לבודקים שמופיעה, נכנסים לחשבון 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

התראות על גרסת build לבדיקה

  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. כל הכבוד!

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

מה נכלל

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

השלבים הבאים

מידע נוסף

יש לך שאלה?

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