איסוף משוב מהבודקים

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

לפני שמתחילים

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

שלב 1: מפעילים את App Distribution Tester API

  1. פותחים את מסוף Google Cloud ובוחרים את פרויקט Firebase.

  2. בקטע Firebase App Testers API, לוחצים על Enable.

שלב 2: מוסיפים את App Distribution לאפליקציה

ערכת ה-SDK של Android‏ App Distribution מורכבת משתי ספריות:

  • firebase-appdistribution-api: הספרייה של ה-API בלבד, שאפשר לכלול בכל גרסאות ה-build.
  • firebase-appdistribution: ההטמעה המלאה של ה-SDK (אופציונלי).

הספרייה ל-API בלבד מאפשרת לקוד לבצע קריאות ל-SDK. אם ההטמעה המלאה של ה-SDK לא נמצאת, לא תהיה להן השפעה.

  1. מגדירים את התלות ב-App Distribution Android SDK בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל מדובר בקובץ <project>/<app-module>/build.gradle.kts או <project>/<app-module>/build.gradle).

  2. כדי לא לכלול את הפונקציונליות המלאה של העדכון האוטומטי של הטמעת ה-SDK בגרסאות ה-build של Google Play, צריך לזהות את וריאנטים של ה-build, כולל סוגי build או סוגים שונים של מוצרים, שתפיצו דרך App Distribution.

  3. מגדירים את התלות ב-App Distribution Android SDK בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל app/build.gradle). מוסיפים את ההטמעה המלאה של ה-SDK רק לגרסאות שמיועדות לבדיקה בלבד לפני השקת הגרסה הרשמית:

    Kotlin+KTX

    dependencies {
        // ADD the API-only library to all variants
        implementation("com.google.firebase:firebase-appdistribution-api-ktx:16.0.0-beta14")
    
        // ADD the full SDK implementation to the "beta" variant only (example)
        betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta14")
    }
    

    Java

    dependencies {
        // ADD the API-only library to all variants
        implementation("com.google.firebase:firebase-appdistribution-api:16.0.0-beta14")
    
        // ADD the full SDK implementation to the "beta" variant only (example)
        betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta14")
    }
    

שלב 3: הגדרת משוב מתוך האפליקציה

כדי לאסוף משוב מהבודקים, תוכלו להשתמש באחד מהטריגרים הבאים כדי לאפשר לבודקים לשלוח משוב:

  • טריגר מובנה להצגת התראות: App Distribution Android SDK יכול להציג התראה מתמשכת שהבודקים יכולים להקיש עליה מכל מקום באפליקציה. כדאי להשתמש בטריגר הזה אם אתם רוצים להתחיל מהר יותר ואתם לא צריכים להתאים אישית את האופן שבו הבודקים מספקים משוב.

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

כשמשתמשים באחד מהטריגרים האלה והבודק שולח משוב, ה-Android SDK מבצע את הפעולות הבאות:

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

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

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

אפשרות 1: טריגר להפעלת התראה

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

כשמשתמשים ב-showFeedbackNotification() והאפליקציה עוברת לרקע, ההתראה מוסתרת. כדי להסתיר את ההתראה באופן מפורש, משתמשים ב-cancelFeedbackNotification(). מומלץ להוסיף את showFeedbackNotification() ל-onCreate() של הפעילות הראשית.

Kotlin+KTX

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        Firebase.appDistribution.showFeedbackNotification(
            // Text providing notice to your testers about collection and
            // processing of their feedback data
            R.string.additionalFormText,
            // The level of interruption for the notification
            InterruptionLevel.HIGH)
    }
}

Java

public class MainActivity extends AppCompatActivity {
    FirebaseAppDistribution firebaseAppDistribution =
        FirebaseAppDistribution.getInstance();
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        firebaseAppDistribution.showFeedbackNotification(
            // Text providing notice to your testers about collection and
            // processing of their feedback data
            R.string.additionalFormText,
            // The level of interruption for the notification
            InterruptionLevel.HIGH);
    }
}

