Önemli: Artık Play EMM API için yeni kayıtlar kabul edilmemektedir. Daha fazla bilgi edinin.

Cihazların temel hazırlığını yapın

Cihazların temel hazırlığının yapılması için çeşitli yöntemler vardır. Müşterilerinizin işletme gereksinimleri, kullanmak istediğiniz temel hazırlık yöntemlerini belirler.

Cihaz temel hazırlığı hakkında temel bilgiler

Müşterilerinizin desteklemek istediği cihaz temel hazırlığı dağıtım senaryoları (KCG veya şirkete ait gibi), kullanacağınız çalışma modlarını (cihaz sahibi modu veya profil sahibi modu gibi) belirler. Benzer şekilde, hangi temel hazırlık yöntemlerini uygulayacağınızı belirlemek için kullanmanız gereken çalışma modları ve Android sürümleri.

Dağıtım senaryoları

Şirkete ait dağıtım senaryolarında kuruluş, çalışanlarının kullandığı cihazların sahibidir ve bu cihazları tam olarak kontrol eder. Kuruluşlar genellikle tüm cihazı sıkı bir şekilde izlemeleri ve yönetmeleri gerektiğinde şirkete ait cihazları dağıtır.

KCG dağıtım senaryosunu destekleyen şirketler, çalışanlarının kendilerine ait cihazları işletmeye çekmesine ve bu cihazları ayrıcalıklı şirket bilgilerine ve uygulamalarına erişmek için kullanmasına izin vermektedir.

Çalışma şekilleri

Şirkete ait dağıtımlar, cihaz sahibi çalışma modu tarafından desteklenir. Android'de yönetim uygulamanıza cihaz politikası denetleyici (DPC) adı verilir. DPC, bir Android cihazda politikaları zorunlu kılar ve cihaz sahibi olarak hareket ettiğinde cihazın tamamını yönetir. Cihazın sahibi olarak DPC, cihaz genelinde bağlantıyı yapılandırma, genel ayarları yapılandırma ve fabrika ayarlarına sıfırlama gibi cihaz genelinde işlemler gerçekleştirebilir.

KCG dağıtımları, profil sahibi çalışma modu tarafından desteklenir. DPC aracılığıyla şirket, cihazdaki birincil kullanıcı hesabına bir iş profili ekleyerek kişisel cihazların iş amaçlı kullanımına izin verir. İş profili, birincil kullanıcıyla ilişkilendirilir, ancak ayrı bir profil olarak oluşturulur. Profil sahibi olarak DPC yalnızca cihazdaki iş profilini yönetir ve iş profili dışında kontrol sahibidir.

Eski cihaz dağıtımları, eski çalışma modu tarafından desteklenir. Bu mod, cihazın DPC üzerinde sınırlı denetime (ör. bir cihazı silme, geçiş kodu kullanılmasını zorunlu kılma veya bazı politikaları zorunlu kılma gibi) olanak tanır. Kullanıcının Google Hesabı eklemesine izin vererek veya DPC'nizin eski cihaza yönetilen bir Google Play Hesabı eklemesini sağlayarak eski cihazlarda Google Play üzerinden uygulama yönetimi sağlayabilirsiniz.

Cihaz sahibi modunu veya profil sahibi modunu uygulayabileceğiniz dağıtımlarda eski mod önerilmez. Büyük bir filoda "en düşük ortak payda" çözümünü kullanmak yerine mümkün olan en üst düzey cihaz yönetimini kullanmalısınız.

Cihaz sahibinin temel hazırlık yöntemleri

Yeni bir cihazın ilk kurulumu sırasında veya fabrika ayarlarına sıfırlandıktan sonra cihaz sahibinin çalışma modunu sağlamanız gerekir. Bir cihazda cihaz sahibi modunun temel hazırlığı hiçbir zaman sağlanamaz.

Kullanım alanına bağlı olarak, cihaz sahibi modunun temel hazırlığını yapmak için iki temel temel hazırlık yöntemi türü bulunur.

  • Cihaz odaklı bir akışta, BT yöneticileri çok sayıda cihazın temel hazırlığını yapmak için NFC'yi kullanabilir. Bu akış, Managed Google Play Hesabı veya G Suite senaryoları için kullanılabilir.
  • Kullanıcı odaklı bir akışta seçenekler, kuruluşun G Suite kullanıp kullanmadığına bağlıdır.
    • G Suite senaryosunda, kullanıcı ilk cihaz kurulumu sırasında Google Hesabını ekler ve DPC, cihaz sahibi ayarlarını yapma adımlarında kullanıcıyı yönlendirmelidir. Kullanıcı odaklı bir akış, son kullanıcıların yeni cihazlar kurmasına yardımcı olabilir. Ayrıca, cihazlar NFC'yi desteklemediğinde de alternatif bir yöntemdir.
    • Bir kuruluş G Suite kullanmıyorsa Managed Google Play Accounts yöntemini kullanmalısınız.

Profil sahibi temel hazırlık yöntemleri

Profil sahibinin çalışma şeklinin temel hazırlığının yapılması için önerilen yöntem, kuruluşun G Suite kullanıp kullanmadığına göre farklılık gösterir.

  • G Suite durumunda önerilen yöntem, kullanıcının kendi Google Hesabını eklediği bir kullanıcı odaklı akıştır. DPC, profil sahibini ayarlama adımlarında kullanıcıyı yönlendirir.
  • Bir kuruluş G Suite kullanmıyorsa önerilen yöntem Managed Google Play Accounts yöntemidir.

Kullanıcıdan DPC'yi manuel olarak yüklemesi istenen geleneksel yöntem de desteklenir. Kullanıcının DPC'nizi Google Play'den indirip yüklemesi gerekir. Daha sonra DPC, profil sahibini ayarlama işleminin gerisinde kullanıcıya yol gösterir.

Eski cihazlar için temel hazırlık yöntemleri

Eski cihazlar 5.0'dan önceki Android sürümlerini çalıştırır veya iş profillerini desteklemez. Eski bir cihazın temel hazırlığının yapılması için önerilen yöntem, kuruluşun yönetilen Google Hesapları kullanıp kullanmadığına bağlıdır.

  • Yönetilen Google Hesaplarında önerilen yöntem, kullanıcının Google Hesabını eklediği bir kullanıcı odaklı akıştır. DPC, oluşturma adımlarında kullanıcıya yol gösterir.
  • Bir kuruluş Managed Google Hesapları kullanmadığında önerilen yöntem, kullanıcının Google Play'den DPC'yi yüklediği Managed Google Play Accounts yöntemidir. DPC, aynı hesabı iş profiline ekleme yöntemine benzer şekilde, eski Google Play Hesaplarını da eski bir cihaza ekleyebilir.

Kullanıcıya DPC'yi manuel olarak yükleme talimatı verilen ve ardından DPC'ye bir Google Hesabı ekleyen geleneksel yöntem de desteklenir. Kullanıcının DPC'nizi Google Play'den indirip yüklemesi gerekir. Daha sonra DPC, kurulum adımlarında kullanıcıya yol gösterir.

Android sürümlerindeki temel hazırlık farklılıkları

