EMM'ler, Android'e yönelik kurumsal çözümlerinde bu kılavuzda gösterilen görevler gibi bir dizi tipik yönetim görevini uygulayabilir. Örnek kod, Java için Google Play EMM API İstemci Kitaplığı®'nı kullanır.
Kullanıcı arama ve kullanıcı ayrıntılarını alma
Google Play EMM API'lerinin birçoğu; uygulama yükleme, yararlanma haklarını alma ve lisanslama gibi kullanıcılarla ilişkili bazı görevleri yerine getirmek için enterpriseId
'a ek olarak bir userId
'ın da olmasını gerektirir. Bazı çağrılar için kullanıcı nesnesi gerekir.
Bir kuruluş Managed Google Play Accounts'u kullanıyorsa kullanıcı e-posta adresleri ile bu hesaplara ait kullanıcı kimlikleri arasında bir eşleme oluşturursunuz. Google Hesapları ile UsersListResponse
kullanıyorsunuz.
Kullanıcı ara
Bu kod örneği, Google Hesapları ile ilişkilendirilmiş kullanıcı kimliklerini alır. Managed Google Play Accounts kullanan kuruluşlar için geçerli değildir.
Bu örnekte, User
ve UsersListResponse
modellerini kodunuza aktardığınız varsayılmaktadır. Belirli bir kullanıcı hesabını almak için enterpriseId
ve e-postayı UsersListResponse
adresine ileterek userId
alın.
public UsersListResponse list(String enterpriseId, String email) throws IOException { return androidEnterprise .users() .list(enterpriseId, email) .execute(); }
Kullanıcı ayrıntılarını alma
userId
edindikten sonra diğer ayrıntıları alabilirsiniz. Şu sayfaya göz atın:
Users.Get
.
public User get(String enterpriseId, String userId) throws IOException { return androidEnterprise .users() .get(enterpriseId, userId) .execute(); }
Bir kullanıcıya uygulamalara erişim izni verme
Bir kullanıcının Managed Google Play Store'dan hangi uygulamalara erişebileceğini kontrol etmek için Google Play EMM API'lerini kullanabilirsiniz. Bir uygulamaya erişim, uygulamayı arama, görüntüleme, yükleme ve güncelleme özelliğini içerir. Kullanabileceğiniz üç farklı erişim düzeyi vardır:
- Yalnızca izin verilen uygulamalar: Kullanıcı yalnızca belirli uygulamalara erişebilir.
- Tüm onaylanmış uygulamalar: Kullanıcı, kuruluş için onaylanmış tüm uygulamalara erişebilir.
- Tüm uygulamalar: Kullanıcı, Google Play Store'da herkese açık olarak sunulan tüm uygulamalara erişebilir.
Bir kullanıcıya yalnızca belirli uygulamalara erişim izni verme
Aşağıdaki örnekte, bir kullanıcının Managed Google Play Store'daki belirli bir uygulama grubuna nasıl erişim izni verileceği gösterilmektedir. Süreç aşağıdaki adımları içerir:
- Kullanıcı için onaylanan
productIds
(uygulamalar) listesini oluşturun (productSet). productSetBehavior
dizesinin değerini"whitelist"
olarak ayarlayarak kullanıcının yalnızca verilen listedeki uygulamalara erişebileceğini belirtin.productIds
listesini ve davranış ayarını,setAvailableProductSet
kullanarak kullanıcının kullanılabilir ürün grubuna uygulayın.
public ProductSet setProductSet(String enterpriseId, String userId, List<String> productIds) throws IOException { ProductSet productSet = new ProductSet(); productSet.setProductId(productIds); productSet.setProductSetBehavior("whitelist"); return androidEnterprise .users() .setAvailableProductSet(enterpriseId, userId, productSet) .execute(); }
Bir kullanıcıya, onaylanan tüm uygulamalar için erişim izni verme
Aşağıdaki örnekte, bir kullanıcının Managed Google Play Store'dan kuruluş için onaylanmış herhangi bir uygulamaya nasıl erişim izni verileceği gösterilmektedir. Süreç aşağıdaki adımları içerir:
productSetBehavior
dizesinin değerini"allApproved"
olarak ayarlayarak kullanıcının kuruluş için onaylanan tüm uygulamalara erişebileceğini belirtin.- Bu ayarı,
setAvailableProductSet
kullanarak kullanıcıya uygulayın.
public ProductSet setUserIncludeApprovedApps(String enterpriseId, String userId) throws IOException { ProductSet productSet = new ProductSet(); productSet.setProductSetBehavior("allApproved"); return androidEnterprise .users() .setAvailableProductSet(enterpriseId, userId, productSet) .execute(); }
Not: productSetBehavior
, "allApproved"
olarak ayarlandığında productSet için herhangi bir productIds
belirtmeniz gerekmez.
Bir kullanıcının tüm uygulamalara erişmesine izin verme
Aşağıdaki örnekte, bir kullanıcıya Managed Google Play Store'da herkese açık Google Play Store'da sunulan herhangi bir uygulamaya erişme yetkisinin nasıl verileceği gösterilmektedir. Tüm uygulamalara erişimi olan kullanıcılar, Managed Google Play'i açtıklarında yalnızca kuruluşlarının mağaza düzenini görmeye devam eder ancak arama yoluyla ek uygulamalar bulabilir.
BT yöneticileri gibi belirli güvenilir kullanıcılar, uygulamaları kuruluş için onaylamadan önce test etmek ve değerlendirmek üzere bu daha yüksek düzeyde erişime ihtiyaç duyabilir. Bir kullanıcıya tüm uygulamalara erişim izni verme süreci aşağıdaki adımları içerir:
productSetBehavior
dizesinin değerini"includeAll"
olarak ayarlayarak kullanıcının Google Play Store'daki tüm uygulamalara erişebileceğini belirtin.- Bu ayarı,
setAvailableProductSet
kullanarak kullanıcıya uygulayın.
public ProductSet setUserIncludeAllApps(String enterpriseId, String userId) throws IOException { ProductSet productSet = new ProductSet(); productSet.setProductSetBehavior("includeAll"); return androidEnterprise .users() .setAvailableProductSet(enterpriseId, userId, productSet) .execute(); }
Not: productSetBehavior
, "includeAll"
olarak ayarlandığında productSet için herhangi bir productIds
belirtmeniz gerekmez.
Mağaza düzeni oluşturma
Kullanıcılara uygulamalara erişim izni verdikten sonra uygulamaları, Managed Google Play Store'da görüntülenmeleri için kümeler halinde gruplandırın.
Storelayoutpages
ve Storelayoutclusters
API'lerini kullanarak her bir müşteriniz için benzersiz bir özelleştirilmiş mağaza düzeni oluşturabilirsiniz. Tipik bir düzen, bir dizi sayfadan oluşur ve her sayfa, uygulama kümeleri içerebilir. İlgili uygulamaları aynı kümeye yerleştirebilirsiniz. Ayrıntılar ve örnek kod için Özel mağaza düzenleri oluşturma bölümüne bakın.
Bir uygulamanın izinlerini alma
Bir uygulamayı özel mağaza düzenine eklemek (veya bir kullanıcının cihazına sessiz bir şekilde uygulama yüklemek) ve uygulamayı kullanıcının seçebileceği şekilde görüntülemek için yöneticinin, kuruluşun tamamı için bu uygulamaya yönelik izinleri kabul etmesi gerekir. Yöneticiler, Managed Google Play Console'da uygulama izinlerini kabul edebilir ve uygulamaları, dağıtım için onaylandı olarak işaretleyebilir (Managed Google Play'e genel bakış bölümüne bakın).
En iyi uygulama olarak, izinler iframe'ini EMM konsolunuza yerleştirmenizi öneririz. Bu, kullanıcının Managed Google Play Console'a ayrı olarak gitmesine gerek olmadığı anlamına gelir. iframe'in URL'sini almak için Products.getApprovalUrl
kodunu kullanın.
public String getApprovalUrl(String enterpriseId, String productId) throws IOException { return androidEnterprise .products() .generateApprovalUrl(enterpriseId, productId) .execute() .getUrl(); }
Bu izinleri kabul etmek için Products.approve
hesabını kullanın.
public void approveProduct(String enterpriseId, String productId, String approvalUrl) throws IOException { ProductsApproveRequest productsApproveRequest = new ProductsApproveRequest() .setApprovalUrlInfo( new ApprovalUrlInfo().setApprovalUrl(approvalUrl)); androidEnterprise .products() .approve(enterpriseId, productId, productsApproveRequest) .execute(); }
Kullanıcının cihazlarını alma
Cihaza özel işlemler yapmak için bir kullanıcıyla ilişkilendirilmiş cihazları tanımlamanız gerekir. Bu örnek, belirli bir userID
için DevicesListResponse
kullanan cihazların listesini döndürür.
public DevicesListResponse list(String enterpriseId, String userId) throws IOException { return androidEnterprise .devices() .list(enterpriseId, userId) .execute(); }
Kullanıcı, Managed Google Play'e ilk kez erişmeye çalıştığında sunulan Hizmet Şartları'nı kabul ettiyse yanıta yönetilmeyen cihazlar (yönetim türündeki unmanagedProfile
cihazlar) dahil edilir.
Bir cihazın durumunu alma ve ayarlama
Bu yönetim görevi yalnızca Google Hesapları kullanan kuruluşlara uygulanır. Managed Google Play Accounts'u kullanan kuruluşlar için geçerli değildir.
Kullanıcının yönetilen Google Hesabı yönetilen bir cihazda etkinleştirildiğinde, Google hizmetlerine erişim aşağıdakilere göre etkinleştirilir (veya devre dışı bırakılır):
- Cihaz durumu.
- Alan yöneticisinin EMM politikalarını zorunlu kılıp kılmadığı (Google Yönetici konsolunda Android cihazlarda EMM politikalarını zorunlu kıl seçeneğini belirleyerek).
EMM'nin zorunlu kılınması devre dışı bırakılırsa cihaz durumu yoksayılır ve Android cihazda her etkinleştirildiğinde hesaba Google hizmetlerine erişim izni verilir. EMM'nin zorunlu kılınması etkin olmasına rağmen cihazın durumu etkin değilse kullanıcılar Google Play'den uygulama yükleyemez ve Google Play EMM API'leri söz konusu kullanıcı için uygulamaları cihaza sessizce yükleyemez.
Bu örnekte, belirli bir cihazın durumunun nasıl alınacağı gösterilmektedir (enterpriseId
, userId
ve deviceId
iletilerek belirtilir).
getState()
ve setState()
işlemleri yalnızca managementType
değeri managedDevice
veya managedProfile
olan (Devices
kaynağında) cihazlar için çalışır. managementType
değeri unmanagedProfile
olan cihazlar bu API'lerle kontrol edilemez.
public DeviceState getState(String enterpriseId, String userId, String deviceId) throws IOException { return androidEnterprise .devices() .getState(enterpriseId, userId, deviceId) .execute(); }
AccountState
dizesini uygun sabit değere ayarlayarak bir cihazda hesap için Google hizmetlerini etkinleştirin veya devre dışı bırakın.
public DeviceState setState(String enterpriseId, String userId, String deviceId, String accountState) throws IOException { DeviceState deviceState = new DeviceState(); deviceState.setAccountState(accountState); return androidEnterprise .devices() .setState(enterpriseId, userId, deviceId, deviceState) .execute(); }
Uygulamaları cihaza push yükleme
Yöneticiler uygulamaları sessizce yükleyebilir. Kullanıcı etkileşimi gerekmez.
Bu örnekte, bir uygulamayı (productId
tarafından tanımlanır) bir cihaza (deviceId
tarafından tanımlanır) sessizce yüklemek için Installs.Update
kullanılmaktadır.
public Install update(String enterpriseId, String userId, String deviceId, String productId) throws IOException { return androidEnterprise .installs() .update(enterpriseId, userId, deviceId, productId, new Install()) .execute(); }
Uygulama cihazda zaten mevcutsa ve güncellenmiş bir sürümü varsa uygulama yeni sürüme güncellenir.
Onaylı uygulamalar listesinde uygulama arayıp alma
Yöneticiler, Managed Google Play'de kullanıcılarının kullanımına sunulan onaylı uygulamaların bir listesini oluşturur ve yönetir. İş profiline sahip KCG cihazları ve cihazın tamamını kuruluş tarafından yönetilen kurumsal cihazların kullanıcıları, yalnızca bu onaylananlar listesinden uygulama indirebilir.
EMM konsolunuzu bir arama kutusu içerecek şekilde özelleştirebilirsiniz. Böylece yöneticiler yalnızca onaylanan uygulamalar listesindeki uygulamaları arayabilir. Arama işlevi, standart bir Managed Google Play arama işleviyle aynı parametreleri kabul eder, ancak yalnızca onaylanan uygulamalar listesindeki uygulamaları arar.
Örneğin, yönetici, onaylanan uygulamalar listesindeki bir uygulamayı kuruluşundaki cihazlara aktarmak isterse uygulamayı bulmak için EMM konsolundaki bu arama işlevini kullanabilir.
Sorgunuzda, sonucun içermesi gereken maksimum ürün sayısını (ör. setMaxResults(10L)
), ekranı dolduracak kadar belirtebilirsiniz. Varsayılan değer 100'dür ve bu aynı zamanda bir defada döndürülebilecek maksimum değerdir. Sonuçta sayfalara ayırma jetonu bulunduğunda, sayfalandırma jetonunu ileterek alabileceğiniz daha fazla sonuç olur.
Bu örnekte, üretkenlik uygulamaları aramasında ilk 10 sonucun nasıl alınacağı gösterilmektedir.
Şu sayfaya göz atın: Products.List
.
public ListsearchProducts(String enterpriseId) throws IOException { ProductsListResponse executeResult = androidEnterprise .products() .list(enterpriseId) .setMaxResults(10L) .setQuery("productivity") .execute(); return executeResult.getProduct(); }
Arama sonucunda sayfalara ayırma jetonu varsa arama, setMaxResults
'den fazla sonuç veya bu örnekte 10'dan fazla sonuç oluşturmuştur. Daha fazla sonuç almak için aramayı yeniden yapın ve sayfalara ayırma jetonunu isteğe ekleyin. Bu örnek sonraki 10 sonucu getirir.
public ProductsListResponse continueSearch( String enterpriseId, ProductsListResponse previousResponse) throws IOException { ProductsListResponse nextResults = androidEnterprise .products() .list(enterpriseId) .setMaxResults(10L) .setToken(previousResponse.getTokenPagination().getNextPageToken()) .setQuery("productivity") .execute(); return nextResults; }