אפשרות 2: טריגר בהתאמה אישית

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

Kotlin+KTX

Firebase.appDistribution.startFeedback(R.string.feedbackMessage)

Java

FirebaseAppDistribution.getInstance().startFeedback(R.string.feedbackMessage);

שלב 4: פיתוח ובדיקה של ההטמעה

בדיקה מקומית

כדי לבדוק את ההטמעה בלי שתצטרכו לפרוס את האפליקציה קודם, תוכלו לפעול לפי השלבים הבאים:

  1. מפעילים את מצב הפיתוח במכשיר המקומי:

    adb shell setprop debug.firebase.appdistro.devmode true
    
  2. מפתחים את האפליקציה כגרסה של טרום-השקה שכוללת את כל הספריות של App Distribution, ובודקים אם אפשר להפעיל משוב באמצעות המנגנון שהטמעתם בשלב 3: הגדרת משוב מתוך האפליקציה. המשוב לא נשלח במצב פיתוח.

  3. אחרי הבדיקה, אפשר להשבית את מצב הפיתוח במכשיר:

    adb shell setprop debug.firebase.appdistro.devmode false
    

בדיקה מקצה לקצה

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

  1. מעלים גרסה חדשה של האפליקציה אל App Distribution.

  2. מפרסמים את הגרסה החדשה של האפליקציה בחשבון שיש לכם הרשאת גישה אליו.

  3. מורידים את האפליקציה דרך האתר של App Distribution או דרך אפליקציית הבדיקה ל-Android.

  4. מפעילים את שליחת המשוב באמצעות המנגנון שהטמעתם בשלב 3: הגדרת משוב בתוך האפליקציה.

  5. חשוב לוודא שאתם מחוברים לאותו חשבון שבו הפיץ את הגרסה החדשה של האפליקציה, ולשלוח משוב.

  6. אפשר לראות את המשוב בכרטיס של הגרסה החדשה במסוף Firebase.

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

שלב 5: ניהול המשוב מהבודקים

אחרי שתאפשרו למשתמשי הבדיקה לשלוח משוב, תוכלו להשתמש בכלים הבאים כדי לבדוק את המשוב ולפעול בהתאם:

הצגה ומחיקה של משוב במסוף Firebase

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

אחרי שבודקים את המשוב מהמשתמשים, אפשר למחוק אותו בלחיצה על הלחצן Delete feedback. המשוב שנמחק יוסר מהגרסה.

קבלת התראות באימייל על משוב חדש

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

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

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

במאמר קבלת התראות מ-Firebase מוסבר איך משביתים התראות באימייל.

שליחת משוב חדש לכלים של צד שלישי

אפשר גם לשלוח התראות App Distribution לערוץ ההתראות המועדף של הצוות באמצעות Cloud Functions for Firebase. לדוגמה, אפשר לכתוב פונקציה שמתעדת אירוע התראה על משוב חדש באפליקציה ומפרסמת את פרטי ההתראה בשירות של צד שלישי כמו Discord,‏ Slack או Jira.

כדי להגדיר יכולות מתקדמות של התראות באמצעות Cloud Functions for Firebase:

  1. הגדרת Cloud Functions for Firebase, שכוללת את המשימות הבאות:

    1. מורידים את Node.js ואת npm.

    2. מתקינים את ה-CLI של Firebase ונכנסים לחשבון.

    3. מאתחלים את Cloud Functions for Firebase באמצעות ה-CLI של Firebase.

  2. כותבים ופורסים פונקציה שמתעדת אירוע התראה על משוב באפליקציה מ-App Distribution ומטפלת בעומס הנתונים של האירוע (לדוגמה, מפרסמת את פרטי ההתראה בהודעה ב-Discord).

בדוגמה הזו מוסבר איך לשלוח משוב חדש ל-Jira.

מידע על כל אירועי ההתראות שאפשר לתעד זמין במסמכי העזרה של התראות App Distribution.