Mevcut cihazları AMAPI'ye taşı

Ö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ı

  1. 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.
  2. enterprises.migrationTokens.create çağrısı yaparak cihaz için bir taşıma jetonu oluşturun.
  3. Bu taşıma jetonunun value kısmını özel DPC'nize gönderin.
  4. Play EMM API'yi kullanarak Android Device Policy'nin cihaza yüklendiğinden emin olun.
  5. DpcMigrationClientFactory kullanarak DpcMigrationClient oluşturma
  6. DpcMigrationClient üzerinde migrateDeviceManagementToAndroidManagementApi yöntemini çağırın. Böylece taşıma işlemi tamamlanır.
  7. deviceState, ACTIVE olarak değişir ve Pub/Sub kanalı üzerinden STATUS_REPORT mesajı 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:

DPC taşıma işlem sırası diyagramı

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 DpcMigrationRequest iç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 DpcMigrationRequest içinde 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 DPC'nin kişisel cihazlardaki iş profilleri için Android 12'de ACCESS_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 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.