Memigrasikan perangkat yang ada ke AMAPI

Perangkat yang sudah dikelola oleh DPC kustom Anda dapat dimigrasikan ke Perangkat Android Policy (ADP) dan memanfaatkan Android Management API.

Prasyarat

  • Perangkat sudah dikelola oleh EMM dengan DPC kustom.
  • DPC kustom Anda terintegrasi dengan AMAPI SDK.
  • Perangkat terdaftar dengan Google Play EMM API.
  • Perangkat adalah milik Akun Google Play perusahaan terkelola.
  • Perangkat menjalankan Android 9 atau yang lebih baru.
  • Dalam hal profil kerja di perangkat milik perusahaan, perangkat harus dijalankan Android 11 atau yang lebih baru.

Mengintegrasikan dengan AMAPI SDK di DPC kustom Anda

Proses migrasi memerlukan aplikasi DPC kustom untuk mengintegrasikan SDK AMAPI. Anda dapat menemukan informasi selengkapnya tentang library ini dan cara menambahkannya ke aplikasi Anda dalam panduan integrasi AMAPI SDK.

Langkah-langkah untuk memigrasikan perangkat

  1. Menyiapkan kebijakan yang dimaksudkan untuk digunakan oleh perangkat setelah dimigrasikan ke AMAPI. Untuk pengalaman pengguna terbaik, hal ini harus setara dengan kebijakan yang sudah diberlakukan di perangkat oleh DPC.
  2. Buat token migrasi untuk perangkat dengan memanggil enterprises.migrationTokens.create
  3. Kirim value token migrasi ini ke DPC kustom Anda.
  4. Pastikan Android Device Policy diinstal di perangkat dengan menggunakan Play EMM API.
  5. Gunakan DpcMigrationClientFactory untuk membuat DpcMigrationClient
  6. Di DpcMigrationClient, panggil Metode migrateDeviceManagementToAndroidManagementApi. Tindakan ini akan menyelesaikan migrasi.
  7. deviceState berubah menjadi ACTIVE, dan Anda akan menerima pesan STATUS_REPORT melalui saluran Pub/Sub.

Setelah migrasi selesai, aplikasi panggilan akan kehilangan Profil atau Pemilik Perangkatnya Hak istimewa pemilik, karena ditransfer ke Android Device Policy.

Catatan: Perangkat harus terhubung ke internet untuk memulai migrasi. Proses ini dirancang agar tahan terhadap pemutusan jaringan selama proses migrasi, sehingga operasi kunci yang memerlukan konektivitas jaringan dilakukan sebelum transfer hak pemilik perangkat atau pemilik profil yang sebenarnya dari DPC ke Android Device Policy terjadi.

Token migrasi

Token migrasi diminta oleh server EMM untuk menandakan maksud memigrasikan perangkat tertentu yang dikelola oleh DPC kustom. Token migrasi dapat digunakan sampai migrasi berhasil diselesaikan atau hingga kedaluwarsa.

Integrasi DPC kustom

Pertama, Anda harus membuat DpcMigrationRequest, yang meneruskan token, dan jika perlu, daftar jaringan Wi-Fi yang telah dikonfigurasi ke token pembuat:

// Create a DpcMigrationRequest
DpcMigrationRequest request =
        DpcMigrationRequest.builder()
            .setMigrationToken(token)
            .build();

Anda kemudian dapat menggunakan metode dapatkan DpcMigrationClient dan memulai proses migrasi dengan migrateDeviceManagementToAndroidManagementApi:

// Create a DpcMigrationClient
DpcMigrationClient dpcMigrationClient = DpcMigrationClientFactory.create(context);
try {
  // Use helper function to retrieve Admin component name
  var adminComponentName = getAdminComponent(context);

  ListenableFuture<DpcMigrationAttempt> futureAttempt =
          dpcMigrationClient.migrateDeviceManagementToAndroidManagementApi(
              new ComponentName(context, DpcMigrationNotificationReceiver.class),
              adminComponentName,
              request);
  // handle futureAttempt
} catch (RuntimeException e) {
  // send failure feedback: "Error: " + e
}

Melacak progres migrasi

Proses migrasi dilacak pada perangkat melalui DpcMigrationAttempt

Anda dapat langsung menggunakan nilai yang ditampilkan oleh migrateDeviceManagementToAndroidManagementApi atau gunakan getMigrationAttempt dan listMigrationAttempts untuk mendapatkan dan mencantumkan upaya migrasi.

// Passing an empty name, we retrieve the last attempt 
var request = GetDpcMigrationAttemptRequest.builder().build();

var attempt = client.getMigrationAttempt(request);

Anda juga dapat menyiapkan DpcMigrationListener menggunakan NotificationReceiverService Anda, untuk mendengarkan pembaruan status untuk DpcMigrationAttempt.

// DpcMigrationNotificationReceiver for callback handling
public class DpcMigrationNotificationReceiver extends NotificationReceiverService
    implements DpcMigrationListener {

  @Override
  protected DpcMigrationListener getDpcMigrationListener() {
    // getDpcMigrationListener"
    return this;
  }

  @Override
  public void onMigrationStateChanged(DpcMigrationAttempt migrationAttempt) {
    // send success feedback
  }
}

Menangani jaringan Wi-Fi

Jika ada jaringan Wi-Fi yang dikelola oleh DPC kustom, kebijakan ONC AMAPI harus cocok dengan konfigurasi jaringan ini agar AMAPI dapat mulai mengelolanya dengan lancar. Interaksi migrasi DPC dengan pengelolaan Wi-Fi bervariasi bergantung pada mode pengelolaannya.

Perangkat dan profil kerja yang terkelola sepenuhnya di perangkat milik perusahaan

Selama migrasi, Android Device Policy mengasumsikan bahwa setiap jaringan Wi-Fi dikonfigurasi dalam kebijakan yang memiliki SSID dan jenis keamanan yang sama yang dikonfigurasi di perangkat identik dengan jaringan Wi-Fi yang dikonfigurasi Jaringan Wi-Fi. Oleh karena itu, jaringan Wi-Fi yang dikonfigurasi oleh DPC kustom tidak akan terpengaruh setelah migrasi hingga terjadi perubahan dalam kebijakan ONC yang terkait dengan jaringan. Namun, jika DPC kustom di-uninstal setelah migrasi, Jaringan Wi-Fi yang dikonfigurasi oleh DPC kustom akan dihapus secara otomatis. Android Device Policy terus menerapkan kebijakan, dan jika salah satu jaringan ini dikonfigurasi dalam kebijakan, jaringan seperti yang dikonfigurasi di kebijakan ditambahkan sebagai seperti biasa.

Profil kerja di perangkat pribadi

Untuk alasan teknis, jaringan Wi-Fi yang dikonfigurasi oleh DPC khusus harus dihapus oleh DPC kustom untuk Android Device Policy untuk mulai mengelola Jaringan Wi-Fi. AMAPI SDK menangani hal ini dan menghapus jaringan Wi-Fi tersebut sebelum mentransfer kepemilikan dari DPC kustom ke Android Device Policy tetapi memerlukan DPC kustom untuk meneruskan informasi tentang jaringan ini di DpcMigrationRequest Setelah migrasi, jaringan dikonfigurasi dalam kebijakan akan ditambahkan secara normal, jadi sebaiknya jaringan yang ditambahkan oleh DPC kustom juga harus dikonfigurasi di kebijakan.

Ada beberapa hal yang harus diperhatikan:

  • Jika jaringan yang aktif adalah jaringan Wi-Fi yang dikonfigurasi oleh DPC kustom, perangkat dapat offline sesaat selama migrasi.
  • Hanya jaringan Wi-Fi yang dikonfigurasi oleh DPC kustom yang harus diteruskan DpcMigrationRequest. Jika tidak, migrasi akan gagal jika jaringan tidak dapat dihapus oleh AMAPI SDK (misalnya jaringan Wi-Fi yang ditambahkan pengguna).
  • Jaringan Wi-Fi harus diteruskan DpcMigrationRequest hanya jika DPC kustom adalah pemilik profil di perangkat milik pribadi. Jika tidak, migrasi akan gagal.
  • Untuk alasan teknis, Android 12 adalah kasus luar biasa ketika jaringan yang diteruskan DpcMigrationRequest akan diabaikan dan semua Wi-Fi jaringan yang dikonfigurasi oleh DPC kustom akan dihapus secara otomatis. Selain itu, diperlukan adalah persyaratan bagi DPC kustom agar memiliki ACCESS_WIFI_STATE izin di Android 12 untuk profil kerja di perangkat milik pribadi, jika tidak, migrasi akan gagal.

Peringatan

Berikut beberapa peringatan terkait fitur ini.

ID khusus perusahaan

Untuk profil kerja di Android 12 dan yang lebih baru, ID khusus perusahaan, yang dapat diakses dari DevicePolicyManager.getEnrollmentSpecificId tidak berubah saat migrasi. Namun, jika profil kerja dikelola oleh Android Device Policy akan dibuat lagi di perangkat (misalnya setelah menghapus yang sebelumnya atau setelah mereset perangkat ke setelan pabrik), ID khusus perusahaan akan berubah pada saat itu.

Profil kerja pada perangkat yang terkelola sepenuhnya

Fitur ini tidak didukung di perangkat terkelola sepenuhnya yang memiliki yang menjalankan Android 9 atau 10. Anda tidak boleh mencoba memigrasikan perangkat ini, dan terlepas dari apakah terjadi error atau tidak, perangkat tersebut tidak didukung untuk migrasi DPC.