במדריך הזה מוסבר איך להפעיל משוב מתוך האפליקציה באמצעות ה-Android SDK האופציונלי של Firebase App Distribution, כדי שהבודקים יוכלו לשלוח משוב (כולל צילומי מסך) ישירות באפליקציה.
לפני שמתחילים
אם עדיין לא הוספתם את Firebase לפרויקט Android, אתם צריכים להוסיף אותו.
שלב 1: מפעילים את App Distribution Tester API
פותחים את מסוף Google Cloud ובוחרים את הפרויקט ב-Firebase.
בקטע Firebase App Testers API, לוחצים על Enable.
שלב 2: מוסיפים את App Distribution לאפליקציה
Android SDK של App Distribution מורכב משתי ספריות:
-
firebase-appdistribution-api: הספרייה שכוללת רק את ה-API, שאפשר לכלול בכל וריאנט build. -
firebase-appdistribution: ההטמעה המלאה של ה-SDK (אופציונלי).
הספרייה שכוללת רק API מאפשרת לקוד שלכם לשלוח קריאות ל-SDK. לקריאות אין השפעה אם לא קיימת הטמעה מלאה של ה-SDK.
צריך להצהיר על התלות של Android SDK של App Distribution בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל מדובר בקובץ
<project>/<app-module>/build.gradle.ktsאו<project>/<app-module>/build.gradle).כדי להימנע מהכללת פונקציונליות העדכון העצמי של הטמעת ה-SDK המלאה בגרסאות ה-build של Google Play, צריך לזהות את וריאנט ה-build, כולל סוגי ה-build או גרסאות המוצר שיופצו דרך App Distribution.
צריך להצהיר על התלות של App Distribution Android SDK בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל מדובר בקובץ
app/build.gradle). צריך להוסיף את ההטמעה המלאה של ה-SDK רק לגרסאות שמיועדות לבדיקות טרום-השקה:Kotlin
dependencies { // ADD the API-only library to all variants implementation("com.google.firebase:firebase-appdistribution-api:16.0.0-beta21") // ADD the full SDK implementation to the "beta" variant only (example) betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta21") }
Java
dependencies { // ADD the API-only library to all variants implementation("com.google.firebase:firebase-appdistribution-api:16.0.0-beta21") // ADD the full SDK implementation to the "beta" variant only (example) betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta21") }
מחפשים מודול ספרייה ספציפי ל-Kotlin? החל מגרסת אוקטובר 2023, מפתחים ב-Kotlin וב-Java יכולים להסתמך על מודול הספרייה הראשי. פרטים נוספים זמינים בשאלות הנפוצות לגבי היוזמה הזו.
שלב 3: הגדרת משוב בתוך האפליקציה
כדי לאסוף משוב מהבודקים, אתם יכולים להשתמש באחד מהטריגרים הבאים כדי לאפשר לבודקים לשלוח משוב:
טריגר מובנה להתראות: ערכת ה-SDK של App Distribution ל-Android יכולה להציג התראה קבועה שהבודק יכול ללחוץ עליה מכל מקום באפליקציה. כדאי להשתמש בטריגר הזה אם רוצים להתחיל מהר יותר ולא צריך להתאים אישית את האופן שבו הבודקים מספקים משוב.
טריגר בהתאמה אישית: אתם יכולים לספק מנגנון טריגר משלכם, כמו לחיצה על כפתור או על פריט בתפריט באפליקציה, או ניעור המכשיר.
כשמשתמשים באחד מהטריגרים האלה והבודק שולח משוב, ה-Android SDK מבצע את הפעולות הבאות:
מצלם את המסך של הפעילות הנוכחית באפליקציה.
מריצה בדיקות כדי לוודא שהבודק הפעיל את תכונות הבדיקה של ה-SDK. אם תכונות הבדיקה לא מופעלות, ה-Android SDK יבקש מהבודק להיכנס ל-App Distribution באמצעות חשבון Google שלו.
הפונקציה הזו פותחת פעילות במסך מלא שמאפשרת לבודק לכתוב ולשלוח את המשוב שלו.
אפשרות 1: טריגר של התראה
אפשר להשתמש ב-showFeedbackNotification() כדי להציג התראה קבועה או מתמשכת במכשיר של הבודק, שהוא יכול ללחוץ עליה כדי לשלוח משוב. כשמגדירים את ההתראה, צריך לספק טקסט שיוצג לבודק לפני שהוא שולח משוב, ורמת הפרעה להתראה (בהתאם לחשיבות של ערוץ ההתראות). אם אתם רוצים להודיע לבודקים על האיסוף והעיבוד של נתוני המשוב שלהם, אתם יכולים להשתמש בטקסט כדי לספק הודעה כזו.
כשמשתמשים ב-showFeedbackNotification() והאפליקציה עוברת לרקע, ההתראה מוסתרת. כדי להסתיר את ההתראה באופן מפורש, צריך להשתמש ב-cancelFeedbackNotification(). מומלץ להוסיף את showFeedbackNotification() ל-onCreate() של הפעילות הראשית.
Kotlin
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: טריגר בהתאמה אישית
משתמשים ב-method startFeedback() כדי להתחיל משוב באמצעות מנגנון לבחירתכם. לדוגמה, כדי להפעיל משוב, אפשר להוסיף את האפשרות "שליחת משוב" לתפריט הפעולות של האפליקציה, או לאפשר לבודקים לנער את המכשיר או לצלם את המסך.
כשמפעילים את המשוב, צריך לספק טקסט שיוצג לבודק לפני שהוא שולח את המשוב. אם אתם רוצים להציג לבודקים הודעה על איסוף ועיבוד של נתוני המשוב שלהם, אתם יכולים להשתמש בטקסט הזה.
Kotlin
Firebase.appDistribution.startFeedback(R.string.feedbackMessage)
Java
FirebaseAppDistribution.getInstance().startFeedback(R.string.feedbackMessage);
שלב 4: יוצרים ובודקים את ההטמעה
בדיקה מקומית
כדי לבדוק את ההטמעה בלי להפיץ את האפליקציה קודם, פועלים לפי השלבים הבאים:
מפעילים את מצב הפיתוח במכשיר המקומי:
adb shell setprop debug.firebase.appdistro.devmode true
מפתחים את האפליקציה כגרסת טרום-השקה שכוללת את הספריות המלאות של App Distribution, ובודקים שאפשר להפעיל משוב באמצעות המנגנון שהוטמע בשלב 3: הגדרת משוב בתוך האפליקציה. המשוב לא נשלח במצב פיתוח.
אחרי הבדיקה, אתם יכולים להשבית את מצב הפיתוח במכשיר:
adb shell setprop debug.firebase.appdistro.devmode false
בדיקה מקצה לקצה
כדי לבדוק אם האפליקציה יכולה לשלוח משוב, צריך ליצור גרסת טרום-השקה של האפליקציה שכוללת את כל הספריות של App Distribution, ולבדוק את ההטמעה לפי השלבים הבאים:
מעלים גרסת אפליקציה חדשה אל App Distribution.
להפיץ את גרסת האפליקציה לחשבון שיש לכם הרשאת גישה אליו.
מורידים את האפליקציה דרך האתר של App Distribution או דרך אפליקציית הבודקים ל-Android.
שולחים משוב באמצעות המנגנון שהוטמע בשלב 3: הגדרת משוב באפליקציה.
מוודאים שאתם מחוברים לאותו חשבון שאליו הפצתם את גרסת האפליקציה, ושולחים משוב.
אפשר לראות את המשוב בכרטיס של הגרסה החדשה במסוף Firebase.
במאמר הפעלת תכונות בדיקה באמצעות ה-SDK מוסבר איך לפתור בעיות נפוצות, כמו בודקים שלא מצליחים להתחיל משוב באפליקציה.
שלב 5: ניהול המשוב מהבודקים
אחרי שמאפשרים לבודקים לשלוח משוב, אפשר להשתמש בכלים הבאים כדי לבדוק את המשוב ולפעול בהתאם:
הצגה ומחיקה של משוב במסוף Firebase
כדי לבדוק ולמחוק משוב ממשתמשים, כולל צילומי מסך, פותחים את הכרטיסייה משוב מהבודקים בגרסה ספציפית במסוף Firebase. המשוב מהמשתמשים מאורגן לפי גרסה, כדי שתוכלו לראות לאיזו גרסה המשוב מתייחס.
אחרי שבודקים את המשוב, אפשר למחוק אותו בלחיצה על הכפתור מחיקת המשוב. המשוב שנמחק יוסר מהגרסה.
קבלת התראות באימייל על משוב חדש
כדי לקבל מידע על משוב חדש מהבודקים, אתם יכולים לקבל התראות באימייל כשהבודקים שולחים משוב. ההתראה באימייל כוללת את המשוב הכתוב שהבודק סיפק וקישור לצילומי המסך שהוא שלח.
כדי לקבל התראות באימייל של App Distribution באמצעות מנגנון ברירת המחדל הזה, אתם צריכים את ההרשאה firebase.projects.update. התפקידים הבאים כוללים את ההרשאה הנדרשת הזו כברירת מחדל: אדמין ב-Firebase או בעלים או עורך של הפרויקט.
כברירת מחדל, כל חבר בפרויקט שיש לו את ההרשאות הנדרשות לקבלת התראות באימייל יקבל אימייל כשיישלח דוח משוב חדש. חברי הפרויקט יכולים לבטל את ההסכמה לקבלת ההתראות האלה באופן פרטני.
כדי להשבית את ההתראות באימייל, קראו את המאמר קבלת התראות מ-Firebase.
שליחת משוב חדש לכלים של צד שלישי
אתם יכולים גם לשלוח התראות של App Distribution לערוץ ההתראות המועדף על הצוות שלכם באמצעות Cloud Functions for Firebase. לדוגמה, אתם יכולים לכתוב פונקציה שמתעדת אירוע התראה על משוב חדש באפליקציה, ומפרסמת את פרטי ההתראה בשירות של צד שלישי כמו Discord, Slack או Jira.
כדי להגדיר יכולות מתקדמות של התראות באמצעות Cloud Functions for Firebase, מבצעים את השלבים הבאים:
הגדרת Cloud Functions for Firebase, שכוללת את המשימות הבאות:
מורידים את Node.js ו-npm.
מתקינים את ה-CLI של Firebase ונכנסים אליו.
מאתחלים את Cloud Functions for Firebase באמצעות ה-CLI של Firebase.
כותבים ופורסים פונקציה שמתעדת אירוע של התראת משוב בתוך האפליקציה מ-App Distribution ומטפלת במטען הייעודי (payload) של האירוע (לדוגמה, מפרסמת את פרטי ההתראה בהודעה ב-Discord).
בדוגמה הזו אפשר לראות פונקציה ששולחת משוב חדש ל-Jira.
כדי לקבל מידע על כל אירועי ההתראות שאפשר לתעד, קראו את מאמרי העזרה בנושא התראות ב-App Distribution.