שליחת משוב על האפליקציות לספקי EMM

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

אפליקציות שמטרגטות ארגונים ארגוניים יכולות לשלוח משוב לספקי EMM בצורה של למצבי המפתח של האפליקציה. ל-EMM יש אפשרות להשתמש בממשקי API לאחזור נתונים על מצב המפתח של האפליקציה, שאותו הם יוכלו להציג במסוף ה-EMM שלהם. ערוץ התקשורת הזה מאפשרת לאדמינים ב-IT לקבל משוב על הסטטוס של האפליקציות שמותקנות ב- המכשירים שהם מנהלים.

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

הרכיבים של מצב מפתח של אפליקציה

מצב האפליקציה עם קידוד מורכב מהרכיבים הבאים:

  • מפתח: מזהה ייחודי של מצב האפליקציה. עד 100 תווים.
  • הודעה: הודעה אופציונלית שמתארת את מצב האפליקציה. מקסימום 1,000 תווים. הערה: בדרך כלל ההודעות צריכות להיות קצרות בהרבה מהמספר הזה.
  • נתונים: ערך אופציונלי לקריאה למחשבים שמיועדים לספקי EMM כדי לאפשר לאדמינים ב-IT כדי להגדיר התראות או מסננים לפי הערך. לדוגמה, מנהל ב-IT יכול מגדירים התראה אם שדה הנתונים battery_percentage < 10. מקסימום 1,000 תווים.
  • מידת החומרה: רמת החומרה של מצב האפליקציה. הערכים המותרים הם SEVERITY_ERROR ו-SEVERITY_INFO (ברירת מחדל). יש להגדיר את דרגת החומרה רק ל-SEVERITY_ERROR למצבים אמיתיים של שגיאות שהארגון צריך לנקוט פעולה כדי לתקן אותן.
  • חותמת זמן: כשמוגדר מצב של אפליקציה שמקושרת למפתח, היא נשלחת באופן אוטומטי עם חותמת זמן באלפיות השנייה מאז תאריך ההתחלה.

שליחת משוב על ההגדרות המנוהלות

אם האפליקציה תומכת בהגדרות מנוהלות, מומלץ לשלוח מצבי מפתח של אפליקציה כדרך לעדכן מנהלי IT של ההגדרות האישיות שהם הגדירו. תהליך העבודה לדוגמה הבא מתאר דרך אחת לעשות זאת.

מצבי מפתח באפליקציה להגדרות מנוהלות
  1. אדמינים ב-IT משתמשים במסוף ה-EMM כדי להגדיר הגדרות מנוהלות ולשלוח אותן אפליקציה שמותקנת במכשיר שמנוהל במלואו או בתוך פרופיל עבודה. למשל:
    • נפח: '50%'
    • מטבע: 'USDD'
  2. האפליקציה מנסה להחיל את ההגדרות האישיות. עוצמת הקול הוגדרה בהצלחה ל-50%, אבל קוד המטבע לא חוקי ולא ניתן להחיל אותו.
  3. על סמך הסטטוס של כל הגדרה, האפליקציה מגדירה מצב מַפְתח של האפליקציה. כל מצב אפליקציה שמקושר מכיל מפתח ייחודי והודעה עם פרטים . מומלץ להתאים את מפתח ההגדרה המנוהלת במידת האפשר. לדוגמה:
    מפתח הודעה מידת החומרה חותמת זמן
    volume הגדרה ל-50% SEVERITY_INFO 1554461130
    currency מטבע 'USDD' לא מזוהה SEVERITY_ERROR 1554461130
  4. ספק ה-EMM מאחזר את מצבי המפתח של האפליקציה שהוגדרו על ידי האפליקציה והמסכים במסוף ה-EMM שלו. לדוגמה:
    הגדרות אישיות סטטוס נדרשת פעולה שעה
    עוצמת הקול הגדרה ל-50% לא 5 באפריל 2019; 10:45:30
    מטבע שגיאה: מטבע 'USDD' לא מזוהה. כן 5 באפריל 2019; 10:45:30

    בנוסף, ספק ה-EMM צריך לסמן באופן מפורש כל מצב שמתקבל עם SEVERITY_ERROR לאדמין ב-IT. מנהלי IT יכולים לראות את המידע במסוף ה-EMM שלהם לנקוט פעולה כדי לתקן שגיאות בהגדרות שהן הגדירו.

