إرسال ملاحظات التطبيق إلى مجموعات "إدارة الخدمات الجوّالة للمؤسسات"

يقدِّم موفّرو خدمة إدارة الخدمات الجوّالة للمؤسسات (EMM) حلولاً للمؤسسات لإدارة أجهزة Android والتطبيقات المثبّتة عليها. تتوفّر هذه الحلول عادةً كوحدات تحكُّم على الويب يُطلق عليها اسم وحدات تحكُّم إدارة الخدمات الجوّالة للمؤسسات (EMM). وباستخدام وحدة تحكّم إدارة الخدمات الجوّالة للمؤسسات، ينفّذ مشرفو تكنولوجيا المعلومات مهام إدارة الأجهزة والتطبيقات نيابةً عن مؤسستهم.

يمكن للتطبيقات التي تستهدِف المؤسسات التعليمية إرسال الملاحظات إلى إدارة الخدمات الجوّالة للمؤسسات في شكل حالات التطبيق الرئيسية. تتاح واجهات برمجة التطبيقات لخدمات إدارة الخدمات الجوّالة للمؤسسات (EMM) لاسترداد بيانات حالة التطبيق المرتبطة بمفاتيح، والتي يمكن عرضها بعد ذلك في وحدة التحكم في إدارة الخدمات الجوّالة للمؤسسات (EMM). تتيح قناة الاتصال هذه لمشرفي تكنولوجيا المعلومات تلقّي الملاحظات حول حالة التطبيقات المثبّتة على الأجهزة التي يديرونها.

على سبيل المثال، يمكن لتطبيق برنامج البريد الإلكتروني استخدام حالات التطبيق المقسَّمة لتأكيد أنّه قد تم إعداد الحساب بنجاح، أو الإبلاغ عند حدوث أخطاء في المزامنة، أو إرسال أي تعديلات أخرى للحالة يعتبرها مطوِّر التطبيق مناسبة.

مكونات حالة التطبيق المرتبطة بمفتاح

تتألف حالة التطبيق المرتبطة بمفتاح مما يلي:

  • المفتاح: المعرّف الفريد لحالة التطبيق. الحد الأقصى لعدد الأحرف هو 100 حرف.
  • الرسالة: رسالة اختيارية تصف حالة التطبيق. الحد الأقصى لعدد الأحرف هو 1,000 حرف. ملاحظة: يجب أن تكون الرسائل في العادة أقصر من ذلك بكثير.
  • البيانات: قيمة اختيارية قابلة للقراءة آليًا ومصمَّمة لإدارة الخدمات الجوّالة للمؤسسات (EMM) للسماح لمشرفي تكنولوجيا المعلومات بإعداد التنبيهات أو الفلاتر استنادًا إلى القيمة. على سبيل المثال، يمكن لمشرف تكنولوجيا المعلومات إعداد تنبيه إذا كان حقل البيانات battery_percentage < 10. الحد الأقصى لعدد الأحرف هو 1,000 حرف.
  • درجة الخطورة: درجة خطورة حالة التطبيق. القيمتان المسموح بإدراجهما هما SEVERITY_ERROR وSEVERITY_INFO (القيمة التلقائية). لا تضبط درجة الخطورة إلا على SEVERITY_ERROR لحالات الخطأ الحقيقية التي تحتاج المؤسسة إلى اتخاذ إجراء لإصلاحها.
  • الطابع الزمني: عند ضبط حالة تطبيق تتضمّن مفتاحًا، يتم إرساله تلقائيًا مع طابع زمني بالمللي ثانية منذ البداية.

إرسال ملاحظات عن الإعدادات المُدارة

إذا كان تطبيقك يتيح عمليات الضبط المُدارة، يُنصح بإرسال حالات التطبيق المستندة إلى المفاتيح كطريقة لإطلاع مشرفي تكنولوجيا المعلومات على حالة عمليات الضبط التي ضبطوها. يصف نموذج سير العمل التالي طريقة واحدة للقيام بذلك.

حالات التطبيقات الرئيسية لعمليات الضبط المُدارة
  1. يستخدم مشرفو تكنولوجيا المعلومات وحدة تحكّم إدارة الخدمات الجوّالة للمؤسسات (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 صباحًا

    على موفّر خدمة إدارة الخدمات الجوّالة للمؤسسات أيضًا إبلاغ مشرف تكنولوجيا المعلومات صراحةً عن أي حالات تم استلامها باستخدام SEVERITY_ERROR. يمكن لمشرفي تكنولوجيا المعلومات عرض المعلومات في وحدة تحكّم إدارة الخدمات الجوّالة للمؤسسات (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 على مستوى الوحدة:

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

الخطوة 3: الحصول على نسخة افتراضية من KeyedAppStatesReporter

في طريقة onCreate()، احصل على مثيل KeyedAppStatesReporter واخزّنه. يتيح ذلك قناة اتصال بين تطبيقك وموفّري "إدارة الخدمات الجوّالة للمؤسسات".

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 هو 300 كيلوبايت (حوالي 1/3 من الإجمالي الذي يمكن تخزينه يوميًا). وسيؤدي تجاوز هذا الحدّ إلى سلوك غير محدّد.
  • يجب ضبط درجة خطورة الحالة على SEVERITY_ERROR فقط إذا توفّرت حالة تتطلّب من المؤسسة اتخاذ إجراء لحلّها.
  • عند إرسال حالة تطبيق تحتوي على أخطاء، تأكّد أيضًا من إرسال حالة متابعة عند حل الأخطاء حتى تتوقّف "إدارة الخدمات الجوّالة للمؤسسات" عن الإبلاغ عن الأخطاء في وحدة التحكّم.
  • بالنسبة إلى حالة المتابعة، استخدِم المفتاح نفسه كالحالة الأولية التي عرضت الخطأ واضبط مستوى الخطورة على 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);

اختبار حالات التطبيق المرتبطة بمفاتيح

للحصول على تعليمات تفصيلية عن الاختبار، يُرجى الاطّلاع على ملاحظات حول تطبيق الاختبار.