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
- 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.
- Utwórz token migracji dla urządzenia, wywołując
enterprises.migrationTokens.create
. - Wyślij
value
tego tokena migracji do Twoją niestandardową wersję DPC. - Upewnij się, że na urządzeniu jest zainstalowana aplikacja Android Device Policy, korzystając z Interfejs Play EMM API.
- Użyj narzędzia
DpcMigrationClientFactory
, aby utworzyćDpcMigrationClient
- Na urządzeniu
DpcMigrationClient
wywołaj funkcję MetodamigrateDeviceManagementToAndroidManagementApi
. Spowoduje to zakończenie migracji. deviceState
zmieni się naACTIVE
. 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.