Dağıtım
senaryo
Çalışma şekli
Temel hazırlığı
yöntemi
*Önce
5.0
5.0,
5.1
6.0,
daha sonra
7.0,
daha sonra
Şirkete ait Cihaz sahibi QR kodu
Managed Google Play Hesapları
Google Hesabı
NFC
Eski Managed Google Play Hesapları
Google Hesabı
KCG Profil sahibi Managed Google Play Hesapları
Google Hesabı **5,1
Manuel DPC yüklemesi
Eski Managed Google Play Hesapları
Google Hesabı
Manuel DPC yüklemesi

*Android 5.0'dan sonraki bir sürümü çalıştırıyor olsa bile, iş profillerini desteklemeyen cihazlar için de eski modu kullanmanız önerilir. Bunlar genellikle düşük RAM'e sahip cihazlardır.

**Android 5.1'deki Google Hesabı yöntemi yalnızca profil sahibi çalışma modunu destekler ve kullanıcı bunu yalnızca Ayarlar > Hesap ekle bölümünden yapılandırabilir.

Kullanımla ilgili genel hususlar

Hangi işlemi uyguladığınıza bakılmaksızın DPC'nizi yazarken dikkate almanız gereken bazı noktalar vardır.

Google Play Hizmetleri uyumluluğu

Google Play Hizmetleri APK kılavuzu, geliştiricilerden API işlemlerini gerçekleştirmeden önce Google Play Hizmetleri'nin sürüm kontrolünü gerçekleştirmelerini ister. Google Play hizmetlerini güncellemeye çalışmak cihaz kurulum sürecinde ciddi aksaklıklara neden olduğundan DPC'niz, cihaz temel hazırlığı tamamlanmadan Google Play hizmetlerini güncellemeye çalışmamalıdır.

Google Play Hizmetleri ile DPC uyumluluğu hakkında önemli noktalar şunlardır:

  • DPC, belirli bir cihazla gönderilen Google Play hizmetlerini kullanarak çalışmalıdır.
  • DPC, cihaz temel hazırlığı sırasında mevcut olan Google Play hizmetlerinin gelecekteki sürümlerinden yararlanmamalıdır.

Cihaz temel hazırlığı tamamlandığında DPC, kullanıcıdan Google Play hizmetlerini güncellemesini isteyebilir. Böylece DPC en son özellikleri kullanabilir. Bununla birlikte, bir özellik herhangi bir nedenle kullanılamıyorsa DPC, cihazla birlikte gönderilen sürüme sorunsuz bir şekilde geri dönmelidir.

Profil sahibi modu için dikkat edilmesi gereken noktalar

Profil sahibi çalışma modunu uygulamak için DPC'nizi yazarken dikkat etmeniz gereken bazı noktalar vardır.

Kişisel DPC'yi kaldırın veya devre dışı bırakın

Profil sahibi çalışma modunun temel hazırlığını yaparken DPC, kişisel profilde çalışmaya başlar ve bir iş profili oluşturma işlemini başlatır. İş profili oluşturulduktan sonra DPC de iş profilinin içinde çalışır. İş profilindeki DPC, temel hazırlık işlemini tamamlar. Bu durumda kişisel profildeki DPC kendisini devre dışı bırakmalı veya cihaz kullanıcısı kaldırmalıdır.

Kullanıcı kişisel DPC'yi kaldırır

  1. Kişisel DPC ACTION_MANAGED_PROFILE_PROVISIONED. için dinleme yapar (Android 5.1 cihazlarda kişisel DPC bunun yerine ACTION_MANAGED_PROFILE_ADDED dinlemelidir.)
  2. Kişisel DPC kaldırma isteği başlatır ACTION_UNINSTALL_PACKAGE. Bu, kullanıcıdan kişisel DPC'yi kaldırmasını ister. En iyi kullanıcı deneyimi için kaldırma işlemi temel hazırlık akışında yapılmalıdır.

Kişisel DPC kendisini devre dışı bırakır

  1. Kişisel DPC ACTION_MANAGED_PROFILE_PROVISIONED. için dinleme yapar (Android 5.1 cihazlarda kişisel DPC bunun yerine ACTION_MANAGED_PROFILE_ADDED dinlemelidir.)
  2. Kişisel DPC, devre dışı bırakılmadan önce cihazın yönetici ayrıcalıklarını iptal etmelidir.
  3. Kişisel DPC, COMPONENT_ENABLED_STATE_DISABLED parametresiyle setApplicationEnabledSetting devre dışı bırakma isteği başlatır.
  4. Kullanıcı, kişisel DPC'yi Google Play'den yeniden etkinleştirebilir.

Cihaz sahibi modu için dikkat edilmesi gereken noktalar

Cihaz sahibi çalışma modunu uygulamak için DPC'nizi yazarken göz önünde bulundurulması gereken bazı noktalar vardır.

Cihaz yeni veya fabrika ayarlarına sıfırlanmış olmalıdır

Yeni bir cihazın ilk kurulumu sırasında veya fabrika ayarlarına sıfırlandıktan sonra cihaz sahibinin çalışma modunu sağlamanız gerekir. Bir cihazda cihaz sahibi modunun temel hazırlığı hiçbir zaman sağlanamaz.

Cihaz sahibi modu, DPC'ye bir cihaz üzerinde tam kontrol sağlar. İlk kurulumdan sonra cihaz sahibi modunun temel hazırlığının yapılmasına izin verildiyse:

  • Kötü amaçlı yazılımlar cihaz sahibi oluşturup cihazı ele geçirebilir.
  • Cihazda zaten bazı kullanıcı verileri veya uygulamalar varsa gizlilik sorunları ortaya çıkabilir.

Cihaz sahibi modunu yalnızca şirkete ait cihazlarda kur

Cihaz sahibi modunu yalnızca müşterinizin şirketine ait olduğunu belirttiğiniz cihazlarda sağlamalısınız. Benzersiz bir cihaz tanımlayıcısını (ör. seri numarası) algılayarak veya EMM politikanız aracılığıyla cihaz kaydı için yetkilendirilen özel bir hesap grubu kullanarak bu durumu doğrulayabilirsiniz.

Bir cihazın şirkete ait olduğunu doğrulayamıyorsanız cihaz sahibi modunun yanlışlıkla sağlanmaması için hatasız bir mekanizma oluşturmanız gerekir. Örneğin, cihaz sahibi modunun temel hazırlığını yapmadan önce cihaz kullanıcısının onaylamasını veya olumlu bir işlem yapmasını isteyebilirsiniz.

Sistem uygulamalarını etkinleştir

DPC bir iş profili sağladığında, başlatıcı simgeleri olmayan tüm sistem uygulamalarının cihaz için kritik öneme sahip olduğu varsayılır ve otomatik olarak iş profilinde çalışmasına izin verilir. Başlatıcı simgeleri olan sistem uygulamaları isteğe bağlıdır ve bunları etkinleştirip etkinleştirmeyeceğinize karar verebilirsiniz.

Sistem uygulamalarını Google Play üzerinden etkinleştirme

Google Play'i kullanarak sistem uygulamalarını etkinleştirmek kolaydır. Kullanıcılar, kullanıma sunulan uygulama güncellemelerini alır.

Android Framework API'lerini kullanarak sistem uygulamalarını etkinleştirme

