إنشاء تنسيقات متجر مخصصة

يتيح لك "Google Play للأعمال" تصميم وإنشاء تنسيقات المتجر لمؤسستك. الدائمين. يمكنك تخصيص تصميم المتجر عن طريق تجميع التطبيقات في مجموعات، وإعداد صفحات المتجر، وإضافة روابط سريعة توفر الوصول إلى العديد من الصفحات داخل المتجر.

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

عناصر تخطيط المتجر

يتكون تخطيط المتجر عادةً من سلسلة من الصفحات التي يتم عرضها للمستخدمين باستخدام Google Play للأعمال. ويمكن أن تحتوي كل صفحة على مجموعة واحدة أو أكثر من التطبيقات، المشار إليها إليها باعتبارها مجموعات عنقودية. وتحتوي كل مجموعة على تطبيق واحد أو أكثر.

تسمح لك المجموعات بتجميع التطبيقات ذات الصلة. على سبيل المثال، يمكنك إنشاء صفحة التطبيقات المتعلقة بالعمل التي تحتوي على مجموعة Essentials ومجموعة Getting Things تم. يمكن أن تحتوي مجموعة Essentials على تطبيقات مثل Notepad+ أو العروض التقديمية من Google، وما إلى ذلك. قد تتضمن مجموعة "إنجاز المهام" تطبيقات مثل OneNote وWunderlist وAny.do وغيرها من ميزات التتبع والتقويم تطبيقات تخطيط الاجتماعات (انظر الشكل 1).

عند إنشاء صفحة، يمكنك أيضًا إضافة ما يصل إلى 10 روابط سريعة أعلى . تسمح الروابط السريعة للمستخدمين بالانتقال إلى صفحات أخرى. على سبيل المثال، يُظهر الشكل 1 روابط سريعة لصفحات "النشاط التجاري" و"الاتصالات" و"الشؤون المالية".

يوضح الشكل 1 بعض العناصر الأساسية لتخطيط المتجر كما هو موضح على أحد الأجهزة:

نموذج لشاشة من جهاز مستخدم يعرض عناصر أحد المتاجر
    بما في ذلك الروابط السريعة والصفحات ومجموعات التطبيقات.
الشكل 1 - نموذج شاشة من جهاز مستخدم
  • الروابط السريعة: روابط اختيارية توفّر إمكانية الوصول إلى صفحات أخرى. نتائج سريعة تأخذ الروابط اسم الصفحة التي تشير إليها.
  • الصفحة: صفحة مُسمّاة قابلة للتمرير عموديًا تضم مجموعات من التطبيقات.
  • المجموعة (يطلق عليها أيضًا المجموعة): وهي مجموعة مُسمّاة وقابلة للتمرير أفقيًا لوحة عرض دوّارة للتطبيقات يتم التوسيع إلى صفحة كاملة إذا كانت الصفحة تحتوي على مجموعة واحدة (أو انقر على "المزيد" لجعل التمرير عموديًا).

قيود عناصر تخطيط المتجر

عند تصميم تخطيطات المتجر وتنفيذها لعملائك، حافظ على هذه وضع الحدود في الاعتبار (ترجع معظم هذه الحدود إلى مبادئ تصميم واجهة المستخدم الجيد):

  • 100 تطبيق لكل مجموعة
  • 30 مجموعة في كل صفحة
  • 10 روابط سريعة في كل صفحة
  • 100 صفحة لكل متجر
  • 1,000 منتج (تطبيقات موافَق عليها) لكل مؤسسة

الأسماء المترجَمة للصفحات والمجموعات

