إطار iframe في "Google Play للأعمال"

باستخدام إطار iframe في "Google Play للأعمال"، يمكنك تضمين "Google Play للأعمال" مباشرةً في وحدة تحكّم إدارة الخدمات الجوّالة للمؤسسات (EMM) لتقديم تجربة إدارة خدمات جوّالة متحدّدة للعملاء.

إطار iframe المُدار في Google Play
الشكل 1. إطار iframe في "Google Play للأعمال" يعرض صفحة "البحث عن التطبيقات"

يحتوي عنصر iframe على شريط عنوان وقائمة جانبية قابلة للتوسيع. من القائمة، يمكن للمستخدمين الانتقال إلى صفحات مختلفة:

  • البحث عن التطبيقات: يتيح لمشرفي تكنولوجيا المعلومات البحث عن تطبيقات Google Play وتصفّحها وعرض تفاصيلها واختيارها.
  • التطبيقات الخاصة: تتيح لمشرفي تكنولوجيا المعلومات نشر التطبيقات الخاصة وتديرها لمؤسستهم.
  • تطبيقات الويب: تسمح لمشرفي تكنولوجيا المعلومات بنشر اختصارات المواقع الإلكترونية وتوزيعها كتطبيقات.
  • تنظيم التطبيقات: يسمح هذا الخيار لمشرفي تكنولوجيا المعلومات بضبط طريقة تنظيم التطبيقات في تطبيق "متجر Play" على أجهزة المستخدمين.

تكون جميع الصفحات مفعّلة في إطار iframe تلقائيًا، ولكن يمكن إيقافها بشكلٍ فردي (راجِع إضافة إطار iframe إلى وحدة التحكّم).


الميزات

يوضّح هذا القسم الميزات المتوفّرة في إطار iframe في "Google Play للأعمال". للاطّلاع على معلومات عن كيفية تضمين إطار iframe وتنفيذ هذه الميزات، يُرجى الاطّلاع على مقالة إضافة إطار iframe إلى وحدة التحكّم.


إضافة إطار iframe إلى وحدة التحكّم

الخطوة 1: إنشاء رمز مميّز للويب

لإنشاء رمز مميّز للويب يحدِّد المؤسسة، اتصل بـ Enterprises.createWebToken. يوضّح المثال التالي كيفية استرداد الرمز المميّز باستخدام مكتبة عميل واجهة برمجة التطبيقات Google Play EMM للغة Java.

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

public AdministratorWebToken getAdministratorWebToken(
        String enterpriseId) throws IOException {
    AdministratorWebTokenSpec tokenSpec = new AdministratorWebTokenSpec();
    tokenSpec.setParent("https://my-emm-console.com");
    tokenSpec.setPlaySearch(new AdministratorWebTokenSpecPlaySearch());
    tokenSpec.setPrivateApps(new AdministratorWebTokenSpecPrivateApps().setEnabled(false));
    tokenSpec.setWebApps(new AdministratorWebTokenSpecWebApps().setEnabled(false));
    tokenSpec.setStoreBuilder(new AdministratorWebTokenSpecStoreBuilder().setEnabled(false));
    return androidEnterprise
        .enterprise()
        .createWebToken(enterpriseId, tokenSpec)
        .execute();
}

عليك تضمين الرمز المميّز الذي تم إرجاعه، بالإضافة إلى مَعلمات أخرى، عند عرض iframe في وحدة التحكّم.

الخطوة 2: عرض إطار iframe

في ما يلي مثال على كيفية عرض إطار iframe في "Google Play للأعمال":

<script src="https://apis.google.com/js/api.js"></script>
<div id="container"></div>
<script>
  gapi.load('gapi.iframes', function() {
    var options = {
      'url': 'https://play.google.com/work/embedded/search?token=web_token&mode=SELECT',
      'where': document.getElementById('container'),
      'attributes': { style: 'width: 600px; height:1000px', scrolling: 'yes'}
    }

    var iframe = gapi.iframes.getContext().openChild(options);
  });
</script>

تُنشئ هذه التعليمة البرمجية إطار iframe داخل الحاوية div. يمكن ضبط السمات التي سيتم تطبيقها على علامة iframe باستخدام الخيار "السمات"، كما هو موضح أعلاه.

معلمات عنوان URL

يسرد الجدول التالي جميع المَعلمات المتاحة لإطار iframe والتي يمكن إضافتها إلى عنوان URL كمَعلمات لعنوان URL، على سبيل المثال:

'url': 'https://play.google.com/work/embedded/search?token=web_token&mode=SELECT&showsearchbox=TRUE',
المَعلمة الصفحة مطلوب الوصف
token لا ينطبق نعم الرمز المميّز الذي تم إرجاعه من الخطوة 1
iframehomepage لا ينطبق لا الصفحة الأولية التي تظهر عند عرض iframe القيم المتاحة هي PLAY_SEARCH وWEB_APPS وPRIVATE_APPS وSTORE_BUILDER (تنظيم التطبيقات). إذا لم يتم تحديده، يحدِّد الترتيب التالي للأولوية الصفحة التي يتم عرضها: 1. PLAY_SEARCH، 2. PRIVATE_APPS، 3. WEB_APPS، 4. STORE_BUILDER.
locale لا ينطبق لا علامة لغة BCP 47 جيدة الشكل يتم استخدامها لتقسيم المحتوى في إطار iframe إذا لم يتم تحديد قيمة، ستكون القيمة التلقائية هي en_US.
mode البحث في التطبيقات لا SELECT: يتيح لمشرفي تكنولوجيا المعلومات اختيار التطبيقات.
APPROVE (الإعداد التلقائي): يتيح لمشرفي تكنولوجيا المعلومات اختيار التطبيقات والموافقة عليها وإلغاء الموافقة عليها.
showsearchbox البحث في التطبيقات لا TRUE (الإعداد التلقائي): يعرض مربّع البحث ويشغّل طلب البحث من داخل إطار iframe.
FALSE: لا يتم عرض مربّع البحث.
search البحث في التطبيقات لا سلسلة البحث إذا تم تحديده، يوجّه إطار iframe مشرف تكنولوجيا المعلومات إلى نتائج البحث باستخدام السلسلة المحدّدة.

الخطوة 3: التعامل مع أحداث iframe

يجب أيضًا التعامل مع الأحداث التالية كجزء من عملية الدمج.

الحدثالوصف
onproductselect يختار المستخدم تطبيقًا أو يوافق عليه. يؤدي ذلك إلى عرض عنصر يحتوي على ما يلي:
{
    "packageName": The package name of the app, e.g. "com.google.android.gm",
    "productId": The product ID of the app, e.g. "app:com.google.android.gm",
    "action": The type of action performed on the document. Possible values are:
    "approved", "unapproved" or "selected." If you implement the iframe in SELECT
    mode, the only possible value is "selected".
}
    
يوضّح المثال أدناه كيفية الاستماع إلى onproductselect:
iframe.register('onproductselect', function(event) {
  console.log(event);
}, gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER);