Perangkat yang sudah dikelola oleh DPC kustom Anda dapat dimigrasikan ke Android Device 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.
- Untuk profil kerja di perangkat milik perusahaan, perangkat harus menjalankan Android 11 atau yang lebih baru.
Mengintegrasikan dengan AMAPI SDK di DPC kustom Anda
Proses migrasi memerlukan aplikasi DPC kustom untuk mengintegrasikan AMAPI SDK. Anda dapat menemukan informasi selengkapnya tentang library ini dan cara menambahkannya ke aplikasi dalam panduan integrasi AMAPI SDK.
Langkah-langkah untuk memigrasikan perangkat
- Siapkan kebijakan yang dimaksudkan untuk digunakan oleh perangkat setelah dimigrasikan ke AMAPI. Untuk memberikan pengalaman pengguna terbaik, hal ini harus setara dengan kebijakan yang sudah diterapkan di perangkat oleh DPC Anda.
- Buat token migrasi untuk perangkat dengan memanggil
enterprises.migrationTokens.create
. - Kirim
value
token migrasi ini ke DPC kustom Anda. - Pastikan Android Device Policy telah diinstal di perangkat menggunakan Play EMM API.
- Gunakan
DpcMigrationClientFactory
untuk membuatDpcMigrationClient
- Pada
DpcMigrationClient
, panggil metodemigrateDeviceManagementToAndroidManagementApi
. Tindakan ini akan menyelesaikan migrasi. deviceState
akan berubah menjadiACTIVE
, dan Anda akan menerima pesanSTATUS_REPORT
melalui saluran Pub/Sub.
Setelah migrasi selesai, aplikasi panggilan akan kehilangan hak istimewa Pemilik Perangkat atau Pemilik Profil, karena hak istimewa tersebut 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 utama yang memerlukan konektivitas jaringan dilakukan sebelum transfer sebenarnya untuk hak pemilik perangkat atau pemilik profil 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 hingga migrasi berhasil diselesaikan atau hingga masa berlakunya habis.
Integrasi DPC kustom
Pertama, Anda harus membuat DpcMigrationRequest
, dengan meneruskan token, dan jika perlu, daftar jaringan Wi-Fi yang telah dikonfigurasi ke pembuatnya:
// Create a DpcMigrationRequest
DpcMigrationRequest request =
DpcMigrationRequest.builder()
.setMigrationToken(token)
.build();
Selanjutnya, Anda dapat menggunakan get 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 di perangkat melalui
DpcMigrationAttempt
.
Anda dapat langsung menggunakan metode yang ditampilkan oleh
migrateDeviceManagementToAndroidManagementApi
atau menggunakan metode
getMigrationAttempt
dan listMigrationAttempts
untuk memperoleh
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
untuk memproses
pembaruan status 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 pengelolaan.
Perangkat dan profil kerja yang terkelola sepenuhnya di perangkat milik perusahaan
Selama migrasi, Android Device Policy berasumsi bahwa setiap jaringan Wi-Fi yang dikonfigurasi dalam kebijakan yang memiliki SSID dan jenis keamanan yang sama dari jaringan Wi-Fi yang dikonfigurasi di perangkat identik dengan jaringan Wi-Fi yang dikonfigurasi dan cocok. Oleh karena itu, jaringan Wi-Fi yang dikonfigurasi oleh DPC kustom tidak akan terpengaruh setelah migrasi sampai ada perubahan kebijakan ONC yang sesuai dengan jaringan. Namun, jika DPC kustom di-uninstal setelah migrasi, jaringan Wi-Fi yang dikonfigurasi oleh DPC kustom akan otomatis dihapus. Android Device Policy terus menerapkan kebijakan, dan jika salah satu jaringan ini dikonfigurasi dalam kebijakan, jaringan seperti yang dikonfigurasi dalam kebijakan akan ditambahkan seperti biasa.
Profil kerja di perangkat pribadi
Untuk alasan teknis, jaringan Wi-Fi yang dikonfigurasi oleh DPC kustom harus
dihapus oleh DPC kustom untuk Android Device Policy guna mulai mengelola
jaringan Wi-Fi ini. 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
yang dikonfigurasi dalam kebijakan akan ditambahkan secara normal, jadi sebaiknya
jaringan yang ditambahkan oleh DPC kustom juga harus dikonfigurasi dalam kebijakan.
Ada beberapa hal yang harus diperhatikan:
- Jika jaringan aktif adalah jaringan Wi-Fi yang dikonfigurasi oleh DPC kustom, perangkat dapat sebentar offline selama migrasi.
- Hanya jaringan Wi-Fi yang dikonfigurasi oleh DPC kustom yang harus diteruskan di
DpcMigrationRequest
, jika tidak, migrasi akan gagal jika jaringan tidak dapat dihapus oleh AMAPI SDK (misalnya, pengguna menambahkan jaringan Wi-Fi). - Jaringan Wi-Fi harus diteruskan di
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 saat jaringan
yang diteruskan
DpcMigrationRequest
diabaikan dan semua jaringan Wi-Fi yang dikonfigurasi oleh DPC kustom akan dihapus secara otomatis. Selain itu, DPC kustom harus memiliki izinACCESS_WIFI_STATE
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 pada saat migrasi. Namun, jika profil kerja
yang dikelola oleh Android Device Policy dibuat lagi di perangkat (misalnya
setelah menghapus profil sebelumnya atau setelah mereset perangkat ke setelan pabrik), ID khusus perusahaan akan berubah pada saat tersebut.
Profil kerja di perangkat yang terkelola sepenuhnya
Fitur ini tidak didukung pada perangkat terkelola sepenuhnya yang memiliki profil kerja yang menjalankan Android 9 atau 10. Anda tidak boleh memigrasikan perangkat ini, dan terlepas dari apakah terjadi error atau tidak, perangkat tersebut tidak didukung untuk migrasi DPC.