Otomotiv için cihaz yönetimi

Cihaz yönetimi, Android Automotive OS (AAOS) çalıştıran bir aracı uzaktan yönetmenize olanak tanır. Örneğin bir araç sahibi bilgi-eğlence ünitesini uzaktan fabrika ayarlarına sıfırlamak isteyebilir.

Otomotiv'de iki cihaz yönetimi kategorisi sunuyoruz:

  • Kişisel cihaz. Araç tüketiciye aittir. Araç sahibi, aracı uzaktan yönetir. Örneğin araç sahibi, bilgi-eğlence ünitesini uzaktan fabrika ayarlarına sıfırlamak için aracın mobil uygulamasını kullanıyor.
  • Kurumsal cihaz. Araç bir kuruluşa veya kuruluşa aittir. Bir yönetici arabayı uzaktan yönetir.

Kişisel cihazlar

Kişisel cihaz senaryosunda, aracın uzaktan yönetilmesi, aracın sürüş durumunun dikkate alınmasını gerektirir. Örneğin, araç sahibi uzaktan fabrika ayarlarına sıfırlama işlemini tetiklediğinde, araç başka bir kişi tarafından aktif olarak kullanılıyorsa araç fabrika ayarlarına sıfırlanmamalıdır.

Bu nedenle, sürücü durumu kısıtlamalarıyla entegre edilmiş bir dizi cihaz yönetimi API'sine sahibiz. Bu API'ler, doğru izinlere sahip herhangi bir sistem uygulaması (sistem bölümünde önceden yüklenmiş uygulamalar) tarafından çağrılabilir.

Kişisel cihaz yönetimi API'leri

API'si Amaç
CarDevicePolicyManager.createUser()

Arka planda cihazda yeni bir kullanıcı oluşturur.

Sürücü durumuyla nasıl etkileşime giriyor?

Sürücü durumuna bakılmaksızın arka planda yeni bir kullanıcı oluşturulur.

CarDevicePolicyManager.RemoveUser()

Cihazdaki mevcut bir kullanıcıyı kaldırır.

Sürücü durumuyla nasıl etkileşime giriyor?

Hedef kullanıcı şu konumdaysa:

  • Arka planda operasyon devam ediyor.
  • Ön planda ve araç PARK EDİLMİŞ veya RÖLANTİDE , işlem devam ediyor.
  • Ön planda ve araba HAREKET EDİYOR, bir istisna kodu atılıyor.
DevicePolicyManager.lockNow()

Cihazdaki mevcut bir kullanıcıyı kilitler. Kullanıcının mevcut kilit ekranı kimlik bilgileri varsa (örneğin bir PIN veya desen) ekran açık kalır.

Bu, sürücü durumuyla nasıl etkileşime giriyor?

Hedef kullanıcı şu konumdaysa:

  • Arka planda işlem devam ediyor.
  • Ön planda ve araç PARK EDİLMİŞ veya RÖLANTİ veya HAREKET EDİYOR ise, kullanıcı ön plandaysa (sürüş durumuna bakılmaksızın) veya aksi takdirde göz ardı edilirse devam eder. lockNow() UX dikkat dağıtma durumuyla sınırlı değildir.
DevicePolicyManager.resetPassword()

Kullanıcının mevcut kimlik bilgileri yoksa, bir kilit ekranı kimlik bilgisi ayarlayarak mevcut kullanıcıyı cihazda kilitler. Ekran açık kalır.

Sürücü durumuyla nasıl etkileşime giriyor?

Hedef kullanıcı şu konumdaysa:

  • Arka planda işlem devam ediyor.
  • Ön planda ve araç PARK EDİLMİŞ veya RÖLANTİDE , işlem devam ediyor.
  • Ön planda ve araba HAREKET EDİYOR, bir istisna kodu atılıyor.
DevicePolicyManager.wipeData()

Cihazda fabrika ayarlarına sıfırlamayı tetikler.

Sürücü durumuyla nasıl etkileşime giriyor?

Sürücü durumu ne olursa olsun ( PARK EDİLDİ , RÖLANTİDE veya HAREKETLİ ) işlem devam eder. Sistem, sürücüye fabrika ayarlarına sıfırlamanın gerekli olduğunu bildiren bir bildirim gönderir.

Araç PARK EDİLDİĞİNDE, sürücü bildirimle etkileşime girerek cihazı şimdi veya daha sonra (araba bir sonraki çalıştırıldığında) sıfırlamayı seçebilir.

Örneğin:

Fabrika sıfırlama bildirimi

