Ö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, özel bir DPC ile EMM'niz tarafından yönetiliyor.
- Özel DPC'niz AMAPI SDK ile entegre olmalıdır.
- Cihaz, Google Play EMM API ile kaydedilmiş olmalıdır.
- Cihaz, bir Managed Google Play Accounts grubuna aittir.
- Cihazınızda Android 9 veya sonraki bir sürüm yüklü olmalıdır.
- Şirkete ait cihazlarda iş profilleri için cihazda Android 11 veya sonraki bir sürümün yüklü olması gerekir.
Özel DPC'nizde AMAPI SDK'sını entegre etme
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ı
- AMAPI'ye taşındıktan sonra cihaz tarafından kullanılacak bir politika oluşturun. En iyi kullanıcı deneyimi için bu, DPC'niz tarafından cihazda zaten uygulanmakta olan politikaya eşdeğer olmalıdır.
enterprises.migrationTokens.create
çağrısını yaparak cihaz için bir taşıma jetonu oluşturun.- Bu taşıma jetonunun
value
değerini özel DPC'nize gönderin. - Play EMM API'yi kullanarak Android Device Policy'nin cihaza yüklendiğinden emin olun.
DpcMigrationClient
oluşturmak içinDpcMigrationClientFactory
kullanınDpcMigrationClient
üzerindemigrateDeviceManagementToAndroidManagementApi
yöntemini çağırın. Böylece taşıma işlemi tamamlanmış olur.deviceState
,ACTIVE
olarak değişir ve Pub/Sub kanalı üzerindenSTATUS_REPORT
mesajı alırsınız.
Taşıma işlemi tamamlandıktan sonra arama uygulaması, Android Device Policy'ye aktarıldığı için Cihaz Sahibi veya Profil Sahibi ayrıcalıklarını kaybeder. Bu süreç aşağıdaki ardışık düzen şemasıyla gösterilebilir:
Not: Taşıma işlemine başlamak 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 önemli işlemler, cihaz sahibi veya profil sahibi haklarının DPC'nizden Android Device Policy'ye gerçek aktarımı gerçekleşmeden önce yapılır.
Taşıma jetonu
EMM sunucusu, özel bir DPC tarafından yönetilen belirli bir cihazı taşıma niyetini belirtmek için taşıma jetonu ister. Taşıma jetonu, taşıma işlemi başarıyla tamamlanana veya süresi dolana kadar kullanılabilir.
Özel DPC entegrasyonu
Öncelikle, jetonu ve gerekirse yapılandırılmış kablosuz ağların listesini oluşturucusuna aktararak bir DpcMigrationRequest
oluşturmanız gerekir:
// Create a DpcMigrationRequest
DpcMigrationRequest request =
DpcMigrationRequest.builder()
.setMigrationToken(token)
.build();
Ardından DpcMigrationClient
edinip migrateDeviceManagementToAndroidManagementApi
ile taşıma işlemini 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
}
Taşıma işleminin ilerleme durumunu izleme
Taşıma işlemi, cihazda bir DpcMigrationAttempt
aracılığıyla izlenir.
Doğrudan migrateDeviceManagementToAndroidManagementApi
tarafından döndürülen öğeyi kullanabilir veya taşıma girişimlerini almak ve listelemek için getMigrationAttempt
ve listMigrationAttempts
yöntemlerini kullanabilirsiniz.
// Passing an empty name, we retrieve the last attempt
var request = GetDpcMigrationAttemptRequest.builder().build();
var attempt = client.getMigrationAttempt(request);
İsteğe bağlı olarak, DpcMigrationAttempt
ile ilgili durum güncellemelerini dinlemek için NotificationReceiverService
'inizi kullanarak bir DpcMigrationListener
oluşturabilirsiniz.
// 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
}
}
Kablosuz ağları yönetme
Özel DPC tarafından yönetilen kablosuz ağlar varsa AMAPI'nin bunları sorunsuz bir şekilde yönetmeye başlaması için AMAPI ONC politikası 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.
Şirkete ait cihazlarda tümüyle yönetilen cihazlar ve iş profilleri
Taşıma sırasında Android Cihaz Politikası, cihazdaki yapılandırılmış kablosuz ağla aynı SSID ve güvenlik türüne sahip politikada yapılandırılmış herhangi bir kablosuz ağın, eşleşen yapılandırılmış kablosuz ağla aynı olduğunu varsayar. Bu nedenle, özel DPC tarafından yapılandırılan kablosuz ağlar, ağa karşılık gelen ONC politikasında bir değişiklik yapılana kadar taşıma işleminden sonra değiştirilmez. 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 Device Policy, politikayı uygulamaya devam eder ve bu ağlardan herhangi biri politikada yapılandırılmışsa politikada yapılandırıldığı şekilde ağlar normal ş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'sı bu sorunu çözer ve sahipliği özel DPC'den Android Cihaz Politikası'na 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 etmeniz 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 bir süre çevrimdışı olabilir.
- Yalnızca özel DPC tarafından yapılandırılan kablosuz ağlar
DpcMigrationRequest
parametresine iletilmelidir.Aksi takdirde, AMAPI SDK'sı tarafından bir ağ 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 bir cihazda profil sahibi olduğunda
DpcMigrationRequest
iletilmelidir. Aksi takdirde taşıma işlemi başarısız olur. - Teknik nedenlerden dolayı Android 12,
DpcMigrationRequest
iç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 İTŞ'nin Android 12'de kişisel cihazlardaki iş profilleri içinACCESS_WIFI_STATE
iznine 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 verilmiştir.
Kuruluşa özel kimlik
Android 12 ve sonraki sürümlerdeki iş profillerinde, DevicePolicyManager.getEnrollmentSpecificId
adresinden erişilebilen kuruma özel kimlik taşıma 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 özgü kimlik o noktada değişir.
Tamamen yönetilen cihazlarda iş profilleri
Bu özellik, Android 9 veya 10 yüklü bir 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şlemi için desteklenmez.