Kullanıcıların, cihazlarını kullanmaya başlar başlamaz sistem uygulamalarını görmelerini istiyorsanız cihaz temel hazırlığı işleminin bir parçası olarak sistem uygulamalarını etkinleştirin. DPC, DevicePolicyManager.enableSystemApp() kullanarak sistem uygulamalarını paket adına veya amaca göre etkinleştirir.

Etkinleştirmek ve EMM konsolunuzda BT yöneticilerine sunmak istediğiniz sistem uygulamalarını tanımlamanın birkaç yolu vardır.

Sistem uygulama katalogları oluşturma

Bu yöntemde, her cihaz cihazda hangi uygulamaların olduğunu belirler ve bu verileri EMM konsoluna geri gönderir. EMM konsolu, cihaz politikası oluştururken bu verileri dinamik olarak gösterir. Böylece BT yöneticisi, uygulamaları uygulama bazında yönetebilir.

  1. İş profili henüz cihazda temel hazırlığı yapılmamışsa queryIntentActivities() uygulamasını kullanarak cihazda başlatıcı simgeleri olan tüm uygulamaların listesini alın:
    private List getAppsWithLauncher() {
    Intent i = new Intent(Intent.ACTION_MAIN);
    i.addCategory(Intent.CATEGORY_LAUNCHER);
    return getPackageManager().queryIntentActivities(i, 0);
    }
  2. Cihazda iş profilinin temel hazırlığı zaten yapılmışsa PackageManager.GET_DISABLED_COMPONENTS ve PackageManager.GET_UNINSTALLED_PACKAGES özelliklerini kullanarak iş profilindeki tüm uygulamaların listesini alın.
  3. Cihazın sistem resminde yüklü olup olmadığını gösteren FLAG_SYSTEM simgesine göz atarak uygulama listesinde sistem uygulamalarını bulun.

Artıları:

  • BT yöneticilerine tüm cihazlardaki uygulamaların kapsamlı bir görünümünü sunar.
  • Hangi uygulamaların etkinleştirildiği üzerinde ayrıntılı kontrol sağlar.

Eksileri:

  • Her cihazın farklı uygulama kataloğu olduğundan, farklı cihaz türlerine tek bir politika yapılandırması modeli uygulamak zordur.
  • OEM'e özgü uygulamaların hacmini BT yöneticileri için anlamlı bir şekilde sunmak zor olabilir.

Sistem uygulamalarını işlevlere göre kategorilere ayırma

BT yöneticileri bir sistem grubunu bir cihaz grubu için etkinleştirmek istediğinde, işlevlere göre (örneğin, "Sistem Tarayıcısı") genel bir uygulama seçer. Daha sonra DPC bu amaca yönelik tüm sistem uygulamalarına izin verir.

Artıları:

  • BT yöneticileri için basit, işleve dayalı etkinleştirme.
  • Çeşitli cihazlarda tutarlı işlevler sağlar (en azından yaygın kullanım alanları için).

Eksileri:

  • Sistem uygulamalarını, tüm cihaz türlerinde desteklenenlerle sınırlar.
  • BT yöneticileri bir uygulamanın OEM sürümünü (ör. Samsung® tarayıcı) değil, başka bir sürümünü (LG® tarayıcı gibi) aktarmak isteyebilir.
  • BT yöneticileri birden fazla uygulamayı aktarmak istemese de birden fazla intent işleyici olduğunda bunu önleyemezler.

Yalnızca onaylanmış sistem uygulamalarını destekleme

Belirli OEM paketlerini tanımlamak için OEM ile çalışır ve yalnızca EMM konsolundan bu paketleri desteklersiniz. Bu, OEM uygulaması Google Play'de barındırılmadığından, OEM uygulamasının yönetilen yapılandırmalarını kataloglamanızı da sağlayabilir.

Artıları:

  • Entegrasyon iş akışını büyük ölçüde basitleştirir ve ilk iki seçenekte sorunlu olan uç durumları ortadan kaldırır.
  • OEM uygulaması için yönetilen yapılandırmaları kataloglayabilir ve BT yöneticileri için EMM konsolunda sunabilirsiniz.
  • Önemli cihazları desteklemek için OEM'lerle yakın ilişkiler kurulmasını sağlar.

Eksileri:

  • Bunun sonucunda daha az ölçeklenebilirler ve tüketici tercihlerini azaltırlar.

Eski mod için uygulamayla ilgili dikkat edilmesi gereken noktalar

Eski çalışma modunu uygulamak için DPC'nizi yazarken göz önünde bulundurmanız gereken bazı noktalar vardır.

Cihazın iş profillerini destekleyip desteklemediğini

İş profillerini desteklemeyen cihazlar için eski çalışma modunun temel hazırlığını yapabilirsiniz. Şu durumlarda cihaz, iş profillerini desteklemez:

  • Android'in 5.0'dan önceki bir sürümünü çalıştırır.
  • Android'in 5.0'dan sonraki bir sürümünü çalıştırsa bile düşük RAM miktarına sahiptir.

İş profillerinin desteklenip desteklenmediğini belirlemek için DPC, PackageManager'ı kullanabilir.

if (!getPackageManager().hasSystemFeature(
    PackageManager.FEATURE_MANAGED_USERS)) {
  // Use legacy mode
  ...
}

DPC'niz için test senaryoları

Test DPC, Google tarafından DPC uygulamanızda kurumsal işlevleri test etmek için sağlanan açık kaynaklı bir uygulamadır. Test DPC'si github veya Google Play'den edinilebilir. Test DPC'si ile aşağıdakileri yapabilirsiniz:

  • Android'de özellikleri simüle etme
  • Politika belirleyin ve uygulayın
  • Uygulama ve amaç kısıtlamalarını belirleyin
  • İş profilleri oluşturun
  • Tümüyle yönetilen Android cihazları ayarlama

Test DPC'si öncelikle Android çözümü için kurumsal çözümünüzü test etmeyi amaçlayan bir araç olarak tasarlanmış olsa da, Android özellikleri için örnek kod kaynağı olarak da kullanabilirsiniz.

Temel hazırlığı özelleştirin

Cihaz temel hazırlığı sırasında sistem kullanıcı arayüzü durum çubuğunda varsayılan bir renk ve ekranın üst kısmında varsayılan bir logo gösterir. DPC ile sistem arayüzü arasında tutarlı bir görsel geçiş sağlamak için özel renkler ve logolar ayarlayın veya yöneticilerin bunu EMM konsolunuzu kullanarak yapmasını sağlayın. Örneğin bir yönetici, şirket logosu yükleyebilir veya bildirimleri gösteren ekranların görünümünü özelleştirebilir.

DPC'niz DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR ve DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI ekstralarını kullanarak renk ve logo seçeneklerini uygular.

Özel bir renk ayarlamak için EXTRA_PROVISIONING_MAIN_COLOR kullanarak cihaz temel hazırlığı sırasında öncelikli olan rengi belirten bir tam sayı belirleyin. ACTION_PROVISION_MANAGED_PROFILE veya ACTION_PROVISION_MANAGED_DEVICE kullanarak fazladan (sabit) bir değer girin.

Tam sayıların nasıl gösterildiğini görmek için Renk bölümüne bakın. Örnek için bkz. MAIN_COLOR in the TestDPC app.

