יצירת פריסות מותאמות אישית לחנות

עם Google Play לארגונים אפשר לעצב וליצור פריסות של חנויות בשביל הארגון . אתם יכולים להתאים אישית את פריסת החנות על ידי קיבוץ אפליקציות באשכולות, להגדרת דפי חנויות והוספת קישורים מהירים שמספקים גישה דפים בחנות.

כל האפליקציות שזמינות למשתמש קצה ב-Google Play לארגונים החנות צריכה לקבל תחילה אישור מאדמין ב-IT, אישור למשתמש ולהוסיף אותה אל אשכול. (לפרטים נוספים בנושא הוספת אפליקציות לפריסת חנות) ).

הרכיבים של פריסת החנות

פריסת חנות מורכבת בדרך כלל מסדרה של דפים המוצגים למשתמשים של Google Play לארגונים. כל דף יכול להכיל קבוצה אחת או יותר של אפליקציות, שיש הפניה אליהן לאשכולות. כל אשכול מכיל אפליקציה אחת או יותר.

באשכולות אפשר לקבץ אפליקציות קשורות. לדוגמה, אפשר ליצור דף עבור אפליקציות לעבודה שמכילות אשכול Essentials והאפליקציה קבלת דברים אשכול בוצע. אשכול Essentials יכול להכיל אפליקציות כמו Notepad+, Google Slides וכו'. האשכול Getting Things Done יכול לכלול אפליקציות כמו OneNote, Wunderlist, Any.do ואמצעי מעקב אחרים, יומן ועוד לתכנון פגישות (ראו איור 1).

כשיוצרים דף, אפשר גם להוסיף עד 10 קישורים מהירים בחלק העליון של הדף הדף הזה. קישורים מהירים מאפשרים למשתמשים לדלג לדפים אחרים. לדוגמה, איור 1 מראה קישורים מהירים לדפים עסקיים, תקשורת ופיננסים.

איור 1 מציג כמה מהאלמנטים העיקריים בפריסת החנות כפי שמוצגים במכשיר:

מסך לדוגמה ממכשיר של משתמש, שבו מוצגים הרכיבים של חנות
    כולל קישורים מהירים, דפים ואשכולות של אפליקציות.
איור 1 – מסך לדוגמה ממכשיר של משתמש
  • קישורים מהירים: קישורים אופציונליים שמאפשרים גישה לדפים אחרים. מהיר קישורים בוחרים את שם הדף שאליו הם מפנים.
  • דף: דף בעל שם שניתן לגלילה אנכית, שמכיל אשכולות של אפליקציות.
  • אשכול (נקרא גם collection): שם של אשכול שניתן לגלול בו לרוחב קרוסלה של אפליקציות. מתרחב לדף מלא אם הדף מכיל אשכול יחיד (או ללחוץ על 'עוד' כדי שתהיה אפשרות גלילה אנכית).

המגבלות של רכיבים בפריסת החנות

כשאתם מתכננים ומטמיעים את פריסות החנות שזמינות ללקוחות שלכם, חשוב לשים לב את המגבלות האלה (רוב המגבלות האלה נובעות מעקרונות של תכנון נכון של ממשק משתמש):

  • 100 אפליקציות לכל אשכול
  • 30 אשכולות בכל דף
  • 10 קישורים מהירים בכל דף
  • 100 דפים לכל חנות
  • 1,000 מוצרים (אפליקציות שאושרו) לכל ארגון

שמות מותאמים לשוק המקומי של דפים ואשכולות

בפריסת החנות המנוהלת של Google Play יש תמיכה בשמות מותאמים לשוק המקומי עבור דפי חנויות ואשכולות של חנויות. כשיוצרים דף או אשכול, צריך לספק רשימה של לוקאלים נתמכים, כמו תגי שפה של IETF ושמות מקומיים משויכים. אם הלוקאל של המשתמש לא מופיע ברשימה הנתמכת, המערכת תבחר את הלוקאל הקרוב ביותר יש התאמה זמינה. לדוגמה, אם en-GB לא זמין, המערכת תבחר en-US במקום זאת. אם אין התאמה קרובה זמינה, המערכת תבחר את השם הפרטי מופעל לרשימה.

הוספת אפליקציות לפריסת חנות

כל האפליקציות שנמצאות ב-policy.productPolicy יתווספו אוטומטית אם הארגון משתמש בפריסת חנות בסיסית. אם ארגון משתמש בהתאמה אישית פריסת החנות, אפליקציות שמופיעות רק בפריסה המותאמת אישית וברשימה productPolicy יוצגו במכשיר. כל הפריטים שנמצאים ב-policy.productPolicy הם שאפשר לחפש בחנות Play.

כדי שמשתמש קצה יתקין אפליקציה מחנות Google Play לארגונים, האפליקציה צריכים להיות תואמים למכשיר של המשתמש ולעמוד בתנאים הבאים:

  • נוספה לרשימת ההיתרים של המשתמש (באמצעות policy.productPolicy במכשיר) resource) וגם policy.productAvailabilityPolicy מוגדר ל-WHITELIST, או policy.productAvailabilityPolicy מוגדר ל-ALL (מאפשר חיפוש ובהתקנה של אפליקציה כלשהי).

המשתמשים יכולים להשתמש בתכונת החיפוש שמובנית ב-Google Play לארגונים כדי למצוא מתקינים כל אפליקציה שעומדת בתנאים האלה. עם זאת, האפליקציה יהיו גלויות בפריסה בסיסית של החנות או אם הוספתם את האפליקציה collection/cluster

אפליקציות שהאישור שלהן בוטל

אדמינים יכולים לבטל אישור של אפליקציה (לבטל את האישור שלה) בכל שלב. אפליקציות עם עדיין ניתן להוסיף את האישור שבוטל לאשכולות לאפשר רשימות, אבל המשתמשים לא יראו אותם או שלא יוכלו להתקין אותם מממשק Google המנוהל. חנות Play. אם אפליקציה שהאישור שלה בוטל תאושר מחדש, האפליקציה תופעל יהיו זמינות שוב למשתמשים בחנות Google Play לארגונים.

פריסת חנות בסיסית

כברירת מחדל, לכל אחד מהלקוחות שלכם מופעלת פריסה בסיסית של החנות. לפריסה הבסיסית יש דף אחד ואשכול אחד, ומוצגים בו עד 1,000 אפליקציות. האפליקציות מופעלות הדפים ממוינים לפי ערך הערך product ID שלהם. אם יוצרים בהתאמה אישית פריסת החנות (על ידי הגדרה של storeLayoutType ="custom"), פריסת החנות הבסיסית היא מושבת.

יצירת פריסות בהתאמה אישית לחנות

ספקי EMM יכולים ליצור פריסות חנויות בהתאמה אישית לכל אחד מהלקוחות בארגון שלהם. בעזרת פריסת חנויות בהתאמה אישית אפשר להגדיר אשכולות של אפליקציות ולהוסיף אשכולות ספציפיים וליצור קישורים מהירים. כי את מגדירה את האפליקציות שמרכיבים כל אפשר להשתמש באשכולות כדי לקבץ אפליקציות קשורות (למשל, Essentials). ו-"Get Things Done"). המשתמשים רואים רק את האפליקציות שיש להן הרשאות אושר על ידי האדמין ב-IT.

חומר העזר בנושא API של Google Play EMM כולל מידע על המשאבים ועל שיטות שבהן אתם משתמשים כדי ליצור פריסת חנות מותאמת אישית, באופן ספציפי, Storelayoutpages ו-Storelayoutclusters. השלבים המפורטים בקטעים הבאים יספקו לכם דוגמה בסיסית.

משימות תכנות

כדי ליצור פריסה מותאמת אישית של חנות 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)
  • שם ידידותי למשתמש עבור האשכול, כמו תומכת Things סיימתי
  • השדה 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");
}