Hâlihazırda özel DPC'niz tarafından yönetilen cihazlar, Android Device Policy'ye (ADP) taşınabilir ve Android Management API'den yararlanabilir.
Ön koşullar
- Bu cihaz zaten özel bir DPC ile EMM'niz tarafından yönetiliyor.
- Özel DPC'niz, AMAPI SDK'sı ile entegre edilmiştir.
- Cihaz Google Play EMM API'ye kaydedilmiştir.
- Cihaz bir 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ş profilleri kullanılıyorsa cihazın Android 11 veya sonraki bir sürümü çalıştırması gerekir.
Özel DPC'nizdeki AMAPI SDK'sı ile entegrasyon
Taşıma sürecinde, AMAPI SDK'sını entegre etmek için özel DPC uygulamasının kullanılması gerekir. AMAPI SDK'sı entegrasyon kılavuzunda bu kitaplık ve onu uygulamanıza nasıl ekleyeceğiniz hakkında daha fazla bilgi bulabilirsiniz.
Cihaz taşıma adımları
- Cihaz, AMAPI'ye taşındıktan sonra tarafından kullanılması amaçlanan bir politika oluşturun. En iyi kullanıcı deneyimi için bu, DPC'nizin cihazda hâlihazırda zorunlu kıldığı politikaya eşdeğer olmalıdır.
enterprises.migrationTokens.create
numaralı telefonu arayarak cihaz için bir taşıma jetonu oluşturun.- Bu taşıma jetonunun
value
öğesini özel DPC'nize gönderin. - Play EMM API'yi kullanarak Android Device Policy'nin yüklü olduğundan emin olun.
DpcMigrationClient
oluşturmak içinDpcMigrationClientFactory
aracını kullanınDpcMigrationClient
üzerindemigrateDeviceManagementToAndroidManagementApi
yöntemini çağırın. Böylece taşıma işlemi tamamlanır.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.
Not: Taşıma işlemine başlanması için cihazın internete bağlı olması gerekir. Bu işlem, taşıma işlemi sırasında ağ bağlantı kesintilerine karşı dayanıklı olacak şekilde tasarlanmıştır. Bu sayede ağ bağlantısı gerektiren temel işlemler, cihaz sahibi veya profil sahibi haklarının DPC'nizden Android Device Policy'ye gerçekten aktarılmadan önce yapılır.
Taşıma jetonu
EMM sunucusu, özel DPC tarafından yönetilen belirli bir cihazı taşıma niyetini belirtmek için bir 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 bir DpcMigrationRequest
oluşturup jetonu ve gerekirse yapılandırılmış kablosuz ağların listesini oluşturucuya iletmeniz gerekir:
// Create a DpcMigrationRequest
DpcMigrationRequest request =
DpcMigrationRequest.builder()
.setMigrationToken(token)
.build();
Daha sonra DpcMigrationClient
aracını kullanabilir ve taşıma işlemini migrateDeviceManagementToAndroidManagementApi
ile 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 ilerlemesini izleme
Taşıma süreci cihazda DpcMigrationAttempt
üzerinden izlenir.
Taşıma denemelerini almak ve listelemek için migrateDeviceManagementToAndroidManagementApi
tarafından döndürülen örneği doğrudan kullanabilir veya 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
durum güncellemelerini dinlemek için NotificationReceiverService
kullanarak bir DpcMigrationListener
ayarlayabilirsiniz.
// 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 ONC politikasının, AMAPI'nin sorunsuz bir şekilde yönetmeye başlaması için bu ağların yapılandırmalarıyla eşleşmesi gerekir. DPC taşıma işleminin kablosuz ağ yönetimiyle etkileşimi, yönetim moduna bağlı olarak değişir.
Şirkete ait cihazlardaki tümüyle yönetilen cihazlar ve iş profilleri
Taşıma sırasında Android Device Policy, cihazdaki yapılandırılmış bir kablosuz ağla aynı SSID ve güvenlik türüne sahip politikada yapılandırılmış herhangi bir kablosuz bağlantını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, taşıma işleminden sonra ağa karşılık gelen ONC politikasında bir değişiklik yapılana kadar dokunulmaz. Bununla birlikte, taşıma işleminden sonra özel DPC 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ılırsa politikada yapılandırıldığı şekliyle ağlar her zamanki gibi eklenir.
Kişisel bir cihazdaki iş profili
Teknik nedenlerle, özel DPC tarafından yapılandırılan kablosuz ağların, bu kablosuz ağları yönetmeye başlayabilmesi için Android Device Policy'de özel DPC tarafından kaldırılması gerekir. AMAPI SDK bu durumu halleder 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
'te aktarması gerekir. Taşıma işleminden sonra, politikada yapılandırılmış ağlar normal şekilde eklenecektir. 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ğ ise taşıma sırasında cihaz kısa bir süre çevrimdışı olabilir.
DpcMigrationRequest
içinde yalnızca özel DPC tarafından yapılandırılan kablosuz ağlar iletilmelidir.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
DpcMigrationRequest
içinde yalnızca özel DPC'nin kişiye ait bir cihazdaki profil sahibi olduğunda iletilmelidir. Aksi takdirde taşıma işlemi başarısız olur. - Teknik nedenlerden ötürü Android 12,
DpcMigrationRequest
'te geçen 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 Android 12'de kişisel cihazlarındaki iş profilleri içinACCESS_WIFI_STATE
iznine sahip olması zorunludur. 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 özgü kimlik
Android 12 ve sonraki sürümlerdeki iş profilleri için DevicePolicyManager.getEnrollmentSpecificId
üzerinden 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 yeniden oluşturulursa (örneğin, öncekini sildikten veya cihaz fabrika ayarlarına sıfırlandıktan sonra) bu noktada kuruluşa özel kimlik değişir.
Tamamen yönetilen cihazlarda iş profilleri
Bu özellik, Android 9 veya 10 çalıştıran bir iş profiline sahip, tümüyle yönetilen cihazlarda desteklenmez. Bu cihazlar taşınmaya çalışılmamalıdır ve bir hatanın iletilip iletilmediğinden bağımsız olarak bu tür cihazlar DPC taşıma işlemi için desteklenmez.