Şekil 1. Fabrika ayarlarına sıfırlama tetiklendiğinde sistem bildirim gönderir.

Araç PARK EDİLMİŞTİR

Şekil 2. Araç PARK EDİLDİĞİNDE, sürücü bildirimle etkileşime geçerek cihazı şimdi veya daha sonra (araba bir sonraki çalıştırıldığında) sıfırlamayı seçebilir.

Sürücü Sıfırlamayı seçer

Şekil 3. Sürücü daha sonra Sıfırlamayı seçerse, araç bir sonraki çalıştırıldığında cihazın fabrika ayarlarına sıfırlanacağını belirten bir mesaj görüntülenir.

Kurumsal cihazlar

Android 13 ve sonraki sürümlerini çalıştıran Android Automotive OS cihazları, kurumsal Cihaz Yönetimi API'lerini etkinleştirmek için android.software.device_admin özelliğini desteklediklerini beyan edebilir (daha fazla bilgi edinmek için DevicePolicyManager'a bakın). Bir kuruluş daha sonra cihazdaki yerel cihaz politikalarını ve sistem uygulamalarını kontrol etmek için bir Device Policy Controller (DPC) uygulamasını kullanabilir.

Automotive, Çalışma Profillerini desteklemez; bu, desteklenen tek yönetim çözümünün, kuruluşun tam yönetim kontrolüne sahip olduğu, şirkete ait cihazlara yönelik olan Tam olarak yönetilen bir cihaz olduğu anlamına gelir.

Aracı uzaktan yöneten kuruluşların aynı zamanda aracın sürüş durumunu da dikkate alması gerekir. Bu nedenle, belirli uzaktan eylemler aynı zamanda bir aracın sürüş durumuyla da entegre edilir. Örneğin, DevicePolicyManager.setFactoryResetProtectionPolicy() deki fabrika sıfırlama akışı kurumsal özellikli araçlar için de geçerlidir.

DevicePolicyManager kodundaki> herhangi bir API bir istisna oluşturabilir (örneğin, araç hareket ediyorsa). DevicePolicyManager kodu> API'lerinin kısmi bir listesi aşağıda verilmiştir. Daha fazla bilgi edinmek için bkz. Cihaz yönetimine genel bakış .

  • DevicePolicyManager.removeActiveAdmin()
  • DevicePolicyManager.setFactoryResetProtectionPolicy()
  • DevicePolicyManager.installCaCert()
  • DevicePolicyManager.uninstallCaCert()
  • DevicePolicyManager.installKeyPair()
  • DevicePolicyManager.removeKeyPair()

Birden fazla kullanıcı için kurumsal cihaz yönetimi

Otomotiv için cihaz yönetimi Çoklu kullanıcı desteğiyle çalışır. Bu, birden fazla sürücünün aynı şirkete ait aracı kullanabileceği, ancak veri gizliliklerinin kendi kullanıcılarını kullanan diğer sürücülere açık olmasını koruyabileceği ve önleyebileceği anlamına gelir.

Yönetici, cihaz çapında veya kullanıcıya özel politikaları denetlemek için Cihaz politikası denetleyicisi oluşturma bölümünde açıklandığı gibi bir Cihaz Politikası Denetleyicisi (DPC) uygulamasını kullanabilir.

Otomotiv yapıları genellikle başsız sistem kullanıcı modunu kullanır; bu durumda Cihaz Politikası Denetleyicisi (DPC), sistem kullanıcısının Cihaz Sahibi (DO) ve diğer tüm kullanıcıların Profil Sahibi (PO) olarak ayarlanır. Bazı API'ler ( requestBugreport() gibi) yalnızca tüm kullanıcıların bağlı olması durumunda mevcut olduğundan uzak yöneticinin PO kullanıcılarını ilişkilendirmesi gerekir. Daha sonra uzak yöneticinin eylemleri yürütmek için uygun DPC'yi seçmesi gerekir. Eylem cihazla ilişkiliyse ( wipeData() aracılığıyla fabrika ayarlarına sıfırlama gibi), DO DPC'yi kullanmalıdır. Bir kullanıcıyla ilişkiliyse ( addUserRestriction() gibi), PO DPC'yi kullanmalıdır.

DPC uygulamasının DO ile PO arasında bir IPC'ye ihtiyacı vardır. Bağlantılı iş ve kişisel uygulamalar bölümünde açıklanan Connect Apps API'sini öneririz.

Bir DPC uygulamasının birden fazla kullanıcıyı nasıl yönettiği hakkında daha fazla bilgi için bkz.