يتوافق تنسيق متجر "Google Play للأعمال" مع الأسماء المترجمة لصفحات المتجر ومجموعات المتاجر. عند إنشاء صفحة أو مجموعة، تقدم قائمة اللغات المتاحة، مثل علامات لغة مجموعة مهندسي شبكة الإنترنت (IETF) والأسماء المترجمة المرتبطة بها. إذا لم تكن لغة المستخدم مدرجة في القائمة المتوافقة، يختار النظام أقرب لغة مطابقة متاحة. على سبيل المثال، إذا لم تتوفر en-GB، فسيختار النظام en-US بدلاً من ذلك. وإذا لم تتوفر أي مطابقة قريبة، يختار النظام الاسم الأول على من القائمة.

إضافة تطبيقات إلى تنسيق المتجر

تتم إضافة جميع التطبيقات المتوفّرة في "policy.productPolicy" تلقائيًا إذا المؤسسة تخطيط متجر أساسي. إذا كانت المؤسسة تستخدم حزمة مخصصة تنسيق المتجر، لا تتوفّر التطبيقات إلا في التنسيق المخصّص وقائمة productPolicy سيتم عرضه على أحد الأجهزة. جميع العناصر المتوفرة في "policy.productPolicy" للبحث في متجر Play.

لكي يتمكن المستخدم النهائي من تثبيت تطبيق من متجر "Google Play للأعمال"، يجب تثبيت أن يكون متوافقًا مع جهاز المستخدم وأن يستوفي الشرط التالي:

  • تمت الإضافة إلى قائمة السماح للمستخدم (باستخدام policy.productPolicy على الجهاز) المورد) وpolicy.productAvailabilityPolicy على WHITELIST، أو تم ضبط policy.productAvailabilityPolicy على ALL (ما يسمح بالبحث وتثبيت أي تطبيق).

يمكن للمستخدم استخدام ميزة البحث المضمّنة في "Google Play للأعمال" للعثور على تثبيت أي تطبيق يستوفي هذه الشروط. ومع ذلك، لن يتم تحديث التطبيق إلا مرئية في تخطيط المتجر الأساسي أو إذا كنت قد أضفت التطبيق إلى collection/cluster.

تطبيقات تم إبطال الموافقة عليها

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

التخطيط الأساسي للمتجر

يتم تلقائيًا تفعيل تنسيق المتجر الأساسي لكل عميل من عملائك. تشير رسالة الأشكال البيانية على صفحة واحدة ومجموعة واحدة، تعرض 1000 تطبيق كحد أقصى. التطبيقات مفعَّلة يتم ترتيب الصفحة حسب قيمة product ID. إذا أنشأت واجهة برمجة تطبيقات مخصَّصة تخطيط المتجر (من خلال الإعداد storeLayoutType ="custom")، يكون تخطيط المتجر الأساسي غير مفعّل.

إنشاء تنسيقات متجر مخصّصة

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

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

مهام البرمجة

لإنشاء تنسيق مخصّص لعملائك في "متجر Google Play للأعمال"، يجب: يجب:

  1. إنشاء صفحة
  2. أنشئ مجموعة واحدة أو أكثر داخل الصفحات
  3. تعيين الصفحة الرئيسية

على الأقل، يجب عليك إنشاء صفحة واحدة على الأقل تتكون من مجموعة عنقودية واحدة تخطيط المتجر، ويجب أن تحتوي المجموعة العنقودية على تطبيق واحد على الأقل. يجب عليك أيضًا تعيين الصفحة الرئيسية. إذا أنشأت أكثر من صفحة واحدة، يمكنك ضبط الإعدادات لعرض روابط أعلى كل صفحة.

مهام البرمجة لإنشاء تخطيط مخصص لمتجر Play المُدار هي الموضحة أدناه، ويليها مثال كامل لتخطيط المتجر.

إنشاء صفحة

تتكون الصفحة من مجموعة عنقودية واحدة أو أكثر. وتحتوي كل مجموعة على تطبيق واحد على الأقل. يتم إنشاء الصفحات لمؤسسات محددة، لذا يجب استدعاء العمليات على مثيلات محددة من المؤسسة (enterpriseId). يمكنك تقديم واجهة مستخدم سهلة الاسم ومعلومات الأقلمة لكل صفحة، بالإضافة إلى قائمة بـ pageId التي يمكن للمستخدمين الوصول إليها من الصفحة يتم إنشاء الصفحة الجديدة باستخدام insert العملية (Storelayoutpages.insert) كما هو موضّح هنا:

public StorePage createPage(String enterpriseId, String name)
    throws IOException {
  List<LocalizedText> names =
      ImmutableList.of(
          new LocalizedText().setLocale("en").setText(name));
  StorePage storePage = new StorePage();
  storePage.setName(names);
  return androidEnterprise.storelayoutpages()
    .insert(enterpriseId, storePage)
    .execute();
}

إنشاء مجموعة

تحتوي المجموعات على مجموعات من التطبيقات. يتم إنشاء المجموعة العنقودية أولاً، ومن ثم يمكنها إضافته إلى الصفحة. ولإنشاء مجموعة عنقودية، يمكنك استدعاء عملية insert Storelayoutclusters وتمرير القيم لهذه السمات:

  • تمثّل هذه السمة قائمة بقيم productId التي يجب أن تتضمّنها المجموعة (على سبيل المثال، السمة قيمة productId لـ Gmail هي app:com.google.android.gm)
  • اسم سهل الاستخدام للمجموعة، مثل اكتساب العناصر تم{6/}
  • السمة enterpriseId التي يجب ربطها بالمجموعة
  • pageId (للصفحة التي يجب أن تحتوي على المجموعة)
  • موضع المجموعات العنقودية على الصفحة (أولها، ثانيًا، وهكذا)

وفي ما يلي مثال لذلك:

private String insertCluster(String enterpriseId, String pageId, String name,
    List<String> productIds, String orderInPage) throws IOException {
  StoreCluster storeCluster = new StoreCluster();
  storeCluster.setName(
      ImmutableList.of(
          new LocalizedText().setLocale("en").setText(name)));
  storeCluster.setProductId(productIds);
  storeCluster.setOrderInPage(orderInPage);
  return androidEnterprise.storelayoutclusters()
    .insert(enterpriseId, pageId, storeCluster)
    .execute()
    .getId();
}

تعيين الصفحة الرئيسية

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

في هذا المثال، يتم استرجاع رقم تعريف الصفحة الرئيسية للصفحة الرئيسية enterpriseId:

public StoreLayout getStoreLayout(String enterpriseId) throws IOException {
  return androidEnterprise
    .enterprises()
    .getStoreLayout(enterpriseId)
    .execute();
}

يحدد هذا المثال التالي الصفحة الرئيسية للعميل من خلال توفير "enterpriseId" و"pageId" من هذا العميل قدّم شكوى بشأن هذا العميل الصفحة الرئيسية:

public StoreLayout setStoreLayout(String enterpriseId, String homepageId)
    throws IOException {
  StoreLayout storeLayout = new StoreLayout();
  storeLayout.setHomepageId(homepageId);

  return androidEnterprise
    .enterprises()
    .setStoreLayout(enterpriseId, storeLayout)
    .execute();
}

تظهر الروابط السريعة في أعلى كل صفحة، ما يتيح للمستخدمين التنقّل بسهولة. بين صفحات المتجر. لاستخدام الروابط السريعة، عليك أولاً الحصول على pageId (تم إرجاعها من خلال insert) وإضافة الرابط إلى الصفحة. على سبيل المثال، إذا إنشاء ثلاث صفحات تكون pageId فيها p1 وp2 وp3، يمكنك إضافة روابط سريعة من الصفحة الأولى إلى الصفحتين الأخريين باستخدام ما يلي:

StorePage storePage = new StorePage();
storePage.setName(
    ImmutableList.of(new LocalizedText().setLocale("en").setText(title)));
