Tugas pengelolaan umum

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 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 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:

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 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 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;
}