Cómo migrar dispositivos existentes a AMAPI

Los dispositivos ya administrados por tu DPC personalizado se pueden migrar a dispositivos Android Policy (ADP) y aprovecha la API de Android Management.

Requisitos previos

  • Tu EMM ya administra el dispositivo con un DPC personalizado.
  • Tu DPC personalizado está integrado con el SDK de AMAPI.
  • El dispositivo está inscrito en la API de EMM de Google Play.
  • El dispositivo pertenece a una empresa de cuentas de Google Play administradas.
  • El dispositivo ejecuta Android 9 o una versión posterior.
  • En el caso de los perfiles de trabajo en los dispositivos de la empresa, el dispositivo debe funcionar Android 11 o versiones posteriores

Cómo realizar la integración con el SDK de AMAPI en tu DPC personalizado

El proceso de migración requiere que la aplicación de DPC personalizada integre el SDK de AMAPI. Puedes encontrar más información sobre esta biblioteca y cómo agregarla a tu aplicación en la guía de integración del SDK de AMAPI.

Pasos para migrar un dispositivo

  1. Configura una política para que la use el dispositivo después de la migración. a AMAPI. Para ofrecer la mejor experiencia del usuario, esto debe ser equivalente a la política ya aplicado en el dispositivo por tu DPC.
  2. Crea un token de migración para el dispositivo mediante una llamada enterprises.migrationTokens.create
  3. Enviar el value de este token de migración a tu DPC personalizado.
  4. Asegúrate de que Android Device Policy esté instalado en el dispositivo con API de Play EMM.
  5. Usa DpcMigrationClientFactory para crear un DpcMigrationClient
  6. En DpcMigrationClient, llama al migrateDeviceManagementToAndroidManagementApi. Esto completa la migración.
  7. El deviceState cambia a ACTIVE, y recibirás un STATUS_REPORT a través del canal de Pub/Sub.

Una vez que se complete la migración, la app que realiza la llamada perderá su propietario o perfil del dispositivo. Privilegios de propietario, ya que se transfieren a Android Device Policy.

Nota: El dispositivo debe estar conectado a Internet para comenzar la migración. El proceso está diseñado para ser resistente a las desconexiones de red durante la de migración, para que las operaciones clave que requieran conectividad de red se realizan antes de la transferencia real de los derechos de propietario del dispositivo o del perfil de tu DPC a Android Device Policy.

Token de migración

El servidor de EMM solicita un token de migración para indicar la intención migrar un dispositivo determinado administrado por un DPC personalizado. Se puede usar un token de migración hasta que la migración se complete correctamente. hasta que caduque.

Integración de DPC personalizada

Primero, debes crear un DpcMigrationRequest y pasar el token y, si es necesario, la lista de redes Wi-Fi configuradas a su compilador:

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

Puedes usar obtener un DpcMigrationClient e iniciar la el proceso de migración 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
}

Realiza un seguimiento del progreso de la migración

Se realiza un seguimiento del proceso de migración en el dispositivo a través de un DpcMigrationAttempt

Puedes usar directamente el que devuelve migrateDeviceManagementToAndroidManagementApi o usa getMigrationAttempt y listMigrationAttempts para obtener y enumerar los intentos de migración.

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

var attempt = client.getMigrationAttempt(request);

De manera opcional, puedes configurar un DpcMigrationListener con tu NotificationReceiverService para escuchar actualizaciones de estado del 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
  }
}

Administra redes Wi-Fi

Si hay redes Wi-Fi administradas por el DPC personalizado, política de ONC de AMAPI debe coincidir con los parámetros de configuración de estas redes para que AMAPI comience a administrarlas sin problemas. La interacción de la migración de DPC con la administración de Wi-Fi varía según el modo de administración.

Dispositivos completamente administrados y perfiles de trabajo en dispositivos empresariales

Durante la migración, Android Device Policy supone que cualquier red Wi-Fi configurado en la política que tenga el mismo SSID y tipo de seguridad de un la red Wi-Fi configurada en el dispositivo es idéntica a la red Wi-Fi configurada Red Wi-Fi. Por lo tanto, las redes Wi-Fi configuradas por DPC personalizado permanecen intactas. después de la migración hasta que haya un cambio en la política de ONC que corresponda al en cada red. Sin embargo, si el DPC personalizado se desinstala después de la migración, el Las redes Wi-Fi configuradas mediante un DPC personalizado se quitan automáticamente. Android Device Policy continúa aplicando la política, y si alguna de estas redes se configuran en la política, las redes configuradas en la política se agregan como normalmente.

Perfil de trabajo en un dispositivo personal

Por razones técnicas, las redes Wi-Fi configuradas por el DPC personalizado deben estar el DPC personalizado para Android Device Policy para comenzar a administrar estas Redes Wi-Fi. El SDK de AMAPI se encarga de esto y quita esas redes Wi-Fi antes de transferir la propiedad del DPC personalizado a Android Device Policy pero requiere que el DPC personalizado pase información sobre estas redes en DpcMigrationRequest Después de la migración, las redes configurado en la política se agregarán normalmente, por lo que se recomienda las redes agregadas por el DPC personalizado también deben configurarse en la política.

Estos son algunos puntos que debes tener en cuenta:

  • Si la red activa es una red Wi-Fi configurada por un DPC personalizado, el dispositivo puede quedar sin conexión brevemente durante la migración.
  • Solo se deben pasar las redes Wi-Fi configuradas por el DPC personalizado DpcMigrationRequest; de lo contrario, la migración falla si se la red no puede eliminarse con el SDK de AMAPI (p.ej., una red Wi-Fi agregada por el usuario).
  • Las redes Wi-Fi deben pasar DpcMigrationRequest solo cuando el DPC personalizado es una propietario del perfil en un dispositivo personal; de lo contrario, fallará la migración.
  • Por motivos técnicos, Android 12 es un caso excepcional en el que las redes pasados en DpcMigrationRequest se ignoran y todas las conexiones Wi-Fi redes configuradas por el DPC personalizado se quitan automáticamente. Además, es un requisito para que el DPC personalizado tenga ACCESS_WIFI_STATE permiso en Android 12 para perfiles de trabajo en dispositivos personales de lo contrario, la migración fallará.

Advertencias

Aquí hay algunas advertencias relacionadas con esta función.

ID específico de la empresa

Para los perfiles de trabajo en Android 12 y versiones posteriores, el ID específico de la empresa, a la que se puede acceder desde DevicePolicyManager.getEnrollmentSpecificId no cambia en el momento de la migración. Sin embargo, si un perfil de trabajo que administra Android Device Policy se vuelve a crear en el dispositivo (por ejemplo, luego de borrar el anterior o restablecer la configuración de fábrica del dispositivo), el el ID específico de la empresa cambiará en ese momento.

Perfiles de trabajo en dispositivos completamente administrados

Esta función no es compatible con dispositivos completamente administrados que tienen con Android 9 o 10. No se debe intentar migrar estos dispositivos. y, independientemente de si se genera un error, esos dispositivos no son compatibles. para la migración de DPC.