דיווח על שגיאות שנפתרו

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

  • אותו מפתח בתור הודעת השגיאה הראשונית.
  • חוּמרה של SEVERITY_INFO, שמציין שהמצב לא במצב שגיאה לדרוש מהארגון לבצע פעולות נוספות.

הוספת תמיכה למצבי המפתח של האפליקציה

בשלבים הבאים מוסבר איך לשלב מצבי מפתח של האפליקציה באפליקציה.

שלב 1: מוסיפים את מאגר Maven של Google לקובץ settings.gradle

מוסיפים את מאגר Maven של Google כמיקום של מאגר בפרויקט settings.gradle כפי שמוצג בהמשך:

dependencyResolutionManagement {
  repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
  repositories {
       google()
  }
}

שלב 2: מוסיפים את ספריית המשוב הארגוני לקובץ build.gradle ברמת המודול

מוסיפים את יחסי התלות הבאים ברמת המודול build.gradle file:

dependencies {
    implementation 'androidx.enterprise:enterprise-feedback:1.0.0'
}

שלב 3: אחזור של מופע KeyedAppStatesReporter

בשיטה onCreate(), מקבלים ומאחסנים מופע של KeyedAppStatesReporter. כך ניתן ליצור ערוץ תקשורת בין האפליקציה שלך לספקי ה-EMM.

Kotlin

val reporter = KeyedAppStatesReporter.create(context)

Java

KeyedAppStatesReporter reporter = KeyedAppStatesReporter.create(context);

שלב 4: יוצרים אוסף של מצבי מפתח באפליקציה

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

  • אסור לכלול פרטים אישיים מזהים (PII) במדינה מסוימת. מצבים של אפליקציות מקודדות לא כוללים מתאים למידע אישי רגיש.
  • שמירת מצבי המפתחות של האפליקציה במגבלות שהוגדרו MAX_KEY_LENGTH MAX_MESSAGE_LENGTH, ו-MAX_DATA_LENGTH.
  • קריאה יחידה של setStates או setStatesImmediate מוגבלת ל-300KB בסך הכול (כ-1/3 מהסך הכולל שניתן לאחסן ביום). חריגה מהמגבלה תגרום להתנהגות לא מוגדרת.
  • יש להגדיר את חומרת המדינה רק כ- SEVERITY_ERROR אם קיים תנאי שארגון צריך לפעול כדי לתקן אותו.
  • כששולחים מצב אפליקציה שמכיל שגיאות, חשוב לשלוח גם לאחר תיקון השגיאות, כדי שה-EMM יוכל להפסיק לסמן את במסוף שלהם.
  • במצב ההמשך, משתמשים באותה key בתור את המצב הראשוני שהחזיר את השגיאה ומגדיר את חומרת השגיאה SEVERITY_INFO.

קטע הקוד הבא יוצר אוסף של מצבי מפתח באפליקציה:

Kotlin

    val states = hashSetOf(KeyedAppState.builder()
             .setKey("key")
             .setSeverity(KeyedAppState.SEVERITY_INFO)
             .setMessage("message")
             .setData("data")
             .build())
    

Java

    Collection states = new HashSet<>();
    states.add(KeyedAppState.builder()
     .setKey("key")
     .setSeverity(KeyedAppState.SEVERITY_INFO)
     .setMessage("message")
     .setData("data")
     .build());
    

שלב 5: מגדירים את מצבי המפתח של האפליקציה

setStates() השיטה שולחת באופן מיידי מצבי מפתח של האפליקציה לאפליקציית חנות Play (שם החבילה: com.android.vending), אם היא מותקנת במכשיר, וגם כל האדמינים של במכשיר או בפרופיל העבודה.

Kotlin

keyedAppStatesReporter.setStates(states)

Java

keyedAppStatesReporter.setStates(states);

בדיקת מצבי המפתח של האפליקציה

להוראות מפורטות לבדיקה, ראו בדיקת משוב על אפליקציה.