おおよその位置情報を取得する

ユーザーのプライバシーを尊重するため、アプリ デベロッパーはおおよその位置情報の利用許可のみを求めることを推奨します。通常、おおよその位置情報を必要とするアプリ 高速かつ消費電力が少ない Fused Network Location(FLP)を使用します。 Android ベースのモバイル デバイスと比較すると、車載アプリでのネットワーク ロケーションはより困難な可能性があります。以下の 2 つの Android API を使用できます。

多くの自動車アプリは、Google Play 開発者サービス API の FLP を LocationManager。FLP が位置情報に基づいて最適な位置情報プロバイダを選択する リクエストの基準とポリシー(パワーと精度)を指定できます。

代わりに、サービス アカウントを明示的にリクエストし、 NETWORK_PROVIDER および GPS_PROVIDER: ファインポジションでは、 android.permission.ACCESS_FINE_LOCATION 付与できます。Android 12(API レベル 31)以降では、 FUSED_PROVIDER 以前は Google Play 開発者サービス API 経由でのみアクセスできた LocationManager に位置情報プロバイダとして利用できます。FLP の実装は、 FusedLocationProvider.java

おおまかな権限のみで GPS_PROVIDER を使用することは可能ですが、次の点に注意してください。 このフレームワークは、期待に沿うように人為的に精度を低下させます。 Android スマートフォンを対象とするデベロッパーにとってはあまり意味がありません。 大まかな位置を取得するのに時間がかかります。

車載アプリのネットワーク ロケーション

Android スマートフォンで使用される NETWORK_PROVIDER(Google モバイル サービス) は、近くの基地局、Wi-Fi アクセス ポイント、 Bluetooth(BT)ビーコン。その結果、NETWORK_PROVIDER にデータが必要な場合は 接続します

車載アプリの場合、デバイスの制約は異なります。グローバルナビゲーションは 通常、衛星システム(GNSS)はオンになっています。 消費電力とバッテリー使用量が増えます。そのため、IVI の稼働時間は損なわれません。 Google では、サーバーとのデータ交換を最小限に抑えるよう努めています。

そのため、多くのアプリで LocationManager の代わりに Play API の FLP が使用されます。 FLP は位置情報を使用してスマート処理を自動的に行います。 位置情報リクエストの条件/ポリシー(すなわち、電力消費、 向上します。

モバイル デバイスとは違い、車両がある場所から別の場所へとジャンプすることはまれです。ほとんどの場合、車両の位置は内部で知ることができます。

ネットワーク ロケーション プロバイダ(NLP)

ほとんどの車両には、セル ID(およびシグナル強度)に関する必要な情報を得るために必須のテレフォニー API が実装されていません。その結果、データ アナリストは NLP の追加の機能実装は提供されていません。

融合された位置予測プロバイダ

モバイル FLP は、ネットワークと GPS プロバイダを適切に賢く使用することに加えて、他のセンサーからの情報を融合することで、位置情報の質をさらに高めます。現在、Android Automotive の 前述の前提条件を利用して GPS_PROVIDER が基盤となるソースとして常に使用されている。必要に応じて、GNSS からの位置を偽り、不正確になるように誤差を付け加えます。たとえば、クライアントにおおよその位置情報を提供する場合などに行われます。

そのため、ごくまれに、アカウントの審査に通常より時間がかかる場合があります。 掲載順位 1 位の広告が配信されます。たとえば、車両、より正確に言えばその位置情報サブシステムが初めて使用されるとき、もしくは牽引された後などです。

モバイルや車載での利用を目的としたアプリを設計する

モバイル デバイスおよびそれに対応していない自動車デバイスをターゲットとするアプリ モデルにより高い精度を求めている場合、 android.permission.ACCESS_COARSE_LOCATION のみであり、利用可能であれば FLP を使用するようフォールバックします。別の方法として、 同じ権限を持つ直接 GPS_PROVIDER。このフレームワークでは、 基になる GNSS の位置の精度を API の期待値に合わせて調整します。宛先 詳しくは、精度をご覧ください。 位置情報の利用許可をリクエストするをご覧ください。

さらに、これらのアプリは、 android.hardware.location.network マニフェストでオプションとして機能している。例:

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

このアプローチにより、さまざまなカテゴリのデバイスとの互換性が最大限に確保されるため、必要時に位置情報を取得するためのコードが同じものとなり、アプリの可用性が最大化されます。