EMM'ler, Android için kurumsal çözümlerinde çeşitli tipik yönetim görevlerini (ör. bu kılavuzda gösterilen görevler) gerçekleştirebilir. Ö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 çoğu; uygulama yükleme, yararlanma hakkı alma ve lisanslama gibi kullanıcıyla ilişkili bazı görevleri gerçekleştirmek için (enterpriseId
öğesine ek olarak) bir userId
gerektirir. Bazı çağrılar için kullanıcı nesnesi gerekir.
Bir kuruluş Managed Google Play Accounts kullanıyorsa kullanıcı e-posta adresleri ile bu hesapların kullanıcı kimlikleri arasında bir eşleme sağlarsınız. Google Hesapları ile UsersListResponse
kullanırsınız.
Kullanıcı ara
Bu kod örneği, Google Hesapları ile ilişkilendirilen kullanıcı kimliklerini alır. Bu ayar, Managed Google Play Accounts kullanan kuruluşlar için geçerli değildir.
Bu örnekte, User
ve UsersListResponse
modellerini kodunuza içe aktardığınız varsayılmıştır. Belirli bir kullanıcı hesabına sahip olmak 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
cihazını aldıktan sonra diğer ayrıntıları alabilirsiniz. Görüntüleyin
Users.Get
public User get(String enterpriseId, String userId) throws IOException { return androidEnterprise .users() .get(enterpriseId, userId) .execute(); }
Kullanıcılara uygulamalara erişim izni verme
Kullanıcının hangi uygulamalara erişebileceğini kontrol etmek için Google Play EMM API'lerini kullanabilirsiniz Google Play Store'dan. Bir uygulamaya erişim, şunları içerir: arama, görüntüleme, yükleme ve güncelleme. Üç farklı erişim seviyeler:
- Yalnızca izin verilen uygulamalar: Kullanıcı yalnızca belirli uygulamalara erişebilir.
- Tüm onaylı uygulamalar: Kullanıcı, şu uygulama için onaylanmış tüm uygulamalara erişebilir: inceleyebilirsiniz.
- Tüm uygulamalar: Kullanıcı, herkese açık tüm uygulamalara erişebilir bir uygulamadır.
Bir kullanıcıya yalnızca belirli uygulamalara erişim izni verme
Aşağıdaki örnekte, bir kullanıcıya belirli bir uygulama grubuna nasıl erişim izni verileceği gösterilmektedir Google Play Store'dan. Süreç şunları içerir: şu adımları uygulayın:
- Kullanıcı (productSet) için onaylanmış
productIds
(uygulamaların) bir listesini oluşturun. productSetBehavior
dizesinin değerini"whitelist"
olarak ayarlayarak kullanıcının yalnızca belirtilen listedeki uygulamalara erişebileceğini belirtin.productIds
listesini ve davranış ayarını,setAvailableProductSet
ile kullanıcının mevcut ü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 tüm onaylı uygulamalar için erişim izni verme
Aşağıdaki örnekte, onaylanan herhangi bir uygulamaya kullanıcıya nasıl erişim izni verileceği gösterilmektedir . Süreç şunları içerir: şu adımları uygulayın:
productSetBehavior
dizesinin değerini"allApproved"
olarak ayarlayarak kullanıcının kuruluş için onaylanmış tüm uygulamalara erişebileceğini belirtin.- Bu ayarı,
setAvailableProductSet
özelliğini 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
değeri "allApproved"
olarak ayarlandığında
productSet için herhangi bir productIds
belirtmeniz gerekmez.
Bir kullanıcıya tüm uygulamalara erişim izni verme
Aşağıdaki örnekte, bir kullanıcıya yönetilen Google Play Store'da, herkese açık Google Play Store'da sunulan herhangi bir uygulamaya erişebilirsiniz. Tüm uygulamalara erişimi olan kullanıcılar yalnızca kendi uygulamaları için mağaza düzenini görürler. Google Play'i açtıklarında ancak ek uygulamalar bulabiliyorlarsa yardımcı olur.
BT yöneticileri gibi bazı güvenilir kullanıcılar, daha yüksek düzeyde kurumsal için onaylamadan önce uygulamaları test ve değerlendirme erişimi. İlgili içeriği oluşturmak için kullanılan 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
özelliğini 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
değeri "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 müşterilerinizin her biri için benzersiz, özelleştirilmiş bir mağaza düzeni oluşturabilirsiniz. Tipik bir düzen bir dizi sayfadan oluşur ve bunların her biri 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 kullanıcının cihazına sessizce yüklemek cihazda) yer alır ve kullanıcının seçebilmesi için uygulamayı görüntüler. Kuruluşun tamamı için bu uygulamaya erişim izinlerini kabul etmek Yöneticiler şunları yapabilir: uygulama izinlerini kabul etme ve uygulamaları yönetilen Google Play Console (Managed Google Play'e genel bakış sayfasına göz atın).
En iyi uygulama olarak, izin iframe'ini
EMM konsolu. Bu, kullanıcının sayfaya ayrıca gitmesi gerekmeyeceği anlamına gelir.
Managed Google Play Console. iframe'in URL'sini almak için Products.getApprovalUrl
işlevini 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, cihazınızla ilişkilendirilmiş cihazları tanımlamanız gerekir.
daha ayrıntılı şekilde ele alınmıştır. Bu örnek, DevicesListResponse
kullanılarak belirli bir userID
için cihaz listesini döndürür.
public DevicesListResponse list(String enterpriseId, String userId) throws IOException { return androidEnterprise .devices() .list(enterpriseId, userId) .execute(); }
Kullanıcı, erişmeye çalıştığında sunulan Hizmet Şartları'nı kabul ettiyse
kullanıyorsanız yanıt, yönetilmeyen cihazları içeriyorsa
(unmanagedProfile
yönetim türüne sahip cihazlar).
Bir cihazın durumunu alma ve ayarlama
Bu yönetim görevi yalnızca Google Hesapları kullanan kuruluşlar için geçerlidir. Google Managed Google Play Accounts kullanan kuruluşlar için geçerli değildir.
Kullanıcının yönetilen Google Hesabı yönetilen bir cihazda etkinleştirildiğinde, aşağıdaki nedenlerle Google hizmetlerinin etkinleştirilmesi (veya devre dışı bırakılması):
- Cihaz durumu.
- Alan yöneticisinin EMM politikalarını zorunlu kılıp kılmadığı ( EMM politikalarını Android cihazlarda uygulama .
EMM yaptırımı devre dışı bırakılırsa cihaz durumu yoksayılır ve hesap Android cihazda etkinleştirildiğinde Google hizmetlerine erişim izni verilir. EMM yaptırımı etkinse ancak cihazın durumu etkin değilse kullanıcılar uygulamayı yükleyemez Google Play'deki uygulamalar ve Google Play EMM API'leri sessizce yüklenememektedir cihazdaki uygulamaları kullanabilirsiniz.
Bu örnekte, belirli bir cihazın durumunun nasıl alınacağı gösterilmektedir (
enterpriseId
, userId
ve deviceId
).
getState()
ve setState()
işlemi, managementType
değerine sahip cihazlarda çalışır.
Yalnızca managedDevice
veya managedProfile
(Devices
kaynağında). Şu özelliğe sahip cihazlar:
bir unmanagedProfile
managementType
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 ekleyin.
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(); }
Bir cihaza uygulama push yükleme
Yöneticiler uygulamaları sessizce yükleyebilir. Kullanıcı etkileşimi gerekmez.
Bu örnekte, bir uygulamayı (productId
tarafından tanımlanır) sessizce yüklemek için Installs.Update
kullanılmıştır.
(deviceId
tarafından tanımlanı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 arama ve alma
Yöneticiler, Managed Google Play'deki kullanıcılarının kullanımına sunulan onaylı uygulamaların bir listesini oluşturur ve bu listeyi yönetir. İş profili olan KCG cihazlarındaki kullanıcılar ve cihazın tamamının kuruluş tarafından yönetildiği kurumsal sorumlu cihazlardaki kullanıcılar yalnızca bu onaylananlar listesinden uygulama indirebilir.
EMM konsolunuzu arama kutusu içerecek şekilde özelleştirebilirsiniz. Böylece yöneticilerin yalnızca onaylanan uygulamalar listesinde olan uygulamaları arayabilir. Arama işlevi, standart bir Managed Google Play arama işleviyle aynı parametreleri kabul eder, ancak yalnızca onaylı uygulamalar listesindeki uygulamaları arar.
Örneğin yönetici, onaylı uygulamalar listesindeki bir uygulamayı kuruluşundaki cihazlara yüklemek isterse uygulamayı bulmak için EMM konsolundaki bu arama işlevini kullanabilir.
Sorgunuzda, sonucunuzun içermesi gereken maksimum ürün sayısını (ör. setMaxResults(10L)
) ekranı doldurmaya yetecek kadar belirtebilirsiniz. Varsayılan değer 100'dür ve bu değer aynı zamanda tek seferde döndürülebilecek maksimum değerdir. Sonuç bir sayfalandırma jetonu içerdiğinde, sayfalara ayırma jetonunu ileterek alabileceğiniz daha fazla sonuç olur.
Bu örnekte, üretkenlik uygulamaları için yapılan bir aramanın ilk 10 sonucunun 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 sonucu sayfalara ayırma jetonu içeriyorsa arama, setMaxResults
adetten fazla veya bu örnekte 10'dan fazla sonuç üretmiştir. Daha fazla sonuç almak için aramayı yeniden yapın ve sayfalara ayırma jetonunu isteğe ekleyin. Bu örnekte sonraki 10 sonuç gösterilir.
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; }