EMM dapat menerapkan berbagai tugas pengelolaan standar dalam solusi perusahaannya 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 memberi lisensi. Beberapa panggilan memerlukan objek pengguna.
Jika organisasi menggunakan Akun Google Play terkelola, Anda akan 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 terkait dengan Akun Google. Setelan 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
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(); }
Beri pengguna akses ke aplikasi
Anda dapat menggunakan Google Play EMM API untuk mengontrol aplikasi mana yang dapat diakses oleh pengguna dari Google Play Store terkelola. Akses ke aplikasi mencakup kemampuan untuk menelusuri, melihat, menginstal, dan memperbaruinya. Ada tiga jenis akses yang berbeda level 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 di perusahaan ini.
- Semua aplikasi: Pengguna memiliki akses ke semua aplikasi yang tersedia secara 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 mencakup proses langkah-langkah berikut:
- Kumpulkan daftar
productIds
(aplikasi) yang disetujui untuk pengguna (productSet). - Tentukan bahwa pengguna hanya dapat mengakses aplikasi di daftar yang diberikan dengan menetapkan nilai string
productSetBehavior
ke"whitelist"
. - Terapkan daftar
productIds
dan setelan perilaku ke kumpulan 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 mencakup proses langkah-langkah berikut:
- Tentukan bahwa pengguna dapat mengakses semua aplikasi yang disetujui untuk perusahaan dengan menetapkan nilai string
productSetBehavior
ke"allApproved"
. - Terapkan setelan ini ke pengguna 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
disetel ke "allApproved"
,
Anda tidak perlu menentukan productIds
apa pun untuk productSet.
Beri pengguna akses ke semua aplikasi
Contoh di bawah menunjukkan cara memberi pengguna kemampuan di Google Cloud Platform Play Store untuk mengakses aplikasi apa pun yang tersedia di Google Play Store publik. Pengguna dengan akses ke semua aplikasi masih hanya melihat tata letak toko untuk perusahaan saat mereka membuka Google Play terkelola, tetapi dapat menemukan aplikasi tambahan melalui pencarian.
Pengguna tepercaya tertentu, seperti admin IT, mungkin memerlukan akses untuk menguji dan mengevaluasi aplikasi sebelum menyetujuinya untuk perusahaan. Tujuan proses pemberian akses kepada pengguna ke semua aplikasi mencakup langkah-langkah berikut:
- Tentukan bahwa pengguna dapat mengakses semua aplikasi di Google Play Store dengan menetapkan nilai string
productSetBehavior
ke"includeAll"
. - Terapkan setelan ini ke pengguna 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
disetel ke "includeAll"
,
Anda tidak perlu menentukan productIds
apa pun untuk productSet.
Membuat tata letak toko
Setelah memberi pengguna akses ke aplikasi, kelompokkan aplikasi ke dalam cluster untuk ditampilkan di halaman retailer Google Play terkelola.
Anda dapat membuat tata letak toko kustom yang unik untuk setiap pelanggan menggunakan API Storelayoutpages
dan Storelayoutclusters
. Tata letak umum terdiri dari serangkaian halaman, dan masing-masing dapat berisi cluster 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 Play Store kustom (atau menginstal aplikasi diam-diam di perangkat) dan menampilkan aplikasi sehingga pengguna bisa memilihnya, administrator harus menerima izin untuk aplikasi itu untuk seluruh organisasi. Administrator dapat terima izin aplikasi dan tandai aplikasi sebagai disetujui untuk didistribusikan di folder terkelola Konsol Google Play (lihat ringkasan Google Play terkelola).
Sebagai praktik terbaik, sebaiknya sematkan iframe izin ke
Konsol EMM. Artinya, pengguna tidak perlu menavigasi secara terpisah ke
konsol Google Play terkelola. 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(); }
Mengetahui perangkat pengguna
Untuk melakukan tindakan khusus perangkat, Anda perlu mengidentifikasi perangkat yang terkait dengan
seorang 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 mereka mencoba mengakses
Google Play terkelola untuk pertama kalinya, responsnya mencakup perangkat yang tidak dikelola
(perangkat dengan jenis pengelolaan unmanagedProfile
).
Mendapatkan dan menyetel status perangkat
Tugas pengelolaan ini hanya berlaku untuk organisasi yang menggunakan Akun Google. Ini tidak berlaku untuk organisasi yang menggunakan Akun Google Play terkelola.
Jika Akun Google terkelola milik pengguna diaktifkan di perangkat terkelola, akses untuk layanan Google diaktifkan (atau dinonaktifkan) berdasarkan:
- Status perangkat.
- Apakah administrator domain telah menerapkan kebijakan EMM (dengan menetapkan Menerapkan kebijakan EMM di perangkat Android di konsol Google Admin).
Jika penerapan EMM dinonaktifkan, status perangkat akan diabaikan dan akun akan diberi akses ke layanan Google setiap kali diaktifkan di perangkat Android. Jika penerapan EMM diaktifkan tetapi status perangkat tidak diaktifkan, pengguna tidak dapat menginstal aplikasi dari Google Play, dan Google Play EMM API tidak dapat menginstal secara otomatis aplikasi untuk pengguna tersebut di perangkat.
Contoh ini menunjukkan cara mendapatkan status perangkat tertentu (ditentukan dengan meneruskan
enterpriseId
, userId
, dan deviceId
).
getState()
dan operasi setState()
berfungsi untuk perangkat dengan managementType
managedDevice
atau managedProfile
(di resource Devices
) saja. Perangkat dengan
managementType
dari 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(); }
Mengaktifkan atau menonaktifkan layanan Google untuk akun di perangkat dengan menyetel
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
Administrator dapat menginstal aplikasi secara diam-diam. 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 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 perangkat BYOD dengan profil kerja dan pengguna menggunakan perangkat milik perusahaan, yang 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 di 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 pada daftar aplikasi yang disetujui untuk perangkat di perusahaannya, mereka dapat menggunakan fungsi penelusuran ini di konsol EMM untuk menemukan aplikasi tersebut.
Dalam kueri, Anda dapat menentukan jumlah maksimum produk yang seharusnya ada dalam hasil, seperti setMaxResults(10L)
, hanya secukupnya untuk mengisi layar. Nilai defaultnya adalah 100, yang juga merupakan nilai maksimum yang dapat ditampilkan sekaligus. Saat 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 tersebut akan menghasilkan lebih dari setMaxResults
hasil, atau lebih dari 10 hasil 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; }