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

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

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

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

ويمكنك استخدام Products.getAppRestrictionsSchema لتحديد ما إذا كان التطبيق متوافقًا مع عمليات الضبط المُدارة. وفي ما يلي مثال يستخدم مكتبة برامج واجهة برمجة التطبيقات لإدارة الخدمات الجوّالة للمؤسسات (EMM) في Google Play للغة 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) بشفافية مع التفويض إلى 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 (قائمة) تتألف من موقعَين إلكترونيَّين على الحِزمة (مجموعة من المواقع الإلكترونية ذات الصلة، في هذه الحالة، مواقع لشبكة VPN).

    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.