storePage.setLink(ImmutableList.of("p2", "p3");
return androidEnterprise.storelayoutpages()
  .update(enterpriseId, "p1", storePage)
  .execute();

مثال

في ما يلي مثال كامل ينشئ متجرًا أساسيًا يتألف من ثلاث الصفحات المترابطة ببعضها البعض. تتألف كل صفحة من مجموعات التطبيقات المتشابهة. كل صفحة عبارة عن تم إنشاؤه من خلال تحديد enterpriseId للعميل وإعداد الصفحة name فقط، للحصول على pageId التي تُستخدم بعد ذلك لإنشاء رابط سريع إلى .

// Create a basic page and return the pageId.
private String insertPage(String enterpriseId, String title,
    List<String> links) throws IOException {
  List<LocalizedText> names =
      ImmutableList.of(new LocalizedText().setLocale("en").setText(title));
  StorePage page = new StorePage();
  page.setName(names);
  page.setLink(links);
  return enterprise.storelayoutpages().insert(enterpriseId, page).execute().getId();
}

public StoreLayout setStoreLayout(String enterpriseId, String homepageId)
    throws IOException {
  StoreLayout storeLayout = new StoreLayout();
  storeLayout.setHomepageId(homepageId);

  return androidEnterprise
      .enterprises()
      .setStoreLayout(enterpriseId, storeLayout)
      .execute();
}

private String insertCluster(String enterpriseId, String pageId, String name,
    List<String> productIds, String orderInPage) throws IOException {
  StoreCluster cluster = new StoreCluster();
  List<LocalizedText> names =
      ImmutableList.of(new LocalizedText().setLocale("en").setText(name));
  cluster.setName(names);
  cluster.setProductId(productIds);
  cluster.setOrderInPage(orderInPage);
  return androidEnterprise.storelayoutclusters()
      .insert(enterpriseId, pageId, cluster)
      .execute()
      .getId();
}

private void updatePage(String enterpriseId, String pageId, String title,
    List<String> links) throws IOException {
  List<LocalizedText> names =
      ImmutableList.of(new LocalizedText().setLocale("en").setText(title));
  StorePage page = new StorePage();
  page.setName(names);
  page.setLink(links);
  enterprise.storelayoutpages()
      .update(enterpriseId, pageId, page).execute();
}

private void makeStore(String enterpriseId) throws IOException {
  // Create the pages.
  String page1 = insertPage(enterpriseId, "Home");
  String page2 = insertPage(enterpriseId, "Productivity");
  String page3 = insertPage(enterpriseId, "Accounting");

  // Set the homepage (page that displays by default when store is opened).
  setStoreLayout(enterpriseId, page1);

  // Add the links to the pages. This makes a small tree.
  updatePage(enterpriseId, page1, "Home", ImmutableList.of(page2, page3));
  updatePage(enterpriseId, page2, "Productivity", ImmutableList.of(page1));
  updatePage(enterpriseId, page3, "Accounting", ImmutableList.of(page1));

  // Add clusters with contents.
  insertCluster(
      enterpriseId,
      page1,
      "Getting Things Done",
      ImmutableList.of(
          "app:com.mytodolist",
          "app:com.google.android.gm",
          "app:com.google.android.docs"),
      "1");
  insertCluster(
      enterpriseId,
      page1,
      "Strategy",
      ImmutableList.of(
          "app:com.myplanner",
          "app:com.stratego"),
      "2");
  insertCluster(
      enterpriseId,
      page2,
      "Editors",
      ImmutableList.of(
          "app:com.myeditor",
          "app:com.betteredit",
          "app:com.lazyguy"),
      "1");
  insertCluster(
      enterpriseId,
      page2,
      "Time Management",
      ImmutableList.of(
          "app:com.mytimetracker",
          "app:com.lazygal",
          "app:com.lazyguy"),
      "2");
  insertCluster(
      enterpriseId,
      page2,
      "Accounting",
      ImmutableList.of(
          "app:com.mymoney",
          "app:com.taxpro",
          "app:com.balances"),
      "3");
}