Tugas pengelolaan umum

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 menggunakan setAvailableProductSet.
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:

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 List searchProducts(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;
}