Przeprowadź migrację istniejących urządzeń do AMAPI

Urządzenia już zarządzane przez niestandardowy DPC można przenieść na urządzenie z Androidem Policy (ADP) i korzystać z interfejsu Android Management API.

Wymagania wstępne

  • Urządzenie jest już zarządzane przez dostawcę usług EMM za pomocą niestandardowego modelu DPC.
  • Niestandardowy DPC jest zintegrowany z pakietem SDK AMAPI.
  • Urządzenie jest zarejestrowane przy użyciu interfejsu Google Play EMM API.
  • Urządzenie należy do grupy kont zarządzanego Sklepu Google Play.
  • Na urządzeniu jest zainstalowany Android 9 lub nowszy.
  • W przypadku profili służbowych na urządzeniach należących do firmy urządzenie musi działać Android 11 lub nowszy.

Integracja z pakietem SDK AMAPI w niestandardowym modelu DPC

Proces migracji wymaga, aby niestandardowa aplikacja DPC zintegrowała interfejs SDK AMAPI. Dowiedz się więcej o tej bibliotece i o tym, jak ją dodać z aplikacją znajdziesz w przewodniku po integracji pakietu AMAPI SDK.

Procedura migracji urządzenia

  1. Skonfiguruj zasadę, która będzie używana na urządzeniu po migracji. do AMAPI. Aby zadbać o wygodę użytkowników, powinien on być zgodny z zasadami już wymuszone na tym urządzeniu przez DPC.
  2. Utwórz token migracji dla urządzenia, wywołując enterprises.migrationTokens.create.
  3. Wyślij value tego tokena migracji do Twoją niestandardową wersję DPC.
  4. Upewnij się, że na urządzeniu jest zainstalowana aplikacja Android Device Policy, korzystając z Interfejs Play EMM API.
  5. Użyj narzędzia DpcMigrationClientFactory, aby utworzyć DpcMigrationClient
  6. Na urządzeniu DpcMigrationClient wywołaj funkcję Metoda migrateDeviceManagementToAndroidManagementApi. Spowoduje to zakończenie migracji.
  7. deviceState zmieni się na ACTIVE. Otrzymasz też Wiadomość STATUS_REPORT przesłaną przez kanał Pub/Sub.

Po zakończeniu migracji aplikacja do połączeń traci właściciela lub profil urządzenia Uprawnienia właściciela, które są przenoszone do Android Device Policy.

Uwaga: aby można było rozpocząć migrację, urządzenie musi być połączone z internetem. Proces został tak zaprojektowany, aby był odporny na rozłączenie sieci podczas aby kluczowe operacje, które wymagają połączenia sieciowego, są wykonywane przed faktycznym przeniesieniem praw właściciela urządzenia lub profilu. z DPC do Android Device Policy.

Token migracji

Serwer EMM żąda tokena migracji, aby zasygnalizować zamiar przenieść konkretne urządzenie zarządzane przez niestandardowy DPC. Token migracji może być używany do czasu zakończenia migracji lub aż do wygaśnięcia.

Niestandardowa integracja z DPC

Najpierw musisz utworzyć DpcMigrationRequest, który będzie pozytywnie token oraz w razie potrzeby listę skonfigurowanych sieci Wi-Fi kreator:

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

Możesz wtedy użyć DpcMigrationClient i rozpocząć proces migracji ze 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
}

Śledzenie postępu migracji

Proces migracji jest śledzony na urządzeniu za pomocą DpcMigrationAttempt

Możesz bezpośrednio użyć kodu zwróconego przez migrateDeviceManagementToAndroidManagementApi lub użyj getMigrationAttempt i listMigrationAttempts, aby uzyskać i wyświetlić listę prób migracji.

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

var attempt = client.getMigrationAttempt(request);

Opcjonalnie możesz skonfigurować DpcMigrationListener za pomocą: Twoje urządzenie NotificationReceiverService, aby nasłuchiwać aktualizacje stanu: 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
  }
}

Obsługa sieci Wi-Fi

Jeśli istnieją sieci Wi-Fi zarządzane przez niestandardowy DPC, zasady AMAPI ONC powinien pasować do konfiguracji tych sieci, aby AMAPI mógł nimi zarządzać płynnie. Interakcja migracji DPC z zarządzaniem Wi-Fi różni się w zależności od trybu zarządzania.

W pełni zarządzane urządzenia i profile służbowe na urządzeniach należących do firmy

Podczas migracji Android Device Policy zakłada, że każda sieć Wi-Fi skonfigurowane w zasadach o tym samym identyfikatorze SSID i typie zabezpieczeń co skonfigurowana sieć Wi-Fi na urządzeniu jest identyczna ze skonfigurowaną siecią Wi-Fi Sieć Wi-Fi. Dlatego też sieci Wi-Fi skonfigurowane przez niestandardowy DPC pozostają niezmienione. do czasu zmiany zasad ONC odpowiadającej Jeśli jednak niestandardowy DPC zostanie odinstalowany po migracji, Sieci Wi-Fi skonfigurowane przez niestandardowy DPC są automatycznie usuwane. Android Device Policy nadal egzekwuje zasady, a jeśli któraś z tych sieci są skonfigurowane w zasadzie, sieci skonfigurowane w zasadzie są dodawane jako jak zwykle.

Profil służbowy na urządzeniu osobistym

Z przyczyn technicznych sieci Wi-Fi skonfigurowane przez niestandardowy DPC muszą usunięte przez niestandardową platformę DPC w Android Device Policy, aby zacząć nimi zarządzać sieci Wi-Fi, Pakiet AMAPI SDK zajmuje się tym i usuwa takie sieci Wi-Fi przed przeniesieniem własności z niestandardowego DPC na Android Device Policy ale wymaga, by niestandardowy DPC przekazywał informacje o tych sieciach DpcMigrationRequest Po migracji sieci Ciąg znaków skonfigurowany w zasadzie zostanie dodany normalnie, dlatego zalecamy sieci dodawane przez niestandardowy DPC też powinny być skonfigurowane w zasadach.

Pamiętaj o tych kwestiach:

  • Jeśli aktywna jest sieć Wi-Fi skonfigurowana przez niestandardowy DPC, może być offline podczas migracji.
  • Dozwolone są tylko sieci Wi-Fi skonfigurowane przez niestandardowy DPC. DpcMigrationRequest. W przeciwnym razie migracja zakończy się niepowodzeniem, jeśli Sieć nie może zostać usunięta przez pakiet SDK AMAPI (np. sieć Wi-Fi dodana przez użytkownika).
  • Sieci Wi-Fi powinny być przekazywane DpcMigrationRequest tylko wtedy, gdy niestandardowy DPC to właściciela profilu na osobistym urządzeniu, w przeciwnym razie migracja zakończy się niepowodzeniem.
  • Z przyczyn technicznych Android 12 jest wyjątkowym przypadkiem, gdy sieci przekazywane w DpcMigrationRequest są ignorowane, a wszystkie sieci Wi-Fi są ignorowane i sieci skonfigurowane przez niestandardowy DPC są usuwane automatycznie. Ponadto jest wymagany, aby niestandardowy DPC miał ACCESS_WIFI_STATE. uprawnienia na Androidzie 12 dotyczące profili służbowych na prywatnych urządzeniach, w przeciwnym razie migracja zakończy się niepowodzeniem.

Zastrzeżenia

Oto kilka zastrzeżeń dotyczących tej funkcji.

Identyfikator firmowy

W przypadku profili służbowych na Androidzie 12 i nowszych wersjach identyfikator firmowy, które jest dostępne na stronie DevicePolicyManager.getEnrollmentSpecificId nie zmienia się podczas migracji. Jeśli jednak profil służbowy zarządzane przez Android Device Policy zostaną ponownie utworzone na urządzeniu (na przykład po usunięciu poprzedniego kodu lub przywróceniu urządzenia do ustawień fabrycznych, identyfikator firmy ulegnie zmianie.

Profile służbowe na w pełni zarządzanych urządzeniach

Ta funkcja nie jest obsługiwana na w pełni zarządzanych urządzeniach, na których zainstalowano z Androidem 9 lub 10. Nie należy podejmować prób migracji tych urządzeń. i niezależnie od tego, czy wystąpi błąd, urządzenia te nie są obsługiwane. do migracji DPC.