È possibile eseguire la migrazione ai dispositivi Android dei dispositivi già gestiti dal tuo DPC personalizzato Policy (ADP) e sfrutta l'API Android Management.
Prerequisiti
- Il dispositivo è già gestito dal tuo EMM con un DPC personalizzato.
- Il tuo DPC personalizzato è integrato con l'SDK AMAPI.
- Il dispositivo è registrato con l'API EMM di Google Play.
- Il dispositivo appartiene ad account Google Play gestiti per l'azienda.
- Sul dispositivo è installato Android 9 o versioni successive.
- Nel caso di profili di lavoro su dispositivi di proprietà dell'azienda, il dispositivo deve eseguire Android 11 o versioni successive.
Integrazione con l'SDK AMAPI nel DPC personalizzato
Il processo di migrazione richiede che l'applicazione DPC personalizzata integri SDK AMAPI. Puoi trovare ulteriori informazioni su questa libreria e su come aggiungerla alla tua applicazione nella guida all'integrazione dell'SDK AMAPI.
Procedura per la migrazione di un dispositivo
- Configura un criterio che deve essere utilizzato dal dispositivo dopo la migrazione in AMAPI. Per una migliore esperienza utente, questo valore deve essere equivalente alle norme. già applicata al dispositivo dal tuo DPC.
- Crea un token di migrazione per il dispositivo chiamando
enterprises.migrationTokens.create
- Invia
value
di questo token di migrazione a il tuo DPC personalizzato. - Assicurati che Android Device Policy sia installato sul dispositivo utilizzando API EMM.
- Utilizza
DpcMigrationClientFactory
per creare unDpcMigrationClient
- Su
DpcMigrationClient
, chiama ilmigrateDeviceManagementToAndroidManagementApi
. La migrazione verrà completata. - La
deviceState
diventaACTIVE
e riceverai unSTATUS_REPORT
tramite il canale Pub/Sub.
Al termine della migrazione, l'app per le chiamate perde il proprietario o il profilo del dispositivo Privilegi di proprietario, poiché vengono trasferiti ad Android Device Policy.
Nota:per avviare la migrazione, il dispositivo deve essere connesso a internet. Il processo è progettato per essere resiliente alle disconnessioni di rete durante di migrazione, in modo che le operazioni chiave che richiedono la connettività di rete Vengono effettuati prima del trasferimento effettivo dei diritti del proprietario del dispositivo o del profilo. dal DPC ad Android Device Policy.
Token di migrazione
Il server EMM richiede un token di migrazione per segnalare l'intenzione di eseguire la migrazione di un particolare dispositivo gestito da un DPC personalizzato. Il token di migrazione può essere utilizzato fino al completamento della migrazione oppure fino alla scadenza.
Integrazione DPC personalizzata
Per prima cosa devi creare una DpcMigrationRequest
, passando
il token e, se necessario, l'elenco delle reti Wi-Fi configurate
Builder:
// Create a DpcMigrationRequest
DpcMigrationRequest request =
DpcMigrationRequest.builder()
.setMigrationToken(token)
.build();
Dopodiché puoi usare get a DpcMigrationClient
e avviare
di migrazione completa
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
}
Monitorare l'avanzamento della migrazione
Il processo di migrazione viene monitorato sul dispositivo tramite un
DpcMigrationAttempt
Puoi utilizzare direttamente quello restituito
migrateDeviceManagementToAndroidManagementApi
o utilizza
getMigrationAttempt
e listMigrationAttempts
per ottenere
ed elenca i tentativi di migrazione.
// Passing an empty name, we retrieve the last attempt
var request = GetDpcMigrationAttemptRequest.builder().build();
var attempt = client.getMigrationAttempt(request);
Facoltativamente, puoi configurare una DpcMigrationListener
utilizzando
il tuo NotificationReceiverService
, per ascoltare
aggiornamenti dello stato per 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
}
}
Gestire le reti Wi-Fi
Se sono presenti reti Wi-Fi gestite dal DPC personalizzato, criterio AMAPI ONC devono corrispondere alle configurazioni di queste reti affinché AMAPI possa iniziare a gestirle senza intoppi. L'interazione della migrazione DPC con la gestione del Wi-Fi varia a seconda della modalità di gestione.
Dispositivi completamente gestiti e profili di lavoro sui dispositivi di proprietà dell'azienda
Durante la migrazione, Android Device Policy presuppone che qualsiasi rete Wi-Fi configurati in criteri e avere lo stesso SSID e tipo di sicurezza di un configurata sul dispositivo sia identica alla rete Wi-Fi configurata Rete Wi-Fi. Di conseguenza, le reti Wi-Fi configurate tramite DPC personalizzato non vengono toccate. dopo la migrazione finché non viene apportata una modifica alla norma ONC corrispondente in ogni rete. Tuttavia, se il DPC personalizzato viene disinstallato dopo la migrazione, Le reti Wi-Fi configurate tramite DPC personalizzato vengono rimosse automaticamente. Android Device Policy continua ad applicare i criteri e se una di queste reti se sono configurate nel criterio, le reti così come configurate nel criterio vengono aggiunte come al solito.
Profilo di lavoro su un dispositivo personale
Per motivi tecnici, le reti Wi-Fi configurate dal DPC personalizzato devono essere
rimosso dal DPC personalizzato per Android Device Policy per iniziare a gestire questi
Reti Wi-Fi. L'SDK AMAPI si occupa di tutto e rimuove le reti Wi-Fi
prima di trasferire la proprietà dal DPC personalizzato ad Android Device Policy
ma richiede che il DPC personalizzato trasferisca le informazioni su queste reti
DpcMigrationRequest
Dopo la migrazione, le reti
configurato nel criterio verrà aggiunto normalmente, quindi è consigliabile
le reti aggiunte dal DPC personalizzato devono essere configurate anche nel criterio.
Tieni a mente alcuni punti:
- Se la rete attiva è una rete Wi-Fi configurata tramite DPC personalizzato, il dispositivo possono rimanere offline per alcuni istanti durante la migrazione.
- Devono essere trasmesse solo le reti Wi-Fi configurate tramite un DPC personalizzato
DpcMigrationRequest
, altrimenti la migrazione non va a buon fine se una rete non può essere rimossa dall'SDK AMAPI (ad esempio rete Wi-Fi aggiunta dall'utente). - Le reti Wi-Fi devono essere trasmesse
DpcMigrationRequest
solo se il DPC personalizzato è un proprietario di un profilo su un dispositivo di proprietà personale, altrimenti la migrazione non va a buon fine. - Per motivi tecnici, Android 12 è un caso eccezionale in cui le reti
passati in
DpcMigrationRequest
vengono ignorati e tutte le reti Wi-Fi le reti configurate dal DPC personalizzato vengono rimosse automaticamente. Inoltre, è un requisito per cui il DPC personalizzato deve avereACCESS_WIFI_STATE
autorizzazione su Android 12 per i profili di lavoro sui dispositivi di proprietà personale, altrimenti la migrazione non va a buon fine.
Avvertenze
Di seguito sono riportate alcune avvertenze relative a questa funzionalità.
ID specifico per l'azienda
Per i profili di lavoro su Android 12 e versioni successive, l'ID specifico per l'azienda
a cui è possibile accedere da DevicePolicyManager.getEnrollmentSpecificId
non cambia al momento della migrazione. Tuttavia, se un profilo di lavoro
gestito da Android Device Policy viene creato di nuovo sul dispositivo (ad esempio
dopo aver eliminato quello precedente o dopo avere ripristinato i dati di fabbrica del dispositivo),
specifico per l'azienda cambierà a quel punto.
Profili di lavoro su dispositivi completamente gestiti
Questa funzionalità non è supportata sui dispositivi completamente gestiti che hanno un profilo con Android 9 o 10. Non provare a eseguire la migrazione di questi dispositivi, e che, indipendentemente dal fatto che venga segnalato un errore, questi dispositivi non sono supportati per la migrazione DPC (controller criteri dispositivi).