Özel logo ayarlamak için, cihaz temel hazırlığı sırasında ekranın üst kısmında gösterilen bir resim ayarlamak üzere EXTRA_PROVISIONING_LOGO_URI'yi kullanın. Ekstra (sabit) değerini ACTION_PROVISION_MANAGED_PROFILE veya ACTION_PROVISION_MANAGED_DEVICE ile bir amaçla koyun. Resmin cihaz için makul bir piksel yoğunluğuna sahip olduğundan emin olun.

Bir örnek için TestDPC uygulamasındaki LOGO_URI makalesine bakın.

QR kodu yöntemi

QR kodu temel hazırlık yöntemi, kurulum sihirbazında bir QR kodu tarayarak cihaz sahibi modunu ayarlayıp yapılandırır. QR kodu, DPC'nin bir cihazın temel hazırlığını yapması için gerekli tüm bilgileri içeren bir anahtar/değer çifti yükü içerir.

EMM konsolunuz, BT yöneticilerinin temel hazırlığını yapmak istedikleri cihazlar için QR kodları oluşturabilecekleri bir yol sunmalıdır. BT yöneticisi QR kodlarını son kullanıcılarına gönderir ve son kullanıcılar cihazlarının temel hazırlığını yaparak QR kodlarını tarar.

QR kodu temel hazırlığı için kullanım örnekleri

Tabletler gibi bazı cihazlar NFC'yi desteklemez. QR kodu temel hazırlığı, NFC'yi desteklemeyen bir dağıtılmış cihaz filosunun temel hazırlığının kolay bir yoludur. BT yöneticileri, kullanıcı temel hazırlığına izin vermek için kullanıcılarına QR kodları gönderebilir.

QR kodu temel hazırlığı, Google alanı veya Google Hesabı gibi bir Google kimliği gerektirmez. Android kullanan ancak G Suite kullanmayan kuruluşlar Google kimliğine sahip değildir.

NFC'de olduğu gibi, QR kodu temel hazırlığı, bir Google kimliğine (veya kimliğine) ihtiyaç duyulmadığında ya da istendiğinde kiosk ve tek kullanımlık dağıtımları etkinleştirir. Örneğin, bir mağazadaki kiosk cihazı kimseye ait değildir ve son kullanıcı kimliğine sahip olmamalıdır.

QR kodu oluştur

QR kodu temel hazırlığı için geçerli bir QR kodu, UTF-8 olarak kodlanmış JavaScript® Object Notation (JSON) dizesidir. Bu özellikleri geçerli QR koduna ekleyebilirsiniz:

Her zaman zorunlu

Cihazda zaten bir DPC yüklü değilse gereklidir

Cihaz halihazırda kablosuz ağa bağlı değilse önerilir

İsteğe bağlı

Bu örnek geçerli bir QR kodu oluşturur:

{
"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":
"com.emm.android/com.emm.android.DeviceAdminReceiver",

"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":
"gJD2YwtOiWJHkSMkkIfLRlj-quNqG1fb6v100QmzM9w=",

"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION":
"https://path.to/dpc.apk",
    "android.app.extra.PROVISIONING_SKIP_ENCRYPTION": false,
    "android.app.extra.PROVISIONING_WIFI_SSID": "GuestNetwork",
    "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE": {
        "dpc_company_name": "Acme Inc.",
        "emm_server_url": "https://server.emm.biz:8787",
        "another_custom_dpc_key": "dpc_custom_value"
    }
}

QR kodu temel hazırlık işlemi

  1. Kurulum sihirbazı, kullanıcıdan Karşılama ekranına 6 kez dokunmasını ister. Dokunmaların, ekranda aynı yerde yapılması gerekir.
  2. Kurulum sihirbazı, kurulum sihirbazının bir QR kodu okuyucuyu indirebilmesi için kullanıcıdan internete bağlanmasını ister.
  3. Google Play Hizmetleri, QR kodu tanıma motoru içeren bir modül indirir.
  4. Kullanıcı, BT yöneticisi tarafından sağlanan QR kodunu tarar.
  5. Kurulum sihirbazı DPC uygulamanızı indirir ve ACTION_PROVISION_MANAGED_DEVICE kullanarak cihaz sahibi temel hazırlık işlemini başlatır.

Managed Google Play Accounts yöntemi

DPC, cihaz sahibi modunu veya profil sahibi modunu ayarlamak için Managed Google Play Accounts temel hazırlık yöntemini kullanabilir. Bu temel hazırlık yöntemi, şu anda G Suite kullanmayan kuruluşları hedeflemektedir.

Managed Google Play Accounts temel hazırlık yöntemi, DPC Destek Kitaplığı'nı kullanır. Bu istemci kitaplığı, yönetilen Google Play Hesaplarının sorunsuz çalışmasını sağlar. Ayrıca Managed Google Play Accounts temel hazırlığı sürecinde yapılacak güncellemelerle uyumluluğu korur.

Cihazların temel hazırlığının ön koşulları

  • Kurumsal kimlik, EMM kimliğiyle oluşturulur ve kaydettirilir. ESA, Kuruluş Oluşturma ve Kaydetme bölümünde açıklandığı şekilde ayarlanmıştır.
  • Kullanıcının kurumsal kimliği EMM konsolunuz tarafından bilinir.
  • Kullanıcı, EMM konsolunun (genellikle kurumsal e-posta kimlik bilgileri) kabul ettiği kimlik bilgilerini kullanarak DPC uygulamasında oturum açabilir.

Profil sahibi modunu ayarlama

KCG senaryosunda kişisel bir cihaz olarak kullanılan bir cihazda profil sahibinin çalışma modunun temel hazırlığını yapabilirsiniz.

  1. Kullanıcı DPC'nizi Google Play'den manuel olarak indirir ve başlatır.
  2. DPC, iş profilinin temel hazırlığını ACTION_PROVISION_MANAGED_PROFILE ile yapar.
  3. Son kurulum adımlarını tamamlayın.

Cihaz sahibi modunu ayarlama

Yeni bir cihazın ilk kurulumu sırasında veya fabrika ayarlarına sıfırlandıktan sonra cihaz sahibinin çalışma modunu sağlamanız gerekir. Bir cihazda cihaz sahibi modunun temel hazırlığı hiçbir zaman sağlanamaz.

Cihaz kurulumu sırasında, kullanıcı hesap eklemesi istendiğinde DPC'ye özel özel bir jeton girer. Jeton "afw#DPC_IDENTIFIER" biçimindedir. ACME adlı EMM için "afw#acme" ACME EMM'nin varsayılan DPC'sini yükler. Her EMM'nin temel hazırlık işleminde kullanılabilmesi için Google'dan belirli bir DPC tanımlayıcısını istemesi gerekir.

  1. Kullanıcı yeni veya fabrika ayarlarına sıfırlanmış bir cihazı etkinleştirir ve kurulum sihirbazı açılır.
  2. Hesap eklemeniz istendiğinde kullanıcı, "afw#DPC_IDENTIFIER" biçiminde özel bir jeton girerek EMM'nizin DPC'sini tanımlar.
  3. Jetondaki DPC tanımlayıcısını kullanan kurulum sihirbazı, cihaza geçici bir Google Hesabı ekler. Bu geçici hesap yalnızca EMM'nize ilişkin DPC'yi Google Play'den indirmek için kullanılır ve son kurulum adımlarında kaldırılır.
  4. DPC, ACTION_PROVISION_MANAGED_DEVICE hizmetini kullanarak cihazın temel hazırlığını yapar.
  5. Son kurulum adımlarını tamamlayın.

Google Hesabı yöntemi

Bir DPC, Google Hesabı temel hazırlık yöntemini kullanarak cihaz sahibi modunu, profil sahibi modunu veya eski modu ayarlayabilir. Google Hesabı temel hazırlığı yöntemiyle DPC, kullanıcı ilk cihaz kurulumu sırasında Google Hesabını ekledikten sonra temel hazırlık adımlarında kullanıcıya yol gösterir.

Bir kullanıcı Google Hesabı kimlik bilgilerini girdiğinde:

  • Google kimlik doğrulama sunucusu, kullanıcı hesabının kimliğini doğrular.
  • Bunun ardından, kimlik doğrulama sunucusu hesabın sunucu alanının bir G Suite alanı mı yoksa EMM tarafından yönetilen bir alan mı olduğunu öğrenmek için kurumsal sunucuyla iletişim kurar.
  • Bu durumda sistem, alanla ilişkili DPC'yi otomatik olarak Google Play'den indirip yükler.

Profil sahibi modunu ayarlama

Cihazın ilk kurulumu sırasında veya kullanıcı, Ayarlar > Hesap ekle'yi kullanarak hesap eklerken profil sahibinin çalışma modunun temel hazırlığını yapabilirsiniz.

  1. Hesap kimlik doğrulaması, kurulum sihirbazında veya Ayarlar > Hesap ekle'de kullanıcı tarafından başlatılır.
  2. GMSCore, [PROVISION_FROM_TRUSTED_SOURCE] kullanarak iş profili temel hazırlığı işlemini başlatıyor.

  3. İş profili temel hazırlığının DPC tarafından desteklendiğini doğrulamak için DPC otomatik olarak cihaza indirilir ve ACTION_GET_PROVISIONING_MODE işleyicisi kullanılarak başlatılır. EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE - İş profili için e-posta adresi gibi ek bilgiler. DPC ayrıca bu paketin bir parçası olarak is_setup_wizard işlemini alır. Bu paket ACTION_GET_PROVISIONING_MODE ve ACTION_ADMIN_POLICY_COMPLIANCE işleyicilerine dahil edilecek.
    EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATEYeni iş profiline taşınacak, kimliği doğrulanmış hesabın adı.

  4. Platform, iş profili temel hazırlığını gerçekleştirir.

  5. İş profilinin temel hazırlığı yapıldığında DPC yayını
    ACTION_PROFILE_PROVISIONING_COMPLETE alır. DPC'nin ACTION_ADMIN_POLICY_COMPLIANCE işleyicisi iş profilinde başlatıldı.
    İş profili oluşturulduğunda DPC de iş profilinin içinde çalışır. DPC, bu yönetilen Google Hesabı için politikaları aktarır, cihazın güvenliğinin ihlal edilmiş durumda olmadığından emin olur ve politikaların zorunlu kılındığını doğrular (şifre gerekliliği gibi).

  6. Kişisel profildeki DPC kendisini devre dışı bırakır veya kullanıcı tarafından kaldırılır.

Cihaz sahibi modunu veya COPE'yi ayarlayın

Yeni bir cihazın ilk kurulumu sırasında veya fabrika ayarlarına sıfırlandıktan sonra cihaz sahibinin çalışma modunu sağlamanız gerekir. Cihaz sahibi modu hiçbir zaman bir cihaza eklenemez.

  1. Hesap kimlik doğrulaması, kurulum sihirbazında bir kullanıcı tarafından başlatılır.
  2. GMSCore, [PROVISION_FROM_TRUSTED\SOURCE] kullanarak cihaz sahibinin temel hazırlığını başlatır. 3.DPC otomatik olarak cihaza indirilir ve GET_PROVISIONING_MODE işleyici kullanılarak başlatılarak istenen temel hazırlık modu seçilir. EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE: İş profili için yerel ayar, kablosuz ağ ve e-posta adresi gibi ek bilgiler. DPC ayrıca bu paketin bir parçası olarak is_setup_wizard işlemini alır. Bu paket ACTION_GET_PROVISIONING_MODE ve ACTION_ADMIN_POLICY_COMPLIANCE işleyicilerine dahil edilecek.
  3. Platform, cihazın temel hazırlık modunu temel alır.
  4. Cihazın temel hazırlığı yapıldığında DPC şu yayınları alır ve DPC'nin ACTION_ADMIN_POLICY_COMPLIANCE işleyicisi kullanıma sunulur:
    ACTION_READY_FOR_USER_INITIALIZATION
    ACTION_PROFILE_PROVISIONING_COMPLETE.

  5. DPC, cihazın yeni olduğunu veya fabrika ayarlarına sıfırlandığını (temel hazırlığı yapılmamış) doğrulamak için Global.DEVICE_PROVISIONED değerini kullanır:
    0 - Temel hazırlığı yapılmamış.
    1 - Temel hazırlığı yapıldı.

  6. DPC, söz konusu yönetilen cihaz için politikaları aktararak, cihazın güvenliği ihlal edilmiş durumda olmadığından ve politikaların zorunlu kılındığını (şifre gerektirme gibi) doğrulayarak işlemi sağlar.

Eski modu ayarlayın

Bir cihazın ilk kurulumu sırasında veya kullanıcı, Ayarlar > Hesap ekle bölümünde hesap eklerken eski çalışma modunun temel hazırlığını yapabilirsiniz. Managed Google Play'i Google Hesabı olan kullanıcılara sunmak için gerekenler:

  • Google Hesabı, yönetilen bir Google alanının parçasıdır.
  • Managed Google alanı, Android için Google Play EMM API'ye bağlı bir EMM ile ayarlanır.

Yalnızca eski cihazlarda uygulama yönetimi yapmak istiyorsanız DPC'ye ihtiyacınız yoktur. Bu durumda, kullanıcı Google Hesabını Ayarlar > Hesap ekle bölümüne ekler. Uygulama yönetimi; önerilen uygulamaların seçilmesini, özel uygulamaların kullanıma sunulmasını, lisans satın alınmasını ve dağıtılmasını içerir.

DPC'nizin Google Hesabı'nı eklemesini istiyorsanız:

  1. Kullanıcı DPC'nizi Google Play'den indirir ve başlatır.
  2. DPC, yönetilen Google Hesabını AccountManager.addAccount() kullanarak ekler. AccountManager.KEY_ACCOUNT_NAME kullanarak belirli bir Google Hesabı eklemeyle ilgili örnek bir uygulama için TestDPC'ye bakın.
  3. (İsteğe bağlı) DPC kendisini cihaz yöneticisi olarak ayarlar. Cihaz yöneticisi olarak DPC, uygulama yönetiminin dışında cihaz yönetimi özelliklerine sahiptir.

Google Hesabı yöntemi için dikkat edilmesi gereken noktalar

  • DPC, kullanılan başlatma amacında belirli ek özellikleri arayarak Google Hesabı kimlik doğrulama akışını algılamalıdır (bkz. LaunchIntentUtil):

    • android.accounts.Account hesabı: Bu hesap, kurulum sihirbazından veya Ayarlar > Hesap ekle'den eklendiğini gösterir. Bu hesap, başlatılan DPC'nin cihazı veya profili yönetmesini gerektirir.
    • Boole türünde is_setup_wizard: True (doğru) değerine ayarlanırsa DPC, kurulum sihirbazı tamamlanmadan önce kurulum sihirbazında başlatılır. Aksi takdirde Ayarlar > Hesap ekle veya başka bir akış kullanılır.

    DPC'nin Google Hesabı yöntemi kapsamında kullanıma sunulup sunulmadığını basit bir şekilde kontrol etmek için:

boolean isSynchronousAuthLaunch(Intent launchIntent) {
  return launchIntent.hasExtra(“is_setup_wizard”);
}
  • DPC, kurulumu tamamlanmadan finish() numarasını aramamalıdır. Ayrıca, DPC startActivityForResult() ile kullanıma sunulduğunda ve sonuç beklerken pozitif bir sonuç kodu (RESULT_OK gibi) döndürmelidir.

    DPC kurulum akışı bir ACTION_PROVISION_* niyeti gönderme noktasına ulaşırsa DPC, finish() yöntemini çağırmadan önce temel hazırlık işleminden bir sonuç kodu beklemelidir. ACTION_PROVISION_* niyetlerini başlatırken startActivityForResult() ve onActivityResult() geri çağırmalarını kullanın. (Örnekler için LaunchActivity ve SetupSyncAuthManagement başlıklı makalelere bakın).

    Kurulum sürecinin potansiyel olarak eşzamansız olması nedeniyle DPC, temel hazırlık işleminin başarılı olduğunu belirtmek için RESULT_OK sonuç kodunu kullanamaz. Tek garantili yöntem, temel hazırlığın başarısında DeviceAdminReceiver geri çağırmalarına güvenmektir. RESULT_CANCELED, kullanıcının kurulum akışının eşzamanlı bir bölümünde yedeklendiğini ve DPC'nin bu duruma tepki vermesi gerektiğini belirtir.

    Bu örnekte DPC temel hazırlığı başlatır ve bir etkinlikten alınan sonuç kodunu bekler:

Intent intent = new Intent(ACTION_PROVISION_MANAGED_PROFILE);
startActivityForResult(intent, REQUEST_MANAGED_PROFILE);
    ...
    @Override
        public void onActivityResult(int req, int res, Intent i) {
            if (req == REQUEST_MANAGED_PROFILE) {
                if (res == Activity.RESULT_OK) {
                    setResult(Activity.RESULT_OK);
                    finish();
                } else {
                    Toast.makeText(this, “Provisioning failed”,
                            Toast.LENGTH_SHORT).show();
                }
            }
        }
  • Cihazın temel hazırlığı zaten yapıldıysa DPC, cihaz sahibi çalışma modunu ayarlamaya çalışmamalıdır (bkz. ProvisioningStateUtil.isDeviceProvisioned()). Bu örnekte DPC, cihazın temel hazırlığının yapılıp yapılmadığını kontrol eder:
public static boolean isDeviceProvisioned(Context context) {
ContentResolver cr = context.getContentResolver();
    return
Settings.Global.getInt(cr, DEVICE_PROVISIONED, 0) != 0;
}
  • İsteğe bağlı. DPC, durum bilgilerini DeviceAdminReceiver (profil sahibi durumunda iş profilinin içinde çalıştırılarak) geri iletmek için temel hazırlığı başlatırken EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE ekstradan yararlanabilir. DPC'yi test et, temel hazırlık tamamlandıktan sonra Google Hesabı akışına farklı bir etkinlik grubu girmek için bu ek özelliği kullanır. Ayrıntılar için DeviceAdminReceiver bölümüne göz atın.
public class DeviceAdminReceiver extends android.app.admin.DeviceAdminReceiver
{

    @Override
    public void onProfileProvisioningComplete(Context context, Intent intent) {
        // Retrieve the admin extras bundle, which we can use to determine the original context for
        // Test DPC’s launch.
        PersistableBundle extras = intent.getParcelableExtra(
                EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE);
        ...
  • Bir iş profili oluşturmak için DPC'nin eklenen hesabı yeni iş profiline taşıması gerekir. Bunun için DPC, ACTION_PROVISION_MANAGED_PROFILE için başlatma amacında sağlanan hesabı iletmelidir.
  • DPC, kurulum sırasında uygulamadan çıkması için kullanıcıya net bir harekete geçirici mesaj (son düğmesi gibi) sunmalıdır. Böylece kullanıcı, akışta bir çıkmaz noktaya geldiğini düşünmez.
  • Kullanıcı deneyiminin sorunsuz ve iyi entegre edilmiş olması için DPC, kurulum sihirbazı temasını veya düzen kitaplığını kullanmalıdır.

NFC yöntemi

DPC, cihaz sahibi modunu ayarlamak için NFC temel hazırlık yöntemini kullanabilir. NFC temel hazırlık yönteminde veya NFC dokundurma deneyiminde, müşterinizin cihaz sahibi çalışma modunu yapılandırmak için gereken ilk politikaları ve kablosuz ağ yapılandırmasını, ayarlarını ve temel hazırlık ayrıntılarını içeren bir NFC programcı uygulaması oluşturursunuz. Siz veya müşteriniz NFC programcı uygulamasını bir Android cihaza yüklediğinizde söz konusu cihaz, programcı cihaz olur.

Bir cihazın temel hazırlığını yapmak için BT yöneticisi, yeni bir cihazı kutudan çıkarır ve programcının cihazına dokundurur. Bump, yapılandırmaları cihaza aktarır. Böylece internete bağlanır ve uygun politikaları ve ayarları indirir. Ardından, cihaz DPC'niz tarafından yönetilir.

Bir cihazın temel hazırlığı yapıldıktan sonra Google Play, gösterilmesi gereken onaylı uygulamalar ve koleksiyonlar yerine kısa bir süre için yönetilmeyen tüketici içeriğini gösterir. Bu gecikme birkaç dakika ile bir saat arasında sürebilir.

NFC programcı uygulamasını ve programlayıcı cihazını oluşturma

  1. Google Cloud Connect'te EMM topluluğundan NFC programcısı örnek uygulamasını indirin. Örnek uygulamayı olduğu gibi kullanabilir veya varsayılan değerleriniz için değiştirebilirsiniz. Varsayılan parametreler örnek koduna bakın.
  2. Programlayıcı cihazı olacak NFC programcı uygulamasını cihaza yükleyin.
  3. NFC programlayıcı uygulamasını başlatın ve com.example.android.apis için Varsayılanları Yükle'yi seçin. (Bu metin, ayarladığınız varsayılan parametrelere bağlı olarak değişiklik gösterebilir.)

Müşteri cihazının temel hazırlığını yapma

  1. Programcı cihazını yeni bir cihaza veya fabrika ayarlarına sıfırlanmış bir cihaza dokundurun.
  2. Cihazın, başlangıçta görüntülenen Karşılama ekranında kaldığından emin olun. Metin, programcı uygulamasında Ready to send:{...} içinde belirtilmiştir.
  3. DPC sırasında bekleyin:
    1. Cihazı şifreler.
    2. Kod bölümü birden çok erişimli (CDMA) cihazsa: Telefon telefonu kullanıcı arayüzü gösterilirken (etkinleştirilmesi gerekmez) etkinleştirilir.
    3. Kablosuz bağlantıyı kurar.
    4. com .example.android.apis için.apk dosyasını indirir.
    5. com.example.android.apis dosyasını yükler.
    6. com.example.android.apis adresindeki Örnek Cihaz Yöneticisi'ni cihaz sahibi olarak ayarlar.
    7. Cihaz sahibi etkinleştiğinde başarılı durum mesajı gösterilir.
  4. Ana sayfaya döndükten sonra (kurulum sihirbazı otomatik olarak atlanır) com.example.android.apis adresinin cihaz sahibi olarak ayarlandığından emin olun:
    1. Ayarlar > Güvenlik > Cihaz yöneticileri bölümünde Örnek Cihaz Yöneticisi'nin kaldırılamadığından emin olun.
    2. Ayarlar > Kullanıcılar > Kullanıcılar ve profiller > Siz (sahip) bölümünde, mevcut tek hesabın Sahip olduğundan emin olun (bir cihazda aynı anda yalnızca bir etkin cihaz sahibi olabilir).

NFC programcı uygulamasından kod örnekleri

NFC programcısı uygulamasının özellikle faydalı bulabileceğiniz bölümlerinde satır içi yorumlar bulunur. NFC programcı uygulamasında örnek kodun tamamını görüntülemek için bir Java ayrıştırıcı programı kullanarak örnek .apk dosyasını açın.

initializePropertyUI() yöntemi

initializePropertyUI() yöntemi, NFC programcı uygulamasındaki kullanıcı arayüzü öğelerini (düzenlenebilir metin kutuları ve onay kutuları) başlatır. Bu öğelerde yapılan değişiklikler, mProps değişkeninin barındırdığı anahtar/değer çiftleriyle (KVP'ler) senkronize edilir. mProps değişkeni sonuçta NFC dokundurma özelliğiyle bir cihaza gönderilir.

private void initializePropertyUI(int paramInt1, int paramInt2, final String
paramString)
{
    Log.d("DeviceProvisioningProgrammerSample","initializeProperty for " + paramString);
    final EditText localEditText = (EditText)findViewById(paramInt1);
    final CheckBox localCheckBox =(CheckBox)findViewById(paramInt2);

/* Here we initialize text boxes so that when their text is edited the changes are synced to mProps. */

    if(localEditText != null)
      localEditText.addTextChangedListener(new TextWatcher()
      {
        public void afterTextChanged(Editable paramAnonymousEditable)
        {
        }
        public void beforeTextChanged(CharSequence paramAnonymousCharSequence, 
        int paramAnonymousInt1, int paramAnonymousInt2, int paramAnonymousInt3)
        {
      }
        public void onTextChanged(CharSequence paramAnonymousCharSequence, 
        int paramAnonymousInt1, int paramAnonymousInt2, in paramAnonymousInt3)
        {
          if ((localCheckBox != null) && (localCheckBox.isChecked()))
          {
              DeviceProvisioningProgrammerSample.this.mProps.put(paramString,
              localEditText.getText().toString());
              DeviceProvisioningProgrammerSample.this.refreshMessageView();
          }
        }
      });

/* Here we initialize check boxes, so that when they are unchecked, the edit 
boxes are disabled, and the corresponding KVPs are removed from mProps. When 
they are checked the KVPs are re added, and the text boxes are enabled. */

    if (localCheckBox != null) localCheckBox.setOnCheckedChangeListener
    (new CompoundButton.OnCheckedChangeListener()
      {
        public void onCheckedChanged(CompoundButton paramAnonymousCompoundButton, 
        boolean paramAnonymousBoolean)
        {
          Log.d("DeviceProvisioningProgrammerSample", "onCheckedChanged for 
          " + localEditText.getText().toString() + " isChecked = " + paramAnonymousBoolean);
         if (paramAnonymousBoolean)
          {
            localEditText.setEnabled(true);
            DeviceProvisioningProgrammerSample.this.mProps.put(paramString, 
            localEditText.getText().toString());
            DeviceProvisioningProgrammerSample.this.refreshMessageView(); return;
          }
          localEditText.setEnabled(false);
            DeviceProvisioningProgrammerSample.this.mProps.remove(paramString);
            DeviceProvisioningProgrammerSample.this.refreshMessageView();
      }
    });
}

Varsayılan parametreler

Bu kod örneği, bir cihaza NFC dokundurma özelliğiyle aktarılacak varsayılan değerleri belirler. Bazı yapılandırılabilir parametreler örneğe dahil edilmez ancak bunları uygulamanıza dahil etmeniz gerekebilir. (Örnekte bulunmayan parametreleri burada bulabilirsiniz.)

public void loadDefaults1(View paramView)
{
/* This EditText holds the KVP for EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME */
((EditText)findViewById(2131034114)).setText("com.example.android.apis");
((CheckBox)findViewById(2131034113)).setChecked(true);

/* This EditText holds
the KVP for EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION */
((EditText)findViewById(2131034116)).setText
("https://sites.google.com/site/apidemodownload/somepage/ApiDemos.apk");
((CheckBox)findViewById(2131034115)).setChecked(true);

/* This EditText holds
the KVP for EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM (note: must be URL-safe)*/
((EditText)findViewById(2131034118)).setText("ZYk5xsY0xqic51CTqB9kLiMLqwk");
((CheckBox)findViewById(2131034117)).setChecked(true);

/* This EditText holds
the KVP for EXTRA_PROVISIONING_WIFI_SSID */
((EditText)findViewById(2131034120)).setText("\"GoogleGuest\"");
((CheckBox)findViewById(2131034119)).setChecked(true);

/* This EditText holds
the KVP for EXTRA_PROVISIONING_TIME_ZONE*/
((EditText)findViewById(2131034122)).setText("Europe/London");
((CheckBox)findViewById(2131034121)).setChecked(true);
((CheckBox)findViewById(2131034123)).setChecked(false);

/* This EditText holds
the KVP for EXTRA_PROVISIONING_LOCALE
((EditText)findViewById(2131034126)).setText("en_GB");
((CheckBox)findViewById(2131034125)).setChecked(true);
}

onCreate() Yöntemi

onCreate() yöntemi, NFC programcısı uygulamasını, işlevlerini ve işlevlerini başlatır. android.app.plus dizeleri DevicePolicyManager dokümanlarında açıklanan dizelere karşılık gelir. Örneğin: DevicePolicyManager.EXTRA_ PROVISIONING_WIFI_SSID == "android.app.extra.PROVISIONING_WIFI_SSID".

protected void onCreate(Bundle paramBundle)
{
Log.d("DeviceProvisioningProgrammerSample", "onCreate");
super.onCreate(paramBundle);
    setContentView(2130903040);
    this.mTextView = ((TextView)findViewById(2131034112));
    this.mProps = new Properties();
initializePropertyUI(2131034114, 2131034113,
"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME");
initializePropertyUI(2131034116, 2131034115,
"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION");
initializePropertyUI(2131034118, 2131034117,
"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM");
initializePropertyUI(2131034120, 2131034119,
"android.app.extra.PROVISIONING_WIFI_SSID");
initializePropertyUI(2131034122, 2131034121,
"android.app.extra.PROVISIONING_TIME_ZONE");
initializePropertyUI(2131034124, 2131034123,
"android.app.extra.PROVISIONING_LOCAL_TIME");
initializePropertyUI(2131034126, 2131034125,
"android.app.extra.PROVISIONING_LOCALE");
    refreshMessageView();

/*  Next we get the default NFC adapter for the Android device being used, and define 
CreateNdefMessageCallback() for that adapter, which is invoked when another NFC device
capable of NDEF push (Android Beam) is within range. CreateNdefMessageCallback is an interface
that has one abstract method that needs to be defined. That method, createNdefMessage,
creates the message to be pushed. */

NfcAdapter.getDefaultAdapter(this).setNdefPushMessageCallback(new
NfcAdapter.CreateNdefMessageCallback()
    {
      public NdefMessage
createNdefMessage(NfcEvent paramAnonymousNfcEvent)
      {

/* Here ndefMessage creates an output stream which contains the values from mProps. */

Log.d("DeviceProvisioningProgrammerSample", "Sending Nfc");
ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream();
        try
        {
DeviceProvisioningProgrammerSample.this.mProps.store(localByteArrayOutputStream,
DeviceProvisioningProgrammerSample.this.getString(2130968578));
DeviceProvisioningProgrammerSample.this.mTextView.post(new Runnable()
{
            public void run()
            {
DeviceProvisioningProgrammerSample.this.refreshMessageView();
            }
      });

/* Here NdefMessage is created containing an NdefRecord. The NdefRecord contains its record 
type, and a byte array derived from the mProps output stream. */

          return new NdefMessage(new NdefRecord[] {
NdefRecord.createMime("application/com.android.managedprovisioning",
localByteArrayOutputStream.toByteArray()) });
        }
        catch
(IOException localIOException)
        {
          while (true)
Log.e("DeviceProvisioningProgrammerSample", "io exception", localIOException);
       }
      }
    }
    , this, new Activity[0]);
}

Ek kaynaklar

Gelişmiş NFC, çeşitli etiket teknolojileriyle çalışma, NFC etiketlerine yazma ve ön plan gönderim gibi gelişmiş NFC konularını açıklar.

Manuel DPC yükleme yöntemi

Kullanıcı, manuel DPC yükleme temel hazırlığı yöntemini kullanarak profil sahibi modunu ayarlamak için kullanıcı, DPC'nizi Google Play'den indirip yükler. Daha sonra DPC, yönetilen Google Hesabı için profil sahibini ayarlama işleminin gerisinde kullanıcıya rehberlik eder.

DPC, yönetilen Google Hesabını iş profili oluşturmadan önce veya oluşturduktan sonra ekleyebilir. Örneğin DPC, ilk olarak yönetilen Google Hesabı'nı istemek yerine kullanıcının EMM kimlik bilgilerini temel alan bir iş profili oluşturabilir.

Profil sahibi modunu ayarlama

Önce yönetilen Google Hesabı'nı ekleyin

  1. Kullanıcı DPC'nizi Google Play'den indirip yükler.
  2. DPC, AccountManager.addAccount() kullanarak iş profili oluşturmadan önce yönetilen Google Hesabı'nı ekler.
  3. DPC, kişisel profilde çalışmaya başlar ve şunları kullanarak bir iş profili oluşturma işlemini başlatır: ACTION_PROVISION_MANAGED_PROFILEİş profilinin temel hazırlığını yapar.
    EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLEİş profili için yerel ayar, kablosuz ağ ve e-posta adresi gibi ek bilgiler.
    EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATEYeni iş profiline taşınacak, kimliği doğrulanmış hesabın adı.
  4. İş profilindeki DPC, temel hazırlık işlemini tamamlar. İş profili oluşturulduktan sonra DPC, iş profilinin içinde de çalışır. İş profilindeki DPC, ilgili yönetilen Google hesabı için politikaları aktararak, cihazın güvenliği ihlal edilmiş durumda olmadığından ve politikaların zorunlu kılındığını (şifre gerektirme gibi) doğrulayarak provizyon işlemini tamamlar.
  5. İş profilinin temel hazırlığı yapıldığında DPC ACTION_PROFILE_PROVISIONING_COMPLETE yayınını alır.
  6. Kişisel profildeki DPC kendisini devre dışı bırakır veya kullanıcı tarafından kaldırılır.

Önce iş profilini oluşturun

  1. Kullanıcı DPC'nizi Google Play'den indirip yükler.
  2. DPC, kişisel profilde çalışmaya başlar ve şunları kullanarak bir iş profili oluşturma işlemini başlatır: ACTION_PROVISION_MANAGED_PROFILEİş profilinin temel hazırlığını yapar.
    EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLEİş profili için yerel ayar, kablosuz ağ ve e-posta adresi gibi ek bilgiler.
  3. DPC, yönetilen Google Hesabını AccountManager.addAccount() kullanarak ekler.
  4. DPC, ACTION_PROFILE_PROVISIONING_COMPLETE yayınını alır ve EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE okur.
  5. İş profilindeki DPC, temel hazırlık işlemini tamamlar. İş profili oluşturulduktan sonra DPC, iş profilinin içinde de çalışır. İş profilindeki DPC, ilgili yönetilen Google hesabı için politikaları aktararak, cihazın güvenliği ihlal edilmiş durumda olmadığından ve politikaların zorunlu kılındığını (şifre gerektirme gibi) doğrulayarak provizyon işlemini tamamlar.
  6. DPC, iş profilini DevicePolicyManager.setProfileEnabled() kullanarak etkinleştirir.
  7. Kişisel profildeki DPC kendisini devre dışı bırakır veya kullanıcı tarafından kaldırılır.

Eski modu ayarlayın

Bir cihazın ilk kurulumu sırasında veya kullanıcı, Ayarlar > Hesap ekle bölümünde hesap eklerken eski çalışma modunun temel hazırlığını yapabilirsiniz. Managed Google Play'i Google Hesabı olan kullanıcılara sunmak için gerekenler:

  • Google Hesabı, yönetilen bir Google alanının parçasıdır.
  • Managed Google alanı, Android'de, Google Play EMM API'ye bağlı bir EMM ile Android için ayarlanmıştır.

Yalnızca eski cihazlarda uygulama yönetimi yapmak istiyorsanız DPC'ye ihtiyacınız yoktur. Bu durumda, kullanıcı Google Hesabını Ayarlar > Hesap ekle bölümüne ekler. Uygulama yönetimi; önerilen uygulamaların seçilmesini, özel uygulamaların kullanıma sunulmasını, lisans satın alınmasını ve dağıtılmasını içerir.

DPC'nizin Google Hesabı'nı eklemesini istiyorsanız:

  1. Kullanıcı DPC'nizi Google Play'den indirir ve başlatır.
  2. DPC, yönetilen Google Hesabını AccountManager.addAccount() kullanarak ekler. AccountManager.KEY_ACCOUNT_NAME kullanarak belirli bir Google Hesabı eklemeyle ilgili örnek bir uygulama için TestDPC'ye bakın.
  3. (İsteğe bağlı) DPC kendisini cihaz yöneticisi olarak ayarlar. Cihaz yöneticisi olarak DPC, uygulama yönetiminin dışında cihaz yönetimi özelliklerine sahiptir.