EMM dapat menerapkan berbagai tugas pengelolaan umum dalam solusi perusahaan untuk Android, seperti tugas yang ditampilkan dalam panduan ini. Kode contoh menggunakan Library Klien Google Play EMM API untuk Java®.
Mencari pengguna dan mendapatkan detail pengguna
Banyak Google Play EMM API memerlukan userId
(selain enterpriseId
) untuk melakukan beberapa tugas terkait pengguna, seperti menginstal aplikasi, mendapatkan hak, dan pemberian lisensi. Beberapa panggilan memerlukan objek pengguna.
Jika organisasi menggunakan Akun Google Play terkelola, Anda mempertahankan pemetaan antara alamat email pengguna dan ID pengguna untuk akun tersebut. Dengan Akun Google, Anda menggunakan UsersListResponse
.
Mencari pengguna
Contoh kode ini mendapatkan ID pengguna yang dikaitkan dengan Akun Google. Pembatasan ini tidak berlaku untuk organisasi yang menggunakan Akun Google Play terkelola.
Contoh ini mengasumsikan bahwa Anda mengimpor model User
dan UsersListResponse
ke dalam kode. Untuk mendapatkan akun pengguna tertentu, dapatkan userId
-nya dengan meneruskan enterpriseId
dan email ke UsersListResponse
.
public UsersListResponse list(String enterpriseId, String email) throws IOException { return androidEnterprise .users() .list(enterpriseId, email) .execute(); }
Mendapatkan detail pengguna
Setelah memiliki userId
, Anda dapat mengambil detail lainnya. Lihat
Users.Get
.
public User get(String enterpriseId, String userId) throws IOException { return androidEnterprise .users() .get(enterpriseId, userId) .execute(); }
Memberi pengguna akses ke aplikasi
Anda dapat menggunakan Google Play EMM API untuk mengontrol aplikasi yang dapat diakses pengguna dari Google Play Store terkelola. Akses ke aplikasi mencakup kemampuan untuk menelusuri, melihat, menginstal, dan mengupdatenya. Ada tiga tingkat akses yang tersedia:
- Hanya aplikasi yang diizinkan: Pengguna hanya memiliki akses ke aplikasi tertentu.
- Semua aplikasi yang disetujui: Pengguna memiliki akses ke semua aplikasi yang disetujui untuk perusahaan.
- Semua aplikasi: Pengguna memiliki akses ke semua aplikasi yang tersedia untuk publik di Google Play Store.
Memberi pengguna akses hanya ke aplikasi tertentu
Contoh di bawah menunjukkan cara memberi pengguna akses ke kumpulan aplikasi tertentu dari Google Play Store terkelola. Proses ini meliputi langkah-langkah berikut:
- Kumpulkan daftar
productIds
(aplikasi) yang disetujui untuk pengguna (productSet). - Tentukan bahwa pengguna hanya dapat mengakses aplikasi dalam daftar yang ditentukan dengan menetapkan nilai string
productSetBehavior
ke"whitelist"
. - Terapkan daftar
productIds
dan setelan perilaku ke set produk yang tersedia milik pengguna menggunakansetAvailableProductSet
.
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(); }
Memberi pengguna akses ke semua aplikasi yang disetujui
Contoh di bawah menunjukkan cara memberi pengguna akses ke aplikasi apa pun yang disetujui untuk perusahaan dari Google Play Store terkelola. Proses ini meliputi langkah-langkah berikut:
- Tentukan bahwa pengguna dapat mengakses semua aplikasi yang disetujui untuk perusahaan dengan menetapkan nilai string
productSetBehavior
ke"allApproved"
. - Terapkan setelan ini untuk pengguna yang menggunakan
setAvailableProductSet
.
public ProductSet setUserIncludeApprovedApps(String enterpriseId, String userId) throws IOException { ProductSet productSet = new ProductSet(); productSet.setProductSetBehavior("allApproved"); return androidEnterprise .users() .setAvailableProductSet(enterpriseId, userId, productSet) .execute(); }
Catatan: Jika productSetBehavior
ditetapkan ke "allApproved"
, Anda tidak perlu menentukan productIds
untuk productSet.
Beri pengguna akses ke semua aplikasi
Contoh di bawah menunjukkan cara memberi pengguna kemampuan di Google Play Store terkelola untuk mengakses aplikasi apa pun yang tersedia di Google Play Store publik. Pengguna yang memiliki akses ke semua aplikasi masih hanya melihat tata letak Play Store untuk perusahaan mereka saat membuka Google Play terkelola, tetapi dapat menemukan aplikasi tambahan melalui penelusuran.
Pengguna tepercaya tertentu, seperti admin IT, mungkin memerlukan tingkat akses yang lebih besar ini untuk menguji dan mengevaluasi aplikasi sebelum menyetujuinya untuk perusahaan. Proses pemberian akses kepada pengguna ke semua aplikasi mencakup langkah-langkah berikut:
- Tentukan bahwa pengguna dapat mengakses semua aplikasi di Google Play Store dengan menyetel nilai string
productSetBehavior
ke"includeAll"
. - Terapkan setelan ini untuk pengguna yang menggunakan
setAvailableProductSet
.
public ProductSet setUserIncludeAllApps(String enterpriseId, String userId) throws IOException { ProductSet productSet = new ProductSet(); productSet.setProductSetBehavior("includeAll"); return androidEnterprise .users() .setAvailableProductSet(enterpriseId, userId, productSet) .execute(); }
Catatan: Jika productSetBehavior
ditetapkan ke "includeAll"
, Anda tidak perlu menentukan productIds
untuk productSet.
Membuat tata letak toko
Setelah memberi pengguna akses ke aplikasi, kelompokkan aplikasi ke dalam beberapa cluster untuk ditampilkan di etalase Google Play Store terkelola.
Anda dapat membuat tata letak toko khusus yang unik untuk setiap pelanggan Anda menggunakan API Storelayoutpages
dan Storelayoutclusters
. Tata letak umumnya terdiri dari kumpulan halaman, dan masing-masing dapat berisi kumpulan aplikasi. Anda dapat menempatkan aplikasi terkait ke dalam cluster yang sama. Lihat Membuat tata letak toko kustom untuk mengetahui detail dan kode contoh.
Mendapatkan izin aplikasi
Untuk menambahkan aplikasi ke tata letak toko kustom (atau menginstal aplikasi secara otomatis di perangkat pengguna) dan menampilkan aplikasi sehingga pengguna dapat memilihnya, administrator harus menerima izin ke aplikasi tersebut untuk seluruh organisasi. Administrator dapat menerima izin aplikasi dan menandai aplikasi sebagai disetujui untuk didistribusikan di konsol Google Play terkelola (lihat ringkasan Google Play terkelola).
Sebagai praktik terbaik, sebaiknya sematkan iframe izin ke konsol EMM. Artinya, pengguna tidak perlu membuka konsol Google Play terkelola secara terpisah. Gunakan Products.getApprovalUrl
untuk mendapatkan URL iframe.
public String getApprovalUrl(String enterpriseId, String productId) throws IOException { return androidEnterprise .products() .generateApprovalUrl(enterpriseId, productId) .execute() .getUrl(); }
Gunakan Products.approve
untuk menyetujui izin tersebut.
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(); }
Mendapatkan perangkat pengguna
Untuk melakukan tindakan khusus perangkat, Anda perlu mengidentifikasi perangkat yang terkait dengan
pengguna. Contoh ini menampilkan daftar perangkat untuk userID
tertentu menggunakan DevicesListResponse
.
public DevicesListResponse list(String enterpriseId, String userId) throws IOException { return androidEnterprise .devices() .list(enterpriseId, userId) .execute(); }
Jika pengguna menyetujui Persyaratan Layanan yang ditampilkan saat mencoba mengakses
Google Play terkelola untuk pertama kalinya, responsnya akan mencakup perangkat yang tidak dikelola
(perangkat dengan jenis pengelolaan unmanagedProfile
).
Mendapatkan dan menetapkan status perangkat
Tugas pengelolaan ini hanya berlaku untuk organisasi yang menggunakan Akun Google. Kebijakan ini tidak berlaku untuk organisasi yang menggunakan Akun Google Play terkelola.
Saat Akun Google terkelola pengguna diaktifkan di perangkat terkelola, akses ke layanan Google akan diaktifkan (atau dinonaktifkan) berdasarkan:
- Status perangkat.
- Apakah administrator domain telah menerapkan kebijakan EMM (dengan menyetel Terapkan kebijakan EMM pada perangkat Android di konsol Google Admin).
Jika penerapan EMM dinonaktifkan, status perangkat akan diabaikan dan akun diberi akses ke layanan Google setiap kali diaktifkan di perangkat Android. Jika penerapan EMM diaktifkan, tetapi status perangkat tidak, pengguna tidak dapat menginstal aplikasi dari Google Play, dan EMM API Google Play tidak dapat menginstal aplikasi secara otomatis untuk pengguna tersebut di perangkat.
Contoh ini menunjukkan cara mendapatkan status perangkat tertentu (ditentukan dengan meneruskan enterpriseId
, userId
, dan deviceId
).
Operasi getState()
dan setState()
hanya berfungsi untuk perangkat dengan managementType
managedDevice
atau managedProfile
(di resource Devices
). Perangkat dengan
managementType
unmanagedProfile
tidak dapat dikontrol dengan API ini.
public DeviceState getState(String enterpriseId, String userId, String deviceId) throws IOException { return androidEnterprise .devices() .getState(enterpriseId, userId, deviceId) .execute(); }
Aktifkan atau nonaktifkan layanan Google untuk akun di perangkat dengan menetapkan string AccountState
ke konstanta yang sesuai.
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(); }
Instal aplikasi di perangkat secara push
Administrator dapat menginstal aplikasi tanpa pemberitahuan. Interaksi pengguna tidak diperlukan.
Contoh ini menggunakan Installs.Update
untuk menginstal aplikasi secara otomatis (diidentifikasi oleh productId
)
ke perangkat (diidentifikasi oleh deviceId
).
public Install update(String enterpriseId, String userId, String deviceId, String productId) throws IOException { return androidEnterprise .installs() .update(enterpriseId, userId, deviceId, productId, new Install()) .execute(); }
Jika aplikasi sudah ada di perangkat dan versi yang telah diupdate tersedia, aplikasi akan diupdate ke versi baru.
Telusuri dan dapatkan aplikasi dari daftar aplikasi yang disetujui
Administrator membuat dan mengelola daftar aplikasi yang disetujui yang tersedia bagi pengguna mereka di Google Play terkelola. Pengguna di perangkat BYOD dengan profil kerja dan pengguna di perangkat milik perusahaan tempat seluruh perangkat dikelola oleh organisasi hanya dapat mendownload aplikasi dari daftar yang disetujui ini.
Anda dapat menyesuaikan konsol EMM untuk menyertakan kotak penelusuran sehingga administrator hanya dapat menelusuri aplikasi dalam daftar aplikasi yang disetujui. Fungsi penelusuran menerima parameter yang sama seperti fungsi penelusuran Google Play terkelola standar, tetapi hanya menelusuri aplikasi dalam daftar aplikasi yang disetujui.
Misalnya, jika administrator ingin mendorong penginstalan aplikasi dalam daftar aplikasi yang disetujui ke perangkat di perusahaan, mereka dapat menggunakan fungsi penelusuran ini di konsol EMM untuk menemukan aplikasi.
Dalam kueri, Anda dapat menentukan jumlah maksimum produk yang harus ada dalam hasil Anda, seperti setMaxResults(10L)
, hanya cukup untuk mengisi layar. Nilai defaultnya adalah 100, yang juga merupakan nilai maksimum yang dapat ditampilkan sekaligus. Jika hasilnya berisi token penomoran halaman, ada lebih banyak hasil yang dapat Anda ambil dengan meneruskan token penomoran halaman.
Contoh ini menunjukkan cara mendapatkan 10 hasil pertama dari penelusuran aplikasi produktivitas.
Lihat Products.List
.
public ListsearchProducts(String enterpriseId) throws IOException { ProductsListResponse executeResult = androidEnterprise .products() .list(enterpriseId) .setMaxResults(10L) .setQuery("productivity") .execute(); return executeResult.getProduct(); }
Jika hasil penelusuran berisi token penomoran halaman, penelusuran menampilkan lebih dari setMaxResults
hasil, atau lebih dari 10 dalam contoh ini. Untuk mengambil lebih banyak hasil, ulangi penelusuran dan sertakan token penomoran halaman dalam permintaan. Contoh ini mendapatkan 10 hasil berikutnya.
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; }