إعداد التطبيقات

تتضمن بعض التطبيقات المصمَّمة للمؤسسات إعدادات مضمَّنة تُسمى مُدارة التي يمكن لمشرفي تكنولوجيا المعلومات ضبطها عن بُعد. على سبيل المثال، قد يحتاج أحد التطبيقات خيار مزامنة البيانات عند اتصال الجهاز بشبكة Wi-Fi فقط. توفير قدرة مشرفي تكنولوجيا المعلومات على تحديد عمليات الضبط المُدارة وتطبيقها على يكون مطلوبًا من جميع مجموعات الحلول.

يوضِّح المخطّط البياني أدناه بعض المراحل الرئيسية لعملية الضبط المُدارة. نظرة عامة على الخيارات المتاحة من خلال إدارة الخدمات الجوّالة للمؤسسات (EMM) في Google Play واجهة برمجة التطبيقات.

التحقّق من توافق التطبيق مع عمليات الضبط المُدارة

استخدام Products.getAppRestrictionsSchema لتحديد ما إذا كان التطبيق متوافقًا مع عمليات الضبط المُدارة إليك مثالاً تستخدم مكتبة برامج Google Play EMM API للغة Java

public AppRestrictionsSchema getAppRestrictionsSchema(String enterpriseId,
    String productId, String language) throws IOException {
  return androidEnterprise
     .product()
     .getAppRestrictionsSchema(enterpriseId, productId, language)
     .execute();
}

تعرض جميع التطبيقات مخطّط قيود التطبيقات (عمليات الضبط المُدارة). إذا كانت المكالمة تعرض مخططًا فارغًا، فإن التطبيق لا يتيح إدارة عمليات الضبط. في حال حذف تعرض المكالمة مخططًا يحتوي على مجموعة من القيود، ثم يعرض التطبيق يتوافق مع عمليات الضبط المُدارة. على سبيل المثال، إذا كان أحد التطبيقات يحتوي على خاصية قد يؤدي تمكين الطباعة عن بُعد عبر شبكة VPN إلى عرض الاستجابة التالية إلى Products.getAppRestrictionsSchema

    {
      "kind": "androidenterprise#appRestrictionsSchema",
      "restrictions": [
        {
          "key": "printing_enabled",
          "title": "Enable printing",
          "restrictionType": "bool",
          "description": "Allow user to print from the app",
          "defaultValue": {
            "type": "bool",
            "valueBool": true,
          }
        },
        {
          "key": "vpn_configurations",
          "title": "VPN configurations",
          "restrictionType": "bundle_array",
          "description": "List of VPN configurations",
          "nestedRestriction": [
            {
              "key": "vpn_configuration",
              "title": "VPN configuration",
              "restrictionType": "bundle",
              "nestedRestrictions": [
                {
                  "key": "server",
                  "title": "VPN server host",
                  "restrictionType": "string"
                },
                {
                  "key": "username",
                  "title": "VPN account username",
                  "restrictionType": "string"
                }
              ]
            }
          ]
        }
      ]
    }

تحديد الإعدادات المُدارة

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

الخيار 1: تضمين إطار iframe لعمليات الضبط المُدارة

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

الخيار 2: إنشاء واجهة المستخدم الخاصة بك

باستخدام الإعدادات المعروضة من خلال Products.getAppRestrictionsSchema، يمكنك يمكنك إنشاء واجهة مستخدم خاصة بك تسمح لمشرفي تكنولوجيا المعلومات بإدارة إعدادات التطبيق.

تطبيق الإعدادات المُدارة

لتطبيق عمليات الضبط المُدارة على الأجهزة، يجب دمج وحدة التحكّم بسياسة الجهاز (DPC). مع مكتبة دعم وحدة التحكّم بسياسة الجهاز (DPC)، كما هو موضّح في مقالة إنشاء سياسة جهاز فقط. مكتبة دعم DPC بالتفويض بشفافية إلى Google Play لتطبيق الإصدار المُدار الإعدادات.

يمكنك تطبيق عمليات الضبط المُدارة على جهاز من خلال ضبط policy.productPolicy.managedConfiguration في رقم policy لـ Device.

استخدام معرّف mcmId

في كل مرة يحفظ فيها مشرف تكنولوجيا المعلومات ملفًا شخصيًا جديدًا للإعدادات من الحسابات المُدارة لإطار iframe للإعدادات، يعرض إطار iframe معرّفًا فريدًا اسمه mcmId. إنّ ما مِن حدّ أقصى لعدد الأجهزة التي يمكن استخدامها في "mcmId"، وهو يعمل ليس لها وقت انتهاء صلاحية.

لتطبيق ملف شخصي للإعدادات على جهاز، عليك ضبط policy.productPolicy.managedConfiguration.configurationVariables.mcmId في رقم policy لـ Device.

إذا كنت ترغب في السماح لمشرفي تكنولوجيا المعلومات باستخدام المتغيّر في مجموعة إطار iframe للإعدادات (مثل $FirstName، و$LastName)، فيجب تحديد أي المتغيرات الموجودة في الملف الشخصي باستخدام policy.productPolicy[].managedConfiguration.configurationVariables.mcmId.variableSet[]

استخدام قائمة بالمواقع المُدارة

ويمكنك أيضًا تضمين مجموعة من المواقع المُدارة من خلال الإعداد policy.productPolicy.managedConfiguration.managedProperty[] في رقم policy لـ Device.

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

    ManagedConfiguration managedConfiguration = new ManagedConfiguration()
      .setManagedProperty(
        ImmutableList.of(
            new ManagedProperty()
                .setKey("printing_enabled")
                .setValueBool(true),
            new ManagedProperty()
                .setKey("vpn_configurations")
                .setValueBundleArray(
                    ImmutableList.of(
                        new ManagedPropertyBundle().setManagedProperty(
                            ImmutableList.of(
                                new ManagedProperty()
                                    .setKey("server")
                                    .setValueString("vpn1.example.com"),
                                new ManagedProperty()
                                    .setKey("username")
                                    .setValueString("john.doe"))),
                        new ManagedPropertyBundle().setManagedProperty(
                            ImmutableList.of(
                                new ManagedProperty()
                                    .setKey("server")
                                    .setValueString("vpn2.example.com"),
                                new ManagedProperty()
                                    .setKey("username")
                                    .setValueString("jane.doe")))))));

لمزيد من المعلومات عن خصائص الضبط المختلفة التي يمكن للتطبيق أن راجع تعريف الإدارة الإعدادات:

إدراج الملفات الشخصية لضبط التطبيق

بناءً على كيفية تصميمك للحل، قد ترغب في عرض قائمة ملفات التهيئة الشخصية المحفوظة لأحد التطبيقات. لاسترداد هذه القائمة، اتصل Managedconfigurationssettings.list