Eseguire la migrazione dei dispositivi esistenti ad AMAPI

È 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

  1. 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.
  2. Crea un token di migrazione per il dispositivo chiamando enterprises.migrationTokens.create
  3. Invia value di questo token di migrazione a il tuo DPC personalizzato.
  4. Assicurati che Android Device Policy sia installato sul dispositivo utilizzando API EMM.
  5. Utilizza DpcMigrationClientFactory per creare un DpcMigrationClient
  6. Su DpcMigrationClient, chiama il migrateDeviceManagementToAndroidManagementApi. La migrazione verrà completata.
  7. La deviceState diventa ACTIVE e riceverai un STATUS_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 avere ACCESS_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).