このセクションには、Android 向け Consumer SDK のリリースノートが掲載されています。
2.99.0(2024 年 11 月 19 日)
バグの修正
ConsumerApi.cleanUp()
の実行に時間がかかりすぎる場合に発生する ANR エラーを修正しました。- コード「INTERNAL」とメッセージ「Panic! これはバグです」これは、リリースが統合された後、段階的に(0% から開始)ロールアウトされます。
2.3.0(2024 年 8 月 2 日)
API の変更
Cloud ベースのマップのスタイル設定のサポートを追加します。これにより、地図のスタイルを変更するたびにアプリのコードを更新しなくても、ユーザー向けにカスタマイズされた道路地図を作成できます。詳細については、Cloud ベースのマップのスタイル設定で地図のスタイルを設定するをご覧ください。
getServerTimeMillis()
メソッドをVehicleLocation
に追加して、Fleet Engine が位置情報の更新を受信した時刻を特定します。
2.2.0(2024 年 5 月 7 日)
API の変更
- Jetpack Compose 統合のサポート API を追加しました。これは試験運用版の機能です。Jetpack Compose との統合の詳細については、担当者にお問い合わせください。
2.1.0(2024 年 1 月 17 日)
バグの修正
- アプリのライフサイクル全体で SDK が複数回初期化されたときに発生するクラッシュを修正しました。
API の変更
- SDK によって作成された
GoogleMap
インスタンス(ConsumerGoogleMap.getGoogleMap()
)を取得するメソッドを導入しました。 - 車両(
ConsumerController.getConsumerMarker()
)を表すために SDK によって作成されたMarker
インスタンスを取得する API を導入しました。 - ルート共有中の時間と距離に関するクライアントの予測更新を受け取る API(
ProjectedRouteEta
)を導入しました。
1.99.2(2023 年 11 月 3 日)
アプリケーションとは別のリモート プロセスから SDK が初期化されたときに発生するクラッシュを修正しました。
カメラ アニメーションの実行中に、パディングに十分な垂直方向または水平方向のスペースがない場合に発生するクラッシュを修正しました。これは最新のマップ レンダラでのみ発生します。
2 番目の区間が同じ道路を通る場合に、連続ルートの最初の区間が切り捨てられるバグを修正しました。
問題
- API インスタンスがすでに存在しているときに呼び出されると、
ConsumerApi.initialize()
は例外をスローします。この問題を回避するには、まずConsumerApi.getInstance()
を呼び出して、返されたTask
を評価し、API インスタンスがすでに存在するかどうかを判断します。
2.0.0(2023 年 9 月 15 日)
お知らせ: 互換性を破る変更
最小 API レベル要件を 21 から 23 に更新しました。
Maps SDK のバージョン要件を v17.0.0 から v18.1.0 に更新
Kotlin 標準ライブラリの最小バージョン要件を v1.6.10 から v1.9.0 に更新しました
Google Play 開発者サービスの依存関係のバージョンを更新する
play-services-base ライブラリの最小バージョン要件を v18.0.1 から v18.2.0 に更新しました
play-services-basement ライブラリの最小バージョン要件を v18.0.0 から v18.2.0 に更新しました
play-services-location ライブラリの最小バージョン要件が v17.0.0 から v21.0.1 に更新されました
play-services-tasks ライブラリの最小バージョン要件を v18.0.1 から v18.0.2 に更新しました
androidx.room:room-runtime ライブラリを追加し、最小バージョン要件を v2.5.2 に設定
次の依存関係のバージョンを更新します。
android-maps-utils ライブラリの最小バージョン要件を v0.4.2 から v3.5.2 に更新しました
com.google.android.datatransport:transport-backend-cct の最小バージョン要件が v3.0.0 から v3.1.9 に更新されました
com.google.android.datatransport:transport-runtime の最小バージョン要件が v3.0.1 から v3.1.9 に更新されました
androidx.lifecycle:lifecycle-extensions の最小バージョン要件を v2.0.0 から v2.2.0 に更新しました
androidx.lifecycle:lifecycle-common-java8 の最小バージョン要件を v2.0.0 から v2.6.1 に更新しました
androidx.appcompat:appcompat の最小バージョン要件が v1.0.0 から v1.6.1 に更新されました
androidx.fragment:fragment の最小バージョン要件が v1.0.0 から v1.6.1 に更新されました
以前非推奨となった API(
ConsumerTrip
、ConsumerTripCallback
、ConsumerTripManager
、ConsumerTripOptions
)を削除しました。これらはTripModel
、TripModelCallback
、TripModelManager
、TripModelOptions
に置き換えられました。コンシューマ SDK を使用するアプリは、API 31 以上の
targetSdkVersion
または API 33 以上のcompileSdkVersion
を備えている必要があります。Consumer SDK を使用するアプリは、Java 8 ライブラリのサポートを有効にする必要があります。更新手順については、https://developer.android.com/studio/write/java8-support をご覧ください。
ProGuard または Dexguard を使用しているアプリは、R8 に移行する必要があります。詳細については、https://developer.android.com/build/shrink-code をご覧ください。
Consumer SDK を使用するアプリは、デシュガーリングを有効にする必要があります。手順については、https://developer.android.com/studio/write/java8-support#library-desugaring をご覧ください。
API インスタンスがすでに作成されているときに
ConsumerApi.initialize()
メソッドが呼び出されると、例外がスローされるようになりました。ConsumerApi.getInstance()
によって返されたTask
を使用して、事前に作成された API インスタンスがあるかどうかを判断する必要があります。
お知らせ: API の非推奨
Trip.TripStatus
アノテーション クラスとTrip.TripType
アノテーション クラスのサポートを終了し、代わりにTripInfo.TripStatus
アノテーション クラスとTripInfo.TripType
アノテーション クラスを追加しました。この変更の一環として、
TripModelCallback#onTripStatusUpdated(TripInfo tripInfo, @Trip.TripStatus int status)
は非推奨となり、代わりにTripModelCallback#onTripStatusUpdate(TripInfo tripInfo, @TripInfo.TripStatus int status)
が追加されました。この変更の一環として、
TripInfo#getTripStatus()
は非推奨となり、代わりにTripInfo#getCurrentTripStatus()
が追加されました。この変更の一環として、
TripInfo#getTripType()
は非推奨となり、代わりにTripInfo#getCurrentTripType()
が追加されました。
Trip
クラスを非推奨にしました。
その他の変更とバグの修正
最新の Maps SDK レンダラのリクエストをサポートしています。詳しくは、新しい地図レンダラをご覧ください。
Maps SDK の v18.1.0(含む)から v19.0.0(含まない)までのバージョンをサポートしています。
SDK と Google バックエンド間の内部通信で発生する「期限切れ」エラーを修正しました。
小型画面とピクチャー イン ピクチャー モードのレンダリングの問題を修正。
移行ガイド
1.99.1(2023 年 8 月 31 日)
バグの修正
SDK ホスト アクティビティまたはフラグメントが破棄されたときに発生するクラッシュを修正。
MapView のサイズが 0(高さまたは幅)の場合に発生するクラッシュを修正しました。
ルート ポリラインに車両の位置を投影する際に発生するクラッシュを修正しました。
改善内容
- ホストアプリがサイドロードされ、デフォルトのビジュアル リソースが存在しない場合、SDK がクラッシュするのを防ぎます。
1.99.0(2023 年 6 月 22 日)
バグの修正
小型画面とピクチャー イン ピクチャー モードでのレンダリングの問題を修正。
ルートの共有中に車両がちらつく問題を修正しました。
1.2.1(2023 年 6 月 7 日)
バグの修正
- ルートの共有中に車両がちらつくバグを修正しました。
1.2.0(2022 年 11 月 21 日)
バグの修正
onTripActiveRouteTrafficUpdated
コールバックで空のトラフィックが報告されるバグを修正しました。
新機能
- 「交通状況に応じたポリライン」の一般提供が開始されました。
1.1.2(2022 年 10 月 27 日)
バグの修正
TripModel
に対してJourneySharingSession
が複数回開始された後に、ルート ポリラインが消えるバグを修正しました。
お知らせ: Android 5 のサポート終了(2022 年 7 月 25 日)
v1.1.1 SDK バージョンでは、Android 5 で実行されているアプリについて、API レベル 21 と 22 の両方で 1 年間のサポートを延長しています。
具体的な内容:
Android アプリで実行されるコンシューマ 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 が正しく動作することを保証するものではありません。
バージョン 1.1.1(2022 年 7 月 25 日)
依存関係の変更
- サポートされている最小 Android API レベルを 21 にダウングレードしました。
バージョン 1.1.0(2022 年 4 月 28 日)
- 内部的な改善。
v1.0.19(2022 年 3 月 17 日)
バグの修正
ConsumerApi
クラスのメモリリークを修正しました。
v1.0.14(2021 年 11 月 30 日)
サポートされる最小 Android API レベルが 23 になりました。
API の変更
ConsumerTrip
クラスとConsumerTripManager
クラスの変更。- 一部のメソッド名を整理し、意味を明確にし、iOS プラットフォームに合わせました。
ConsumerTripCallback
、ConsumerTrip
、TripInfo
の変更。一部のクラス名を変更し、iOS との整合性を保つようにしました。
ConsumerTrip
、ConsumerTripManager
、ConsumerTripOptions
を非推奨にするため、TripModel
、TirpModelManager
、TripModelOptions
を導入しました。一部のメソッド名をクリーンアップしました。メソッドの JavaDoc コメントを修正または追加して、意味を明確にしました。
エラー処理を改善しました。
スタイルのカスタマイズ
非推奨のレガシー ラッパー
MarkerStyleOptions
とPolylineStyleOptions
は非推奨になり、MarkerOptions
とPolylineOptions
に置き換えられました。どちらも Maps SDK と共有されます。
クラッシュ モニタリング
クラッシュ検出とロギングを追加しました。
- この機能をオプトアウトできるようにしました。これは、クラッシュ モニタリングに関する大規模な地域全体の取り組みの一環として行われました。
認証の変更
- Authentication インターフェースから不要なメソッドを削除。
ServiceType
パラメータを削除しました。
v0.9.28(2021 年 5 月 18 日)
API の変更
TripInfo
をパラメータとして使用するように、すべてのConsumerTripCallback
メソッドを更新しました。ConsumerTrip.isRefreshing()
を追加しました。これは、ConsumerTrip
が Fleet Engine からの最新のルート情報で積極的に更新されているかどうかを示します。ConsumerTripCallback.onTripRemainingRouteDistanceUpdated()
を追加しました。ConsumerTripCallback.onTripRemainingRouteUpdated()
を追加しました。- Guava の戻り値の型(
ImmutableSet
、ImmutableList
)を、java.util
と同等のクラスに置き換えます。 パッケージ名の変更:
- com.google.android.libraries.ridesharing.common.AuthTokenContext -> com.google.android.libraries.ridesharing.consumer.auth.AuthTokenContext
- com.google.android.libraries.ridesharing.common.AuthTokenFactory -> com.google.android.libraries.ridesharing.consumer.auth.AuthTokenFactory
com.google.android.libraries.ridesharing.common.FleetEngineServiceType -> com.google.android.libraries.ridesharing.consumer.auth.FleetEngineServiceType - com.google.android.libraries.ridesharing.common.model.Trip
-> com.google.android.libraries.ridesharing.consumer.model.Trip - com.google.android.libraries.ridesharing.common.model.Vehicle -> com.google.android.libraries.ridesharing.consumer.model.Vehicle
実装の変更
- マップが準備完了する前にマップとのやり取りによって SDK がクラッシュする可能性がある競合状態を修正しました。
- SDK に
io.grpc
の難読化されていないコピーが含まれなくなりました。 - 特定のデバイスで交通ポリラインがちらつくバグを修正しました。トラフィック セグメントの端が丸くなりました。
v0.9.15(2020 年 10 月 7 日)
API の変更
- このリリースでは、交通状況に応じたポリラインが導入されます。
-
TripInfo.getActiveRouteTraffic()
とTripInfo.getRemainingRouteTraffic()
を追加しました。- トラフィックが変更されたことを示す
ConsumerTripCallback.onTripActiveRouteTrafficUpdated()
とConsumerTripCallback.onTripRemainingRouteTrafficUpdated()
を追加しました。 - トラフィックのカスタマイズ用に
PolylineStyleOptions
(setTrafficEnabled()
、setTrafficColorNoData()
、setTrafficColorNormal()
、setTrafficColorSlow()
、setTrafficColorTrafficJam()
)を追加しました。 PolylineStyleOptions.TRAFFIC_Z_INDEX_ADDITION
を公開しました。TripWaypoint.getTrafficData()
を追加しました。TrafficData
データ型を追加しました。ConsumerController.hideAllSessions()
を追加しました。ConsumerController.showSession()
が引数として null を受け入れなくなりました。
- トラフィックが変更されたことを示す
v0.9.9(2020 年 7 月 15 日)
API の変更
- これは、データ専用レイヤ(
ConsumerTripManager
など)とユーザー インターフェース レイヤ(JourneySharingSession
など)の関係を明確にしたモジュラー化されたアーキテクチャを導入する大きな変更です。新しいアーキテクチャへの移行については、モジュラー化移行ガイドをご覧ください。-ConsumerTrip
オブジェクトがConsumerTripManager.getTrip()
から取得されるようになりました。ConsumerTrip.unregisterCallback
の名前がConsumerTrip.unregisterTripCallback
に変更されました。ConsumerTrip.isCallbackRegistered
の名前がConsumerTrip.isTripCallbackRegistered
に変更されました。ConsumerTrip.setConsumerTripOptions()
とConsumerTrip.getConsumerTripOptions()
を追加しました。ConsumerTrip.setAutoRefreshInterval()
を削除しました。
- ルート以外の共有 API を削除しました。
- 車両密度マップを削除しました。
- ルートのプレビュー状態を削除しました。
- 受け取り選択ステータスを削除しました。
- ドロップオフの選択状態を削除しました。
- 次のマーカータイプを削除しました。
SELECTED_PICKUP_POINT
、SUGGESTED_PICKUP_POINT
、HIGHLIGHTED_PICKUP_POINT
、SELECTED_DROPOFF_POINT
。
OnConsumerMarkerClickCallback
とConsumerMapReadyCallback
をインターフェースから抽象クラスに変更しました。ConsumerController.getCameraUpdate()
、ConsumerController.isAutoCameraEnabled()
、ConsumerController.enableAutoCamera()
を追加しました。- カスタム FAB とそれに関連するメソッド(
ConsumerController.isMyLocationFabEnabled
とConsumerController.setMyLocationFabEnabled
)を削除しました。
実装の変更
ConsumerTripCallback
は、LifecycleOwner
の有無にかかわらず、TripStatus.COMPLETE
またはTripStatus.CANCELED
で自動的に登録解除されなくなりました。- AutoCamera がデフォルトで有効になり、再び有効または無効になることはなくなりました。以前は、AutoCamera は
TripStatus.ARRIVED_AT_PICKUP
で自動的に再び有効になり、ユーザーがルートの共有中に地図を操作すると自動的に無効になりました。 - ルート共有の車両アニメーションに以下の改善が加えられました。
- ルート共有アニメーションで、すでに走行したルートを車両が正当な理由で戻る可能性がある状況に対応できるようになりました。
- アルゴリズムによって適切と判断された場合、車両はポイント間のルートを補間するのではなく、直線でアニメーション化されます。
FINE_LOCATION
権限は不要になりました。
その他の変更点
- 以下の依存関係のバージョンを更新しました。
- com.google.android.datatransport:transport-api:2.2.0
- com.google.android.datatransport:transport-backend-cct:2.2.0
- com.google.android.datatransport:transport-runtime:2.2.0
v0.9.1(2020 年 3 月 23 日)
API の変更
TripInfo.getVehicleId()
、TripInfo.getNumberOfPassengers()
、TripInfo.getIntermediateDestinationIndex()
、TripInfo.getTripActiveRoute()
、TripInfo.getTripRemainingRoute()
を追加しました。ConsumerApi
の初期化時に使用され、FleetEngine
アドレスを動的に設定できるoptions
クラスを追加しました。API がFleetEngine
値で呼び出されなかった場合、Android マニフェストから値を取得しようとします。取得できない場合は、デフォルト値にフォールバックします。
改善内容
- ルートのポリラインは、ルートのステータスが
ARRIVED_AT_PICKUP
の場合に表示されません。 - ルート外を走行する車両の追跡が改善されました(DriverSDK 1.15 が必要です)。
- 車両追跡で、車両が集荷地点を過ぎても車両がルートにスナップされない。
- 車両トラッキングでは、道路以外の場所(地図に登録されていない駐車場など)に駐車している車両を表示できます。
- ドライバーの目的地が Fleet Engine の目的地と一致しない場合に、車両アイコンが更新されるようになりました。
v0.8.6(2019 年 12 月 16 日)
API の変更
TripInfo.getVehicleLocation()
を追加しました。ConsumerMapView
は最終版ではなくなりました。
実装の変更
- アクティブな区間の残りの距離は、ローカル スナップではなく、サーバー距離(ドライバーが報告した距離と、該当する場合は静的ルート)を使用して計算されるようになりました。この変更により、残りの距離の値の精度が向上します。
その他の変更点
新しい依存関係が必要。詳細については、.pom ファイルを参照してください。
- com.google.android.datatransport:transport-api:2.0.0
- com.google.android.datatransport:transport-backend-cct:2.0.2
- com.google.android.datatransport:transport-runtime:2.0.0
ルート検索のレイテンシのログを追加しました。
ルート レスポンス エラーのログを追加しました。
メモ
- バージョン 0.8.1 以降、Consumer SDK for Android は、jetified ZIP アーカイブとして提供されます。ジェット化を解除する方法については、Jetifier: リバース モードをご覧ください。
v0.8.1(2019 年 9 月 13 日)
新機能
ConsumerMapView のサポート。
ODRD アーティファクトが .aar zip ファイルではなく Maven リポジトリで提供されるようになりました。詳しくは、Consumer SDK をアプリに追加するをご覧ください。
API の変更
centerMapForState()
の反対の関数としてConsumerController.disableAutoCamera()
を追加しました。VehicleLocation.getUpdateTime()
が、タイムスタンプ(ミリ秒単位)を表す Long を返すようになりました。AuthTokenFactory
インターフェースを簡素化し、トークン生成用の単一のメソッドを公開しました。Java7 で下位互換性を有効にするため、AuthTokenFactory
をインターフェースから抽象クラスに変更しました。この変更は後方互換性がありますが、単一サービス トークンの生成に関する古い方法は非推奨になり、最終的には削除されます。
実装の変更
アセットがアイコンの中央に配置されるようになり、シャドウのオフセットが解消されました。
モニタリング中のルートのステータスを待機する代わりに、
setState
をJOURNEY_SHARING onStartTripMonitoring()
に変更しました。ルートデータが同期されていない場合でも、最初のルートデータ更新のデータが常に返されます。
Android Map Utils を提供される依存関係として追加しました。
バグの修正
- grpc keep の破損した ProGuard エクスポート構文を修正しました。
v0.7.0(2019 年 8 月 7 日)
新機能
- ルート共有の複数の目的地のサポート。
API の変更
ConsumerTripCallback
の新しいメソッド。onTripIntermediateDestinationsUpdated()
。onTripETAToNextTripWaypointUpdated()
。
新しい
ConsumerController
メソッド。getIntermediateDestinations()
。setIntermediateDestinations(List<TerminalLocation> intermediateDestinations)
。
新しい
TripStatuses
。TripStatus.ENROUTE_TO_INTERMEDIATE_DESTINATION
。TripStatus.ARRIVED_AT_INTERMEDIATE_DESTINATION
。
新しい
TripWaypoint
ゲッター。getETAMillis()
。getDistanceMeters()
。
TripInfo
クラスを追加しました。ConsumerTripManager.getActiveTripInfo()
を使用して、アクティブなルートのTripInfo
を取得できます。
WaypointType.INTERMEDIATE_DESTINATION
を追加しました。MarkerType.TRIP_INTERMEDIATE_DESTINATION
を追加しました。ConsumerMapStates
、ENROUTE_TO_PICKUP
、ARRIVED_AT_PICKUP
、ENROUTE_TO_DROPOFF
、COMPLETE
を統合してConsumerMapState.JOURNEY_SHARING
を作成しました。StateChangeCallbacks
を更新しました。onStateJourneySharing()
を追加しました。onStateWaitingForPickup()
、onStateDriverArrived()
、onStateEnroute()
、onStateEndofTrip()
を削除しました。
バグの修正
ルート モニタリングがアクティブなルートの途中(ルートの先頭ではなく)で開始されたときに、ルート車両の位置にトリミングされないバグを修正しました。
TripManager がルートデータをフェッチした後に、TripManager に登録されているリスナーに対してルート コールバックが呼び出されないバグを修正しました。
カメラのズームに、アクティブなルートおよび次のルートのウェイポイント(ルートに属するウェイポイント)のみが表示されるようになりました。残りの脚が見える場合でも、ズームに含まれることはありません。これまで、車両が集荷に向かっているときや集荷に到着したときに、集荷場所がズームに含まれていました。これは現在では当てはまりません。
改善内容
残りの 0 番目のウェイポイントにドライバー データが入力されます(残りのウェイポイント リストは
ConsumerTripCallback.onTripRemainingWaypointsUpdated
とTripInfo.getRemainingWaypoints()
から返されます)。リスト内の最初のウェイポイントまでの所要時間が変更されたら、残りのすべてのウェイポイントの所要時間を更新します。
ドライバーが集荷場所に到着したときにのみ、自動カメラを強制的に再び有効にします。以前は、ルートの状態が変更されるたびに、自動カメラが有効にリセットされていました。自動カメラは引き続きデフォルトで有効になっています。
startTripMonitoring()
を新たに呼び出すことなく新しいアクティブなルート設定が行われた場合は、Autocamera が再び有効になりません。
v0.6.1(2019 年 6 月 26 日)
新機能
- ルート共有のための相乗りのサポート。
API の変更
ConsumerController.getConsumerMapStyle()
がTask<ConsumerMapStyle>
ではなくConsumerMapStyle
を返すようになりました。PolylineStyle.setZIndex()
を追加しました。
バグの修正
ルート アニメーションは、ルート セグメントが同期されている場合にのみ行われるようになり、ユーザー エクスペリエンスが向上しました。
ドライバーの位置情報の更新が近接している場合に、アニメーションの補間中に車両が「ちらつく」問題を修正しました。
アクティブなルートの途中でルート モニタリングが開始されたときに、車両が最新の位置ではなくルートの先頭から開始されるバグを修正しました。
アクティブなルート ポリラインが他のルートに重なっている場合は、他のルートの上に表示します。
改善内容
- 次に、難読化されていないメソッドを使用して gRPC
Status
クラスを公開します。
v0.5.1.01(2019 年 5 月 17 日)
新機能
- ジャーニー共有の連続サポート。
API の変更
- 新しい
ConsumerController
クラス。
PolylineType
Old Value(元の値) | 新しい値 |
---|---|
TRIP_PREVIEW_AUTO_ROUTE |
PREVIEW_AUTO_ROUTE |
TRIP_PREVIEW_TAXI_ROUTE |
PREVIEW_TAXI_ROUTE |
TRIP_PREVIEW_TRUCK_ROUTE |
PREVIEW_TRUCK_ROUTE |
TRIP_PREVIEW_TWO_WHEELER_ROUTE |
PREVIEW_TWO_WHEELER_ROUTE |
TRIP_ROUTE |
ACTIVE_ROUTE |
REMAINING_ROUTE |
ConsumerTripCallback
Old Value(元の値) | 新しい値 |
---|---|
onTripRouteUpdated |
onTripActiveRouteUpdated |
onTripRemainingDistanceUpdated |
onTripActiveRouteRemainingDistanceUpdated |
onTripRemainingWaypointsUpdated() |
ConsumerController
- 状態に移行せずに、状態のコールバックを設定できるようになりました。
メソッド | コールバック |
---|---|
startPickupSelection |
setPickupSelectionCallback |
startDropoffSelection |
setDropoffSelectionCallback |
startTripPreview |
setTripPreviewSelectionCallback |
ConsumerController.setLanguage(String languageCode)
を使用すると、FleetEngine 呼び出しで使用する言語(集荷ポイントの説明など)を設定できます。
改善内容
- 集荷場所の選択画面にドラッグ可能なピンが表示されるようになりました。
INITIALIZE
状態のカメラ アニメーションを削除しました。ManagedChannelBuilder
をAndroidChannelBuilder
に置き換えました。