このセクションでは、Android 用 Driver SDK のリリースノートについて説明します。
お知らせ: API レベル 23、24、25 のサポートの終了
モバイル OS バージョンのサポート ポリシーに基づき、今後の Android 向け Driver SDK のメジャー バージョンでは、Android 6 と 7(API レベル 23、24、25)のサポートを終了します。
2025 年第 4 四半期以降にリリースされる Android 向け Driver SDK のバージョンは、Android 8(API レベル 26)以上をサポートします。以前の SDK バージョンは、引き続き Android 6 と 7 をサポートします。
依存関係にバージョン番号が指定されていない場合、IDE は最新の SDK バージョンを読み込み、アプリの新しいビルドは Android 6 と 7 をサポートしません。
アプリの新しいバージョンでサポートする最小 OS を上げるタイミングを制御するには、アプリのビルド依存関係で Driver SDK for Android のバージョンを指定します。
v6.0.0(2024 年 11 月 25 日)
バグの修正
- コード「INTERNAL」の gRPC エラーと「Panic! これはバグです」という説明を追加します。
- デバイスがネットワークを切り替えるときに特に発生する位置情報の更新接続エラーを減らすための内部改善。これは、リリースが統合された後、段階的に(0% から開始)ロールアウトされます。
API の更新
- 非推奨のインターフェース
StatusListener
を削除しました。
依存関係と構成の変更
- POM.xml で
glide:cronet-integration
への依存関係を削除 - Navigation SDK のサポート対象バージョンの範囲を v5.x に更新しました。
- Driver SDK for Android のバージョン 6.0.0 以降では、アプリを Kotlin 2.0 にアップグレードする必要があります。
- targetSdk が API レベル 34 になりました。これは、2024 年 8 月時点で Google Play ストアにデプロイするすべてのアプリに必須です。Google Play の対象 API レベルの要件を満たすをご覧ください。
v5.99.0(2024 年 9 月 20 日)
バグの修正
- コード「INTERNAL」の gRPC エラーと「Panic! これはバグです」という説明を追加します。これは、リリースが統合された後、段階的に(0% から開始)ロールアウトされます。
- デバイスがネットワークを切り替えるときに特に発生する位置情報の更新接続エラーを減らすための内部改善。これは、リリースが統合された後、段階的に(0% から開始)ロールアウトされます。
依存関係と構成の変更
- POM.xml で
glide:cronet-integration
への依存関係を削除
バージョン 5.0.0(2023 年 9 月 12 日)
依存関係と構成の変更
- Navigation SDK を v5.x に更新しました。
minSdkVersion
を API 23 にアップグレードしました。- Kotlin のバージョンを 1.9.0 にアップグレードしました。
- Room への依存関係を追加しました。
* Driver SDK を使用するアプリは、API 31 以降の
targetSdkVersion
を備えている必要があります。 - Driver SDK を使用するアプリでは、Java 8 ライブラリのサポートを有効にする必要があります。更新手順については、https://developer.android.com/studio/write/java8-support をご覧ください。
- ProGuard または Dexguard を使用しているアプリは、R8 に移行する必要があります。詳細については、https://developer.android.com/build/shrink-code をご覧ください。
- Driver SDK を使用するアプリでは、デシュガーリングを有効にする必要があります。手順については、https://developer.android.com/studio/write/java8-support#library-desugaring をご覧ください。
バグの修正
- disableLocationTracking の同期に関する問題を修正しました。
- 例外ステータスの更新で原因を報告する新しい DriverStatusListener インターフェースを導入しました。
- ドライバーが静止したままになる問題を修正しました(v4.99.0 以降で利用可能)。
v4.99.0(2023 年 8 月 9 日)
- NavSDK 依存関係のさまざまなバージョンをサポート。** v4.5.0 ~ v5.0.0(v5.0.0 は除く)をサポートしています。
- 車両が停止しているときに、所要時間が勝手に短縮されないようにします。この変更はテストとして段階的に展開されるため、すべてのアプリに同時にこの変更が適用されるわけではありません。
バージョン 4.5.0(2023 年 5 月 12 日)
- Navigation SDK の依存関係を v4.5 に更新しました。Navigation SDK のグループ ID とアーティファクト ID が変更されています。
バージョン 4.4.3(2023 年 3 月 20 日)
依存関係の変更
- Navigation SDK の依存関係を v4.4.1 にアップグレードしました。
バージョン 4.4.2(2023 年 2 月 15 日)
バグの修正
SDK が一時的な接続の問題に遭遇した場合のネットワーク復旧時間を短縮しました。これは試験運用版の修正です。
「Raw」ロケーションのみを含む
UpdateVehicle
リクエストを破棄します。「ルート概要」ALPHA API の競合状態を修正しました。
v4.4.1(2022 年 11 月 18 日)
バグの修正
- トラフィック アップロード ロジックのバグを修正しました。
その他の変更
- リクエスト ヘッダーとステータス コードのレポートの内部改善。
v4.4.0(2022 年 9 月 21 日)
バグの修正
- API インスタンスがクリアされていない場合に、[Google マップでの運転] 通知が削除されないバグを修正しました。
依存関係の変更
- Navigation SDK の依存関係を v4.2.2 にアップグレードしました。
v4.3.0(2022 年 8 月 24 日)
内部的な改善。
お知らせ: Android 5 のサポートの終了(2022 年 7 月 21 日)
最新の SDK バージョン(v4.2.0)では、Android 5 で実行されているアプリについて、API レベル 21 と 22 の両方で 1 年間のサポートを延長しています。
具体的な内容:
- Android アプリで実行される Navigation SDK と Driver SDK は、2023 年 6 月 30 日まで Android 5(API レベル 21)以上をサポートします。
- 2023 年 6 月 30 日以降は、Android API レベル 23 以上のみがサポートされます。つまり、この日以降、すべての SDK バージョンで Android API レベル 21 と 22 のサポートが終了します。つまり、どの SDK バージョン(4.x を含む)でも、Android 21 または 22 に関連するバグは修正されず、SDK が正しく動作することを保証するものではありません。
このお知らせは、2021 年 6 月 21 日の Android 21 と 22 のサポート終了のお知らせ、および 2021 年 10 月 18 日の Android 23、24、25 のサポート終了のお知らせをオーバーライドします。
v4.2.0(2022 年 6 月 8 日)
依存関係の変更
- Nav SDK の依存関係を v4.1.3 にアップグレードしました。
- サポートされる最小 Android API レベルを 21 にダウングレードしました。
v4.1.0(2022 年 4 月 28 日)
API の更新
Task
オブジェクトのparentId
プロパティの名前をtrackingId
に変更しました。古いプロパティは現時点では引き続き存在しますが、非推奨です。
v4.0.0(2021 年 11 月 29 日)
このリリースでサポートされている最小 Android API レベルは 23 です。
API の更新
このリリースでは、Driver SDK for Android が更新され、以下の変更が加えられました。
VehicleStops API の変更
VehicleStop
オブジェクトが、Task
オブジェクトのリストではなく、TaskInfo
オブジェクトのリストを参照するようになりました。タスクの状態が必要な場合は、アプリケーション コードで追跡することをおすすめします。
新しいクラス
TaskInfo
を追加しました。VehicleStop
のgetTasks
関数をgetTaskInfoList
関数に置き換えました。VehicleStop.Builder
のsetTasks
関数をsetTaskInfoList
関数に置き換えました。
クラッシュ モニタリング
SDK の安定性を改善するために、クラッシュ モニタリングとクラッシュ レポートが追加されました。この機能はデフォルトで有効になっていますが、SDK を初期化する前に setAbnormalTerminationReportingEnabled()
を呼び出して false
の値を渡すことで無効にできます。
DriverApi
にsetAbnormalTerminationReportingEnabled
関数を追加しました。
Async getRemainingVehicleStops
DeliveryVehicleReporter
のgetRemainingVehicleStops
関数を変更し、List<VehicleStop> ではなく Future<List<VehicleStop>> を返すようにしました。
認証
AuthTokenContext
インターフェースから不要なプロパティを削除しました。ServiceType
は非推奨になりました。ServiceType
に依存せず、含まれる車両 ID とタスク ID のクレームのみを取得すればよいようになりました。
AuthTokenContext
からServiceType
を削除しました。AuthTokenContext
からgetServiceType()
を削除しました。AuthTokenContext.Builder
からsetServiceType
を削除しました。
2021 年 10 月 18 日 - API レベル 23、24、25 のサポートを終了
10 月 18 日のお知らせを読む
内部依存関係の変更に伴い、2022 年第 3 四半期より、Android 向けナビゲーション SDK とドライバ SDK の新しいバージョンでは、Android API レベル 23、24、25(Android 6、7.0、7.1)がサポートされなくなります。
2022 年第 3 四半期以降にリリースされる Android バージョンのナビゲーション SDK とドライバ SDK は、Android API レベル 26 以降を搭載したデバイスのみをサポートします。
Android 向け Navigation SDK と Driver SDK の v4.x 以前でビルドされたアプリ バージョンは、Android API レベル 25 以前を搭載したデバイスで引き続き動作します。
v3.0.4(2021 年 7 月 28 日)
機能
このリリースにより、Driver SDK は Navigation SDK から正式に分離されました。詳しくは、移行ガイドをご覧ください。
API の更新
以下のメソッドを追加しました。
`RidesharingDriverApi.getDriverSdkVersion()`安定性とバグの修正
PERMISSION_DENIED
エラーを接続エラーとして分類するのではなく、報告します。
サポート終了のお知らせ(2021 年 6 月 21 日)
このお知らせでは、上記の日付をもって Driver SDK for Android と Navigation SDK for Android のサポートが終了することをお知らせします。このお知らせは、影響を受けるお客様にサービスに関する必須のお知らせ(MSA)として送信されました。
Android 向け Nav/Driver SDK が、Android 向け Navigation SDK v3.x と Android 向け Driver SDK v3.x(分割バイナリ)に変更されます
お客様による統合を簡素化し、有用な機能を迅速に提供できるようにするため、Navigation SDK for Android と Driver SDK for Android を 2 つの異なるバイナリに分割します。
- Navigation SDK for Android: ドライバー向けのナビゲーション/ルーティング機能を提供します。
- Driver SDK for Android: フライトやタスクの進行状況と割り当てに Fleet Engine のステートフル ウェブサービスを活用できます。
Driver SDK for Android には、コア ルーティング機能に Navigation SDK for Android との依存関係が必要です。
変更点は何ですか?
v3 の主な変更点は次のとおりです。
- 1 つではなく 2 つのバイナリ。
- Driver SDK for Android クラスのパッケージ定義を明確にしました。
- Navigation SDK for Android には、パッケージングの一部として Maps SDK for Android が含まれています(Navigation SDK for Android v2 時点)。
- これにより、地図とナビ機能(NavigationView にポリラインを描画するなど)を同じ地図上に共存させることができ、2 つではなく 1 つの地図が使用されるため、メモリの使用量を削減できます。
- Navigation SDK for Android 3.0 は、Navigation SDK for Android と完全に同等の機能を備えていませんが、v3.2 ではほとんどの問題が解決されます。詳しくは、できることとタイミングをご覧ください。
- 発生する可能性のある問題を簡単にデバッグできるようにするロギング。
次のメソッドは、以前に非推奨とマークされ、代替ソリューションがすでに存在するため、v3 でも削除されました。
- 次の Nav/Driver SDK メソッドは、2020 年 8 月 10 日にリリースされた v1.16 で非推奨となり、v3.0 で削除されました。
Waypoint#fromLatLng(*)
Waypoint#fromPlaceId(*)
Navigator#startGuidance(resumeIntent)
NavigationApi#initForegroundServiceManager(*)
- 完全性と明確性を保つため、v1 から v2 への移行で削除されたメソッドがいくつかあります。これらのほとんどは、Navigation SDK for Android と Maps SDK for Android の重複クラスの統合です。これらの変更について詳しくは、移行ガイドをご覧ください。
Driver SDK for Android と Navigation SDK for Android v1.x のサポート終了
Nav/Driver SDK v1 は 2018 年にリリースされましたが、v3 バージョンがまもなくリリースされるため、多くのメジャー バージョンをサポートし続けることは持続可能ではないため、v1 を非推奨にします。
この追加バージョンをサポートする必要がなくなることで、最新のメジャー バージョンをより適切にサポートし、お客様にとって重要な機能をさらに構築できるようになります。
そのため、Nav/Driver SDK v1.x は非推奨となり、2022 年 6 月 21 日以降はメンテナンスされなくなります。
SDK バージョンの非推奨の仕組みをご確認ください。
Navigation SDK と Driver SDK の Android 21 と 22 のサポート終了
取り消しのお知らせを読む
今後リリースされる Navigation SDK for Android と Driver SDK for Android の v4.0 では、[Android 6.0(API レベル 23)](https://developer.android.com/studio/releases/platforms#6.0){: .external} 以上がサポートされます。現在サポートされている最小バージョンは Android 5.0(API レベル 21)です。v4.0 は 2021 年第 4 四半期にリリースされる予定です。具体的には、次のようになります。
- v4.x より前のバージョンでビルドされたアプリ バージョンは、Android 21 デバイスと 22 デバイスで引き続き動作します。現在の SDK を統合したドライバー アプリは、Android 21 以降を搭載したデバイスで引き続き動作します。これは以前と同じです。
- Driver SDK for Android と Navigation SDK for Android v4.x(2021 年第 4 四半期を予定、変更される可能性があります)以降でビルドされたアプリ バージョンは、Android 21 および 22 を搭載したデバイスにインストールできなくなります。v4.x は Android 6.0(API レベル 23)以上で実行されるため、今後の v4.x でビルドされたアプリのバージョンは、Android 23 以降を搭載したデバイスを使用しているドライバーにのみ届きます。繰り返しになりますが、これは、Google の SDK 関連の変更と、デベロッパーが行ったアプリの変更の両方が、Android 21 および 22 を搭載したデバイスを使用しているドライバーに届かないことを意味します。
アップグレードする必要がある Navigation SDK for Android v3 と Driver SDK for Android v3 のバージョンと、利用可能になる時期は、次の表に記載されています。
ドライバー プラットフォームのどの機能を使用していますか? | これらの機能は使用していますか? | アップグレードできる最初のバージョンは次のとおりです。 | 提供予定日 (変更される可能性があります) |
移行に関するリンク |
---|---|---|---|---|
ナビゲーションのみ (NavSDK メソッド) |
いいえ | NavSDK v3.0.1 | たった今 | ガイド |
はい | NavSDK v3.5(予定) | 2021 年 9 月 | ||
ナビゲーションと Fleet Engine のトラッキング(NavSDK と DriverSDK のメソッド) | いいえ | Nav SDK v3.0 と Driver SDK v3.0 | ドライバー v3.0 移行ガイドはリリース時に公開 | |
はい | NavSDK v3.x と DriverSDK v3.0 |
削除されたメソッドを引き続き使用するには、v1.x を引き続き使用できますが、2022 年 6 月 21 日以降のサポートやメンテナンスは提供されません(次のセクションを参照)。
v3.x に移行することをおすすめします。具体的には、次のようになります。
* v1.x の最終リリースは 2021 年第 4 四半期に予定されています(そのため、v1 は以降「機能が凍結」されます)。
* この最後のリリースは、その後 6 か月間(2022 年 6 月 21 日まで)パッチを適用できます。この日以降、v1.x のバグや機能のリクエストには対応できなくなります。
これらの変更に対応する際に役立つよう、次の表と [移行ガイド](/maps/documentation/navigation-sdk-android/v2/migration) をご確認いただけますと幸いです。
いつまでに何をすればよいですか?
現在、 | これらの機能は使用していますか? | 今すぐアップグレードする | 2021 年 9 月にアップグレードする場合 | 移行に関するリンク |
---|---|---|---|---|
v1.x (FleetEngine.java / ドライバ機能を使用しない) |
いいえ | NavSDK v3.0 | ガイド | |
はい | オプションなし | NavSDK 3.x | ||
v1.x (FleetEngine.java / Driver の機能を使用する) |
いいえ | オプションなし | NavSDK 3.x + DriverSDK 3.x |
上記のガイドと、リリース時に公開される Driver v3.0 移行ガイド。 |
はい |
Driver SDK for Android と Navigation SDK for Android バージョン v4.x 以降をドライバー アプリに統合する前に、Android 21 および 22 のデバイスを使用しているドライバーに、新しいバージョンの Android(Android 6.0 以上)にアップグレードするよう通知することをおすすめします。
v1.15.3(2020 年 10 月 9 日)
API の更新
- Driver SDK が、交通情報の更新のために Navigation SDK を定期購入するようになりました。この情報は Fleet Engine API に送信されます。
安定性とバグの修正
- gRPC ランタイムのクラッシュを修正しました。
v1.15.2
機能
永続通知を停止する機能を追加しました。Fleet Engine インスタンスで位置情報のレポートが停止されている場合、Navigator
でガイダンスが停止され、すべてのナビゲーション リスナーが登録解除され、NavigationFragment
または NavigationView
が一時停止されます。
安定性とバグの修正
- Fleet Engine インスタンスがクリアされた場合に例外がスローされるバグを修正しました。
v1.15.1(2020 年 5 月 12 日)
機能
1.15.0 のデータの予備分析では、安定した位置情報のレポートが大幅に改善されたことが示されました(「停止」した位置情報の減少)。このパッチ修正により、位置情報のレポートの改善を継続できます。ANR の問題は、これらの改善とは関係ありません。
安定性とバグの修正
- ルートの先頭に直線が表示されることがあるバグを修正しました。
- SDK によって位置情報が報告されるときに ANR が発生する可能性があるバグを修正しました。これは、ロック競合の影響を受けやすい
onArrival()
の改善が原因でした。特定の状況下で ANR を再現でき、修正によって問題が解決したことを確認できました。ANR を発生させるために変更したテストアプリは、修正後に ANR が発生することなく 8 時間実行されました。
v1.15.0(2019 年 3 月 23 日)
機能
- 出発、ルート外、到着イベントでナビゲーション ガイダンスのステータスを導入し、車両の位置情報の追跡を改善しました。
- ナビゲーションの状態に関係なく、道路スナップされた位置情報を引き続き取得する機能を追加しました。
- 道路スナップ前の位置情報に関する追加情報(精度など)を追加しました。
安定性とバグの修正
- navsdk の minSdkVersion を 19 に引き上げました。
- サーバーサイドのリバース ジオコーディングが失敗したときに、緯度/経度のウェイポイント名が考慮されないバグを修正しました。
v1.14.2 リリース(2019 年 2 月 2 日)
機能
- DriverSDK が Fleet Engine に 0,0 の位置情報を送信しないようにします(ルートの共有と割り当て場所の入力が改善されます)。
- 位置情報の停止に関する問題を改善し、ルートの共有のフォールバック回数を減らすための追加のロギング。
- 間隔が変更されない限り、
setLocationReportingInterval()
への繰り返し呼び出しを無視します。 - 使用されている間隔に比べて高い頻度でこのメソッドを繰り返し呼び出すことを抑止することを目的として、
setReportingInterval()
メソッドの javadoc を更新しました。 - Api 29 の位置情報の信頼性が向上しました。
v1.13.0
安定性とバグの修正
- クライアントが Gradle ビルドに追加する必要がある okhttp の依存関係を追加します。
v1.11.7(2019 年 10 月 18 日)
安定性とバグの修正
- 特定のリンク先に対して
onArrival()
がトリガーされた後も、位置情報の更新が続行されるようになりました。 - デフォルトの通知(フリーナビモードの定数文字列)は、ナビゲーション通知に設定されたカラーパターンと一致します。詳細については、共有永続通知をご覧ください。
- 位置情報の更新イベントの遅延により、位置情報が不正に更新され、ルートの先頭に直線などのアーティファクトが発生する問題に対処しました。
v1.11.6(2019 年 10 月 4 日)
API の更新
- ネットワーク障害が発生した後、Driver SDK が位置情報の更新を迅速に再開できるように、一連の変更を導入しました。ネットワーク接続が復元されると、次回のスケジュール設定された位置情報の更新で位置情報の更新が再開されます。
安定性とバグの修正
setVehicleState()
はすぐに返されるようになりました。FleetEngine の更新がバックグラウンド スレッドで行われるようになりました。アプリケーション応答なし(ANR)の問題に対処します。- 古いバージョンの Consumer SDK を使用している場合に、ルート共有のルートが表示されない問題を修正しました。ドライバー SDK によってルートに 1 回限りのウェイポイントが追加されないようにします。