Yaklaşık konum al

Kullanıcı gizliliğine saygı göstermek için, uygulama geliştiricilerin yalnızca konum izinleri. Genellikle yaklaşık bir genel konuma ihtiyaç duyan uygulamalar çok hızlı olduğu ve daha az güç tükettiği için çok kaynaklı ağ konumunu (FLP) kullanmalıdır. Android tabanlı mobil cihazlara kıyasla otomotiv uygulamalarındaki ağ konumu daha zorlayıcı olabilir. İki Android API'si kullanabilirsiniz:

  • LocationManager API, requestLocationUpdates Böylece, tercih edilen konum sağlayıcıyı açıkça belirtebilirsiniz.

  • Google Play Services API, şunları yapmanız için daha basit bir yol sunar: şurada konumla çalışın: FusedLocationProviderClient.

Birçok otomotiv uygulaması, Google Play Hizmetleri API'sindeki FLP yerine LocationManager FLP, konuma göre en uygun konum sağlayıcıyı seçer Aracın ihtiyaç duyduğu ölçütleri ve politikaları (güç ve doğruluk) isteme.

Bunun yerine açıkça istekte bulunmayı ve NETWORK_PROVIDER yanı sıra Şunun için GPS_PROVIDER: hassas pozisyonlar ise android.permission.ACCESS_FINE_LOCATION izin verir. Android 12 (API düzeyi 31) ve sonraki sürümlerde FUSED_PROVIDER önceden yalnızca Google Play Hizmetleri API'si yoluyla erişilebilen, LocationManager tarafından konum sağlayıcı olarak kullanılabilir. FLP uygulamasını şurada görebilirsiniz: FusedLocationProvider.java.

GPS_PROVIDER yalnızca genel izin haklarıyla kullanılabilir ancak beklentileri karşılamak için doğruluğu yapay olarak azaltır ve Android telefonları hedefleyen geliştiriciler için pek bir anlam ifade etmemektedir çünkü ve genel bir konum elde etmek için genellikle daha yavaş kullanılabilir.

Otomotivdeki ağ konumu

Android telefonlarda kullanılan NETWORK_PROVIDER (Google Mobil Hizmetleri ile) konumu belirlemek için yakındaki baz istasyonlarına, Wi-Fi erişim noktalarına ve Bluetooth (BT) işaretçileri Bu nedenle, NETWORK_PROVIDER için veri gerekebilir bağlantı.

Otomotiv uygulamaları için cihaz kısıtlamaları farklıdır. Çünkü Gthe global gezinme uydu sistemi (GNSS) genellikle çalışır durumda olduğundan, güç ve pil kullanımını artırdı. Sonuç olarak, IVI çalışma süresinden ödün verilmez. Sunucularımızla veri alışverişini en aza indirmeye çalışıyoruz.

Bu nedenle birçok uygulama, LocationManager yerine Play API'den FLP kullanır Konumu kullanarak akıllı şeyi otomatik olarak yaptığı gibi, doğrudan konum isteği ölçütlerini/politikalarını en iyi şekilde karşılayan sağlayıcı (yani güç ve doğruluk).

Mobil cihazların aksine, araçlar nadiren bir yerden başka bir yere atlayıp başka bir tane. Aracın konumu çoğu zaman kaputun altında bilinir.

Ağ konumu sağlayıcı (NLP)

Çoğu araç, gerekli bilgileri almak için gerekli telefon API'lerini uygulamaz hücre kimliğinde (ve sinyal gücünde) kullanılabilir. Sonuç olarak, verileri en aza indirdiğimiz için NLP'nin ek işlevsel uygulaması sağlanmamıştır.

Çok kaynaklı konum sağlayıcı

Mobil FLP, ağ ve GPS sağlayıcılarını akıllı bir şekilde kullanmanın yanı sıra, ve sinyalleri daha da iyileştirmek için diğer sensörlerden gelen bilgileri ve konum kalitesine katkıda bulunur. Otomobil FLP'nin şu anki uygulanmasıyla birlikte diğer el yukarıda bahsi geçen varsayımlardan yararlanır ve GPS_PROVIDER her zaman temel kaynak olarak kullanılıyor. Pozisyonları uyumlu bir şekilde kullanarak daha doğru sonuçlar elde edebilirsiniz. Örneğin, Müşteriye yaklaşık konumlar sağlandığında.

Aynı şekilde, nadiren de olsa bir oturum açma süreci için normalden daha uzun bir süre kullanılabilir olması gerekir. Örneğin, bir araç veya aracı ilk kez konum alt sistemi kullanılır veya çekildikten sonra kullanılır.

Mobil ve otomotiv kullanımlarını hedefleyecek uygulamalar tasarlama

Bunu yapmayan mobil ve otomotiv cihazlarını hedefleyen uygulamalar için daha yüksek kalitede hassasiyet gerektirir, android.permission.ACCESS_COARSE_LOCATION yalnızca FLP'yi kullanabilirsiniz. Alternatif olarak, Doğrudan aynı izinlerle GPS_PROVIDER. Bu çerçeve, temel GNSS pozisyonunun kesinliğinin API beklentileriyle örtüşmesi açısından önemlidir. Alıcı: Daha fazla bilgi için Doğruluk bölümüne bakın Konum izni isteme başlıklı makaleyi inceleyin.

Ayrıca bu uygulamalar android.hardware.location.network bu özelliği manifest dosyalarında isteğe bağlı olarak kullanabilir. Örnek:

<uses-feature android:name="android.hardware.location.network" android:required="false" />

Bu yaklaşım, farklı sektörlerdeki cihazlarla maksimum uyumluluk sağlar Bu nedenle, uygulama kullanılabilirliğiyle ilgili kodlar açısından herhangi bir fark olmadan daha fazla bilgi edindiniz.