Özel DPC'niz tarafından yönetilen cihazlar Android Device Policy'ye (ADP) taşınabilir ve Android Management API'den yararlanabilir.
Ön koşullar
- Cihaz, EMM'niz tarafından özel bir DPC ile yönetiliyor olmalıdır.
- Özel DPC'niz AMAPI SDK ile entegre edilmiş olmalıdır.
- Cihaz, Google Play EMM API'ye kayıtlı olmalıdır.
- Cihaz, Managed Google Play Accounts grubuna ait olmalıdır.
- Cihazda Android 9 veya sonraki bir sürüm yüklü olmalıdır.
- Şirkete ait cihazlardaki iş profillerinde cihazda Android 11 veya sonraki bir sürümün yüklü olması gerekir.
Özel DPC'nizde AMAPI SDK'sı ile entegrasyon
Taşıma işlemi için özel DPC uygulamasının AMAPI SDK'sını entegre etmesi gerekir. Bu kitaplık ve uygulamanıza nasıl ekleneceği hakkında daha fazla bilgiyi AMAPI SDK entegrasyon kılavuzunda bulabilirsiniz.
Cihaz taşıma adımları
- Cihaz AMAPI'ye taşındıktan sonra kullanılmak üzere tasarlanmış bir politika ayarlayın. En iyi kullanıcı deneyimi için bu, DPC'niz tarafından cihazda halihazırda uygulanan politikaya eşdeğer olmalıdır. AMAPI'deki politika, Play EMM API'de cihazın zaten ait olduğu kuruluşla aynı kuruluşa ait olmalıdır. Belirli bir kuruluşun hem AMAPI hem de Play EMM API'de aynı ada sahip olduğunu unutmayın.
enterprises.migrationTokens.createçağrısı yaparak cihaz için bir taşıma jetonu oluşturun.- Bu taşıma jetonunun
valuekısmını özel DPC'nize gönderin. - Play EMM API'yi kullanarak Android Device Policy'nin cihaza yüklendiğinden emin olun.
DpcMigrationClientFactorykullanarakDpcMigrationClientoluşturmaDpcMigrationClientüzerindemigrateDeviceManagementToAndroidManagementApiyöntemini çağırın. Böylece taşıma işlemi tamamlanır.deviceState,ACTIVEolarak değişir ve Pub/Sub kanalı üzerindenSTATUS_REPORTmesajı alırsınız.
Taşıma işlemi tamamlandıktan sonra, bu ayrıcalıklar Android Device Policy'ye aktarıldığı için arama uygulaması Cihaz Sahibi veya Profil Sahibi ayrıcalıklarını kaybeder. Bu süreç aşağıdaki sıra şemasıyla gösterilebilir:

Not: Taşıma işleminin başlatılması için cihazın internete bağlı olması gerekir. Bu işlem, taşıma işlemi sırasında ağ bağlantısının kesilmesine karşı dayanıklı olacak şekilde tasarlanmıştır. Böylece, ağ bağlantısı gerektiren temel işlemler, cihaz sahibi veya profil sahibi haklarının DPC'nizden Android Device Policy'ye aktarılmasından önce gerçekleştirilir.
Taşıma jetonu
EMM sunucusu, özel bir DPC tarafından yönetilen belirli bir cihazı taşımak istediğini belirtmek için taşıma jetonu ister. Taşıma jetonu, taşıma işlemi başarıyla tamamlanana veya geçerliliği sona erene kadar kullanılabilir.
Özel DPC entegrasyonu
Öncelikle, jetonu ve gerekirse yapılandırılmış kablosuz ağların listesini oluşturucusuna ileterek bir DpcMigrationRequest oluşturmanız gerekir:
// Create a DpcMigrationRequest
DpcMigrationRequest request =
DpcMigrationRequest.builder()
.setMigrationToken(token)
.build();
Ardından DpcMigrationClient alabilir ve migrateDeviceManagementToAndroidManagementApi ile taşıma sürecini başlatabilirsiniz:
// 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
}
NotificationReceiverService oluşturma ve taşıma işlemini izleme
Özel DPC'nizde NotificationReceiverService uygulayın.
Taşıma işlemi, cihazda DpcMigrationAttempt aracılığıyla izlenir.
migrateDeviceManagementToAndroidManagementApi tarafından döndürülen değeri doğrudan kullanabilir veya getMigrationAttempt ve listMigrationAttempts yöntemlerini kullanarak taşıma denemelerini alıp listeleyebilirsiniz.
// Passing an empty name, we retrieve the last attempt
var request = GetDpcMigrationAttemptRequest.builder().build();
var attempt = client.getMigrationAttempt(request);
DpcMigrationListener'ı isteğe bağlı olarak NotificationReceiverService'ınızı kullanarak ayarlayabilir ve DpcMigrationAttempt ile ilgili durum güncellemelerini dinleyebilirsiniz.
// DpcMigrationNotificationReceiver for callback handling
public class DpcMigrationNotificationReceiver extends NotificationReceiverService
implements DpcMigrationListener {
@Override
protected DpcMigrationListener getDpcMigrationListener() {
return this;
}
@Override
public void onMigrationStateChanged(DpcMigrationAttempt migrationAttempt) {
// send success feedback
}
}
Kablosuz ağları kullanma
Özel DPC tarafından yönetilen kablosuz ağlar varsa AMAPI ONC politikası, AMAPI'nin bu ağları sorunsuz bir şekilde yönetmeye başlaması için bu ağların yapılandırmalarıyla eşleşmelidir. DPC taşıma işleminin Wi-Fi yönetimiyle etkileşimi, yönetim moduna göre değişir.
Tümüyle yönetilen cihazlar ve şirkete ait cihazlardaki iş profilleri
Taşıma sırasında Android Cihaz Politikası, cihazda yapılandırılmış bir kablosuz ağın SSID'si ve güvenlik türüyle aynı olan politikada yapılandırılmış tüm kablosuz ağların, eşleşen yapılandırılmış kablosuz ağ ile aynı olduğunu varsayar. Bu nedenle, özel DPC tarafından yapılandırılan kablosuz ağlara, ağa karşılık gelen ONC politikasında değişiklik yapılana kadar taşıma işleminden sonra dokunulmaz. Ancak özel DPC, taşıma işleminden sonra kaldırılırsa özel DPC tarafından yapılandırılan kablosuz ağlar otomatik olarak kaldırılır. Android Cihaz Politikası, politikayı uygulamaya devam eder. Bu ağlardan herhangi biri politikada yapılandırılmışsa politikada yapılandırıldığı şekilde eklenir.
Kişisel cihazda iş profili
Teknik nedenlerden dolayı, Android Device Policy'nin bu kablosuz ağları yönetmeye başlaması için özel DPC tarafından yapılandırılan kablosuz ağların özel DPC tarafından kaldırılması gerekir. AMAPI SDK bu işlemi gerçekleştirir ve sahipliği özel DPC'den Android Device Policy'ye aktarmadan önce bu tür kablosuz ağları kaldırır. Ancak özel DPC'nin bu ağlarla ilgili bilgileri DpcMigrationRequest içinde iletmesi gerekir. Taşıma işleminden sonra, politikada yapılandırılan ağlar normal şekilde eklenir. Bu nedenle, özel DPC tarafından eklenen ağların da politikada yapılandırılması önerilir.
Dikkat edilmesi gereken bazı noktalar vardır:
- Etkin ağ, özel DPC tarafından yapılandırılmış bir kablosuz ağsa cihaz, taşıma sırasında kısa süreliğine çevrimdışı kalabilir.
- Yalnızca özel DPC tarafından yapılandırılan kablosuz ağlar
DpcMigrationRequestiçinde iletilmelidir.Aksi takdirde, bir ağ AMAPI SDK'sı tarafından kaldırılamazsa (ör. kullanıcı tarafından eklenen kablosuz ağ) taşıma işlemi başarısız olur. - Kablosuz ağlar, yalnızca özel DPC kişisel olarak sahip olunan bir cihazda profil sahibi olduğunda
DpcMigrationRequestiçinde iletilmelidir. Aksi takdirde taşıma işlemi başarısız olur. - Teknik nedenlerden dolayı Android 12,
DpcMigrationRequestiçinde iletilen ağların yoksayıldığı ve özel DPC tarafından yapılandırılan tüm kablosuz ağların otomatik olarak kaldırıldığı istisnai bir durumdur. Ayrıca, özel DPC'nin kişisel cihazlardaki iş profilleri için Android 12'deACCESS_WIFI_STATEiznine sahip olması gerekir. Aksi takdirde taşıma işlemi başarısız olur.
Uyarılar
Bu özellikle ilgili bazı uyarıları aşağıda bulabilirsiniz.
Kuruluşa özel kimlik
Android 12 ve sonraki sürümlerdeki iş profilleri için DevicePolicyManager.getEnrollmentSpecificId üzerinden erişilebilen işletmeye özel kimlik, geçiş sırasında değişmez. Ancak cihazda Android Device Policy tarafından yönetilen bir iş profili tekrar oluşturulursa (örneğin, önceki iş profili silindikten veya cihaz fabrika ayarlarına sıfırlandıktan sonra) kuruluşa özel kimlik bu noktada değişir.
Tamamen yönetilen cihazlarda iş profilleri
Bu özellik, Android 9 veya 10'un yüklü olduğu ve iş profili bulunan tümüyle yönetilen cihazlarda desteklenmez. Bu cihazların taşınması denenmemelidir ve hata oluşup oluşmadığına bakılmaksızın bu tür cihazlar DPC taşıma için desteklenmez.
RESET_PASSWORD komutu
Cihazda kilit ekranı şifresi varsa RESET_PASSWORD komutu yalnızca kullanıcı, taşıma işleminden sonra kimlik bilgilerini onayladıktan sonra (ör. PIN'ini yeniden girdikten sonra) başarılı olur. Cihazda kilit ekranı şifresi yoksa RESET_PASSWORD komutu, taşıma işleminden hemen sonra kullanılabilir.