Uygulamaları dağıtma

Google Play EMM API herkese açık ve özel uygulamalar için aşağıdaki dağıtım yöntemlerini destekler:

Managed Google Play Store'dan manuel olarak uygulama yükleme

Kullanıcıların Device policy ürününde hangi uygulamaları yükleyebileceğini tanımlayabilir ve Devices.update yöntemini çağırarak ayarlayabilirsiniz. Yeni bir cihazın temel hazırlığını yaparken politikayı, Managed Google Play Hesabını cihaza eklemeden önce ayarlamanız gerekir. Aksi takdirde, hesap cihaza eklendikten sonra politika kısa bir süre için uygulanmaz.

Yönetilen Play Store davranışı policy.productAvailabilityPolicy değeriyle tanımlanır:

  • all: Play Store'daki herkese açık tüm uygulamalar kullanılabilir.
  • whitelist: Yalnızca policy.productPolicy içinde listelenen uygulamalar kullanılabilir.

Her iki durumda da policy.productPolicy içindeki tüm uygulamalar varsayılan olarak kuruluşun mağaza düzenine eklenir. Kuruluşun mağaza düzeni, whitelist seçiliyken yönetilen Play Store'un ana sayfası olur. all seçildiğinde bu öğeye "İş Uygulamaları" sekmesinden erişilebilir. Managed Google Play iframe'i yerleştirerek, müşterinizin kuruluşun mağaza düzenini özelleştirmesine izin verebilirsiniz (Managed Google Play iframe ile uygulamaları düzenleme bölümüne bakın).

Kullanıcıların cihazlarına uzaktan uygulama yükleme

Bir uygulamayı kullanıcının cihazına uzaktan yüklemek (buna push yükleme olarak da adlandırılır) Device öğesinin policy bölümünde policy.productPolicy.autoInstallPolicy değerini ayarlayın. Yeni bir cihazın temel hazırlığını yaparken politikayı, Managed Google Play Hesabını cihaza eklemeden önce ayarlamanız gerekir. Aksi takdirde, hesap cihaza eklendikten sonra politika kısa bir süre için uygulanmaz.

autoInstallMode şu şekilde ayarlanabilir:

  • doNotAutoInstall: Uygulama otomatik olarak yüklenmez.
  • autoInstallOnce: Uygulama bir kez otomatik olarak yüklenir, kullanıcı kaldırırsa uygulama tekrar yüklenmez.
  • forceAutoInstall: Uygulama otomatik olarak yüklenir. Kullanıcı kaldırırsa uygulama tekrar yüklenir. Yönetilen cihazlarda DPC, DevicePolicyManager.setUninstallBlocked kullanarak yüklemeyi kaldırma işlemini engellemelidir.

Başarısızlık durumunda (bağlantı kaybı, depolama alanı eksikliği vb.) yükleme işlemleri başarılı olana kadar otomatik olarak yeniden denenir. Kurtarılamaz hata durumlarında pil ve veri israfını önlemek amacıyla üstel geri yükleme yeniden deneme stratejisi uygulanır.

Yükleme önceliği

autoInstallPriority ayarını yaparak yüklemelerin sırasını seçebilirsiniz. Öncelik imzalanmamış bir tam sayı olmalıdır. Varsayılan değer 0'dır. Uygulamalar artan sırada veya öncelik sırasına göre yüklenir. Yani ilk olarak daha düşük öncelik değerine sahip uygulamalar yüklenir.

Yükleme kısıtlamaları

Yükleme sırasında cihazın gereken durumunu kontrol etmenize olanak tanıyan bir autoInstallConstraint ayarlayarak her uygulama için yükleme kısıtlamaları belirleyebilirsiniz:

  • cihazın bir kablosuz ağa bağlı olması gerekip gerekmediği,
  • cihazın şarj edilmesi gerekip gerekmediği,
  • ve cihazın boşta olup olmaması gerektiği (kullanıcı tarafından aktif olarak kullanılmıyor).

Kısıtlamalar hemen karşılanmazsa etkilenen yüklemeler, kısıtlamalar karşılanıncaya kadar sıraya alınır.

autoInstallConstraint öğesinde alanların arasına VE kuralı uygulanır. Örneğin, aşağıdaki autoInstallConstraint kullanıldığında uygulamanın yüklenebilmesi için cihazın hem şarj ediliyor hem de sınırsız bir ağa (ör. kablosuz ağ) bağlı olması gerekir:

"autoInstallConstraint": [
  "chargingStateConstraint" : "chargingRequired",
  "networkTypeConstraint" : "unmeteredNetwork"
]

Temel hazırlığı yeni yapılmış cihazlara uygulamaları otomatik olarak yükle

Google Play EMM API, bir cihazın temel hazırlığı ilk kez yapıldığında bir NewDeviceEvent bildirimi gönderir. Yeni temel hazırlığı yapılmış cihazlara otomatik olarak uygulama yüklemek için NewDeviceEvent bildirimlerini dinleyin. Her NewDeviceEvent öğesinden userId ve deviceId öğelerini alın, ardından söz konusu cihazın politikasını ayarlamak için Devices.update yöntemini çağırın.

EMM bildirimlerine nasıl abone olacağınızı öğrenmek için EMM bildirimlerini ayarlama başlıklı makaleyi inceleyin.

Uygulamaları kapalı test için dağıtma

Kapalı test, uygulama geliştiricilerinin güvenilir kullanıcılardan uygulamalarının erken sürümleri hakkında geri bildirim almalarını sağlar. Geliştiriciler, Google Play Console'da kapalı testler oluşturabilirler. Play EMM API'yi kullanarak BT yöneticilerinin uygulamaların kapalı sürümlerini (kanal olarak da adlandırılır) belirli kullanıcılara dağıtmasını sağlayabilirsiniz. Kurumsal müşterileriniz bu özelliği yalnızca üçüncü taraf uygulamalarını değil, şirket içinde geliştirilen özel uygulamaları da test etmek için kullanabilir.

Uygun uygulamalar

Bir geliştirici, bir uygulamanın kapalı test kullanıcıları listesine kuruluş eklemeden önce, uygulamanın aşağıdaki ölçütleri karşılaması gerekir:

  • Uygulamanın üretim sürümü Google Play'de yayınlanmış olmalıdır.
  • Google Play Console'da, uygulamanın Gelişmiş Ayarlar sayfasında Managed Google Play etkinleştirilmiştir.
  • Uygulamanın tüm kapalı sürümleri sürüm kodu şartlarını karşılar.

Kapalı testlere kuruluş ekleme

Uygulama geliştiriciler, Kapalı Alfa Testi veya Google Grupları'nı kullanarak Alfa Testi yöntemlerini kullanan testlere kuruluşlar ekleyebilirler. Talimatlar için açık, kapalı veya dahili test oluşturma ile ilgili kılavuza bakın. Geliştiricinin, katılan her kuruluşun kuruluş kimliğini (kurumsal kimliği olarak da bilinir) girmesi gerekir. BT yöneticileri, aşağıdaki adımları uygulayarak kuruluşlarının kimliğini üçüncü taraf uygulama geliştiricilere iletebilir:

  1. Managed Google Play Store'da oturum açın.
  2. Yönetici Ayarları'nı tıklayın.
  3. Kuruluş kimliği dizesini Kuruluş bilgileri kutusundan kopyalayın ve geliştiriciye gönderin.

Özel uygulamalar için ek şartlar

Gizli uygulamalar için geliştiricinin, uygulamanın Gelişmiş Ayarlar sayfasındaki Managed Google Play sekmesine katılan her kuruluşun kuruluş kimliğini eklemesi de gerekir. Talimatlar için Özel uygulama yayınlama bölümüne göz atın.

Kapalı kanalları kullanıcılara dağıtma

Belirli bir uygulama için kuruluş tarafından kullanılabilen parçaların listesini almak istiyorsanız Products.get numaralı telefonu arayın. Yanıtta yer alan appTracks[] listesi, her uygulama için kullanılabilen kanalları içerir. appTracks[].trackAlias, EMM konsolunuzda gösterebileceğiniz parça için kullanıcı tarafından okunabilir bir addır ve appTracks[].trackId, kanalın makine tarafından okunabilir kimliğidir.

Bir kullanıcıya bir uygulamanın kapalı kanalında görünürlük izni vermek için Device öğesinin policy içinde policy.productPolicy[].trackIds[] özelliğini ayarlayın. Bir cihaz için birden fazla kanal varsa en yüksek sürüm koduna sahip mevcut sürüm yüklenir.

TrackId'ler, aşağıdakiler gibi belirli senaryolarda Products.get çağrısından otomatik olarak kaldırılır:

  • Kanal'ın APK'sı başka bir kanala veya üretime yükseltiliyor.
  • Üretim sürümü, kanaldan daha yeni bir sürümle güncellenir.
  • Geliştirici kanalı durdurur.

Ücretli uygulama lisanslarını takip etme

Ücretli uygulamalar için Grouplicenses nesnesi, bir kuruluşun kaç lisansa sahip olduğunu ve kaç lisansın kullanımda olduğunu takip eder. Bir uygulamanın lisans ayrıntılarını almak için Grouplicenses.get numaralı telefonu arayabilirsiniz.

Ücretli bir uygulamanın bir cihaza yüklenebilmesi için kuruluşun uygulama için bir lisansa sahip olması gerekir. Lisans varsa uygulama cihaza yüklenir ve bir Entitlements nesnesi oluşturulur. Entitlements nesnesi, bir lisansı kullanıcıya bağlar ve uygulama için kullanılabilir lisans sayısını azaltır. Kullanılabilir lisans yoksa uygulama yükleme işlemi başarısız olur ve Entitlements nesnesi oluşturulmaz.

Grouplicenses ve Entitlements nesneleri, ücretsiz olarak dağıtılan uygulamalar tarafından kullanılmaz.