Mevcut cihazları AMAPI'ye taşı

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ı

  1. 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.
  2. enterprises.migrationTokens.create numaralı telefonu arayarak cihaz için bir taşıma jetonu oluşturun.
  3. Bu taşıma jetonunun value öğesini özel DPC'nize gönderin.
  4. Play EMM API'yi kullanarak Android Device Policy'nin yüklü olduğundan emin olun.
  5. DpcMigrationClient oluşturmak için DpcMigrationClientFactory aracını kullanın
  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 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çin ACCESS_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.