Özel mağaza düzenleri oluşturma

Managed Google Play, kurumsal müşterileriniz için mağaza düzenleri tasarlamanıza ve oluşturmanıza olanak tanır. Uygulamaları kümeler halinde gruplandırarak, mağaza sayfaları oluşturarak ve mağazadaki birden fazla sayfaya erişim sağlayan hızlı bağlantılar ekleyerek mağaza düzenini özelleştirebilirsiniz.

Managed Google Play Store'da son kullanıcının kullanımına sunulan tüm uygulamaların önce bir BT yöneticisi tarafından onaylanması, kullanıcı için onaylanması ve bir kümeye eklenmesi gerekir. (Bu işlem hakkında daha fazla ayrıntı için bkz. Bir mağaza düzenine uygulama ekleme).

Mağaza düzeninin öğeleri

Mağaza düzeni genellikle Managed Google Play'de kullanıcılara gösterilen bir dizi sayfadan oluşur. Her sayfa, kümeler olarak adlandırılan bir veya daha fazla uygulama grubu içerebilir. Her küme bir veya daha fazla uygulama içerir.

Kümeler, ilgili uygulamaları gruplandırmanıza olanak tanır. Örneğin, işle ilgili uygulamalar için bir Essentials kümesi ve İşleri Tamamlama kümesi içeren bir sayfa oluşturabilirsiniz. Essentials kümesi; Notepad+, Google Slaytlar gibi uygulamalar içerebilir. İşleri Tamamlama kümesi; OneNote, Wunderlist, Any.do gibi uygulamaları ve diğer izleme, takvim ve toplantı planlama uygulamalarını içerebilir (Şekil 1'e bakın).

Bir sayfa oluşturduğunuzda, sayfanın üst kısmına 10 adede kadar hızlı bağlantı da ekleyebilirsiniz. Hızlı bağlantılar, kullanıcıların diğer sayfalara atlamasını sağlar. Örneğin, Şekil 1'de İş, İletişim ve Finans sayfalarının hızlı bağlantıları gösterilmektedir.

Şekil 1'de, bir cihazda göründüğü şekliyle mağaza düzeninin bazı temel öğeleri gösterilmektedir:

Bir kullanıcı cihazından hızlı bağlantılar, sayfalar ve uygulama kümeleri de dahil olmak üzere mağaza düzeni öğelerini gösteren örnek ekran.
Şekil 1 - Kullanıcı cihazından örnek ekran
  • Hızlı bağlantılar: Diğer sayfalara erişim sağlayan isteğe bağlı bağlantılar. Hızlı bağlantılar, yönlendirdikleri sayfanın adını alır.
  • Sayfa: Uygulama kümeleri içeren adlandırılmış, dikey olarak kaydırılabilen bir sayfadır.
  • Küme (koleksiyon olarak da adlandırılır): Adlandırılmış, yatay kaydırılabilir bir uygulama bandı. Sayfa tek bir küme içeriyorsa tam sayfaya genişler (veya dikey olarak kaydırılabilir hale getirmek için "Daha fazla"yı tıklayın).

Mağaza düzeni öğeleriyle ilgili sınırlamalar

Müşterileriniz için mağaza düzenleri tasarlarken ve uygularken bu sınırları göz önünde bulundurun (bu sınırların çoğu, iyi kullanıcı arayüzü tasarımı ilkelerinden kaynaklanır):

  • Küme başına 100 uygulama
  • Sayfa başına 30 küme
  • Sayfa başına 10 hızlı bağlantı
  • Mağaza başına 100 sayfa
  • Kuruluş başına 1.000 ürün (onaylı uygulama)

Yerelleştirilmiş sayfa ve küme adları

Managed Google Play mağaza düzeni, mağaza sayfaları ve mağaza kümeleri için yerelleştirilmiş adları destekler. Bir sayfa veya küme oluşturduğunuzda, desteklenen yerel ayarların (IETF dil etiketleri olarak) ve ilişkili yerelleştirilmiş adların listesini sağlarsınız. Bir kullanıcının yerel ayarı desteklenen listede yoksa sistem, mevcut en yakın eşleşmeyi seçer. Örneğin, en-GB kullanılamıyorsa sistem bunun yerine en-US seçeneğini seçer. Yakın eşleşme yoksa sistem, listedeki adı seçer.

Mağaza düzenine uygulama ekleme

Bir kuruluş temel mağaza düzeni kullanıyorsa policy.productPolicy hizmetinde bulunan tüm uygulamalar otomatik olarak eklenir. Bir kuruluş özel mağaza düzeni kullanıyorsa cihazda yalnızca özel düzende ve productPolicy listesinde bulunan uygulamalar görüntülenir. policy.productPolicy uygulamasındaki tüm öğeler Play Store'da aranabilir.

Son kullanıcının Managed Google Play Store'dan uygulama yükleyebilmesi için uygulamanın kullanıcının cihazıyla uyumlu olması ve aşağıdaki koşulu karşılaması gerekir:

  • Kullanıcının izin verilenler listesine eklenir (cihaz kaynağında policy.productPolicy kullanılarak) VE policy.productAvailabilityPolicy, WHITELIST olarak ayarlanır veya policy.productAvailabilityPolicy, ALL olarak ayarlanır (herhangi bir uygulamanın aranmasına ve yüklenmesine izin verir).

Kullanıcılar, Managed Google Play'de yerleşik olarak bulunan arama özelliğini kullanarak bu koşullara uyan herhangi bir uygulamayı bulabilir ve yükleyebilirler. Ancak uygulama yalnızca temel mağaza düzeninde veya uygulamayı bir koleksiyona/kümeye eklediyseniz görünür.

Onayı iptal edilen uygulamalar

Yöneticiler istedikleri zaman bir uygulamanın onayını kaldırabilir (onaylarını iptal edebilirler). Onayı iptal edilen uygulamalar, kümelere ve kullanıcıların izin verilenler listelerine eklenmeye devam edebilir ancak kullanıcılar bunları göremez veya Managed Google Play Store'dan yükleyemez. Onayı iptal edilmiş bir uygulama yeniden onaylanırsa uygulama Managed Google Play Store'da tekrar kullanıma sunulur.

Temel mağaza düzeni

Varsayılan olarak her müşteriniz için temel mağaza düzeni etkindir. Temel düzende 1 sayfa ve 1 küme bulunur. Bu kümelerde maksimum 1.000 uygulama gösterilir. Sayfadaki uygulamalar product ID değerlerine göre sıralanır. Özel mağaza düzeni oluşturursanız (storeLayoutType ="custom" ayarını yaparak) temel mağaza düzeni devre dışı bırakılır.

Özel mağaza düzenleri oluşturma

EMM'ler kurumsal müşterilerinin her biri için özel mağaza düzenleri oluşturabilir. Özel mağaza düzenleri, uygulama kümeleri oluşturmanıza, sayfalara belirli kümeler eklemenize ve hızlı bağlantılar belirlemenize olanak tanır. Her bir kümeyi oluşturan uygulamaları tanımladığınız için ilgili uygulamaları gruplandırmak için kümeleri kullanabilirsiniz (örneğin, "Essentials" ve "Getting Things Done"). Kullanıcılar yalnızca izinleri BT yöneticisi tarafından kabul edilen uygulamaları görür.

Google Play EMM API referansı, özel mağaza düzeni oluşturmak için kullandığınız kaynaklar ve ilişkili yöntemler (özellikle Storelayoutpages ve Storelayoutclusters) hakkında bilgi içerir. Aşağıdaki bölümlerde ana hatlarıyla açıklanan adımlarda size temel bir örnek verilmiştir.

Programlama görevleri

Müşterileriniz için özel bir Managed Google Play Store düzeni oluşturmak için yapmanız gerekenler:

  1. Sayfa oluşturun
  2. Sayfaların içinde bir veya daha fazla küme oluşturun
  3. Ana sayfayı ayarlama

En azından bir mağaza düzeni için bir küme içeren en az bir sayfa oluşturmanız ve kümede en az bir uygulama bulunması gerekir. Ana sayfayı da ayarlamanız gerekir. Birden fazla sayfa oluşturursanız her sayfanın üst kısmında görüntülenecek hızlı bağlantılar ayarlayabilirsiniz.

Özel bir Managed Play Store düzeni oluşturmayla ilgili programlama görevleri aşağıda açıklanmıştır. Ardından, tam bir mağaza düzeni örnek yer almaktadır.

Sayfa oluşturun

Bir sayfa, bir veya daha fazla kümeden oluşur. Her kümede en az bir uygulama bulunur. Sayfalar belirli kuruluşlar için oluşturulur. Bu nedenle, belirli kurumsal örneklerde (enterpriseId) işlemleri çağırmalısınız. Her sayfa için kullanıcı dostu bir ad ve yerelleştirme bilgilerinin yanı sıra kullanıcıların sayfadan ulaşabilecekleri bir pageId listesi sağlayabilirsiniz. Yeni sayfa, burada gösterildiği gibi insert işlemi (Storelayoutpages.insert) ile oluşturulur:

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();
}

Küme oluşturma

Kümeler, uygulama grupları içerir. Önce küme oluşturulur ve ardından bir sayfaya eklenebilir. Küme oluşturmak için Storelayoutclusters'ın insert işlemini çağırın ve şu özelliklerin değerlerini iletin:

  • Kümenin içermesi gereken productId öğelerinin listesi (örneğin, Gmail için productId değeri app:com.google.android.gm)
  • Küme için, \"İşleri Tamamlatmak\" gibi kullanıcı dostu bir ad
  • Kümeyle ilişkilendirilmesi gereken enterpriseId
  • pageId (kümeyi içermesi gereken sayfa için)
  • Kümenin sayfadaki yerleşimi (ilk, ikinci vb.)

Aşağıda bir örnek verilmiştir:

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();
}

Ana sayfayı ayarlama

Bir kullanıcının cihazında Managed Google Play'de görüntülenen ilk sayfa ana sayfadır. EMM olarak, müşterilerinizin her biri için bir ana sayfa tanımlarsınız. Sayfa, boş olsa bile her zaman görünür durumda olur ve silinemez.

Bu örnekte, belirtilen enterpriseId için ana sayfanın kimliği getirilir:

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

Sıradaki örnekte, bir müşterinin ana sayfası, müşterinin enterpriseId ve pageId değerlerinin sağlanmasıyla ayarlanmaktadır:

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

  return androidEnterprise
    .enterprises()
    .setStoreLayout(enterpriseId, storeLayout)
    .execute();
}
numaralı telefonu arayın.

Hızlı bağlantılar her sayfanın üst kısmında görüntülenerek kullanıcıların mağazadaki sayfalar arasında kolayca gezinmesini sağlar. Hızlı bağlantıları kullanmak için önce sayfa için pageId bilgisini alın (insert tarafından döndürülen) ve bağlantıyı sayfaya ekleyin. Örneğin, pageId'leri p1, p2, p3 olan üç sayfa oluşturursanız aşağıdakileri kullanarak ilk sayfadan diğer iki sayfaya hızlı bağlantılar ekleyebilirsiniz:

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();

Örnek

Birbiriyle bağlantılı üç sayfadan oluşan temel bir mağaza oluşturan eksiksiz bir örneği burada bulabilirsiniz. Her sayfa, benzer uygulamalardan oluşan bir kümeden oluşur. Her sayfa, müşterinin enterpriseId bilgisinin belirtilmesi ve sayfanın name yalnızca, daha sonra sayfaya hızlı bir bağlantı oluşturmak için kullanılacak pageId bilgisini almak üzere ayarlanmasıyla oluşturulur.

// 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");
}