このセクションには、Consumer SDK for Android のリリースノートが掲載されています。
2.1.0(2024 年 1 月 17 日)
バグの修正
- アプリのライフサイクル全体で SDK が複数回初期化されたときに発生するクラッシュを修正しました。
API の変更
- SDK によって作成された
GoogleMap
インスタンス(ConsumerGoogleMap.getGoogleMap()
)を取得するメソッドを導入しました。 - 車両(
ConsumerController.getConsumerMarker()
)を表すために SDK によって作成されたMarker
インスタンスを取得する API を導入しました。 - 移動経路の共有(
ProjectedRouteEta
)中に、クライアントが予測した時間と距離に関する最新情報を受け取る API を導入しました。
1.99.2(2023 年 11 月 3 日)
SDK がアプリとは別のリモート プロセスから初期化されたときに発生するクラッシュを修正しました。
カメラ アニメーションの実行時に発生するクラッシュを修正し、垂直方向または水平方向にパディングのための十分なスペースがありません。これは最新の地図レンダラでのみ発生します。
2 つ目の区間が同じ道路を通るときに、連続したルートの 1 つ目の区間がカットされるバグを修正しました。
問題
- 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 に更新されました。
最小バージョン要件を v2.5.2 に設定した androidx.room:room-runtime ライブラリを追加しました。
次の依存関係バージョンを更新します
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
に置き換えられました。Consumer SDK を使用するアプリでは、
targetSdkVersion
API 31 以降、compileSdkVersion
API 33 以降が必要です。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()
メソッドが呼び出されると、例外がスローされるようになりました。事前に作成された API インスタンスがあるかどうかは、ConsumerApi.getInstance()
から返されたTask
を使用して判断する必要があります。
お知らせ: 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 レンダラのリクエストをサポートします。詳しくは、新しい地図レンダラをご覧ください。
v18.1.0 から v19.0.0 までのバージョンの Maps SDK のサポートを提供します。
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 日)
- 内部の改善。
バージョン 1.0.19(2022 年 3 月 17 日)
バグの修正
ConsumerApi
クラスのメモリリークを修正しました。
バージョン 1.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
が Fleet Engine からの新しいルート情報でそれ自体を積極的に更新しているかどうかを示すConsumerTrip.isRefreshing()
を追加しました。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 を受け取らなくなりました。
- トラフィックの変化を示す
バージョン 0.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
バージョン 0.9.1(2020 年 3 月 23 日)
API の変更
TripInfo.getVehicleId()
、TripInfo.getNumberOfPassengers()
、TripInfo.getIntermediateDestinationIndex()
、TripInfo.getTripActiveRoute()
、TripInfo.getTripRemainingRoute()
を追加しました。ConsumerApi
の初期化中に使用されるoptions
クラスを追加しました。これにより、FleetEngine
アドレスを動的に設定できます。API がFleetEngine
値で呼び出されない場合は、Android マニフェストから API を取得しようとします。そうでない場合は、デフォルト値にフォールバックします。
改善内容
- ルート ステータスが
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 は Jet 形式の zip アーカイブとして出荷されます。Jetify を無効化する方法については、Jetifier: リバースモードをご覧ください。
バージョン 0.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
クラスを追加しました。- アクティブなルートの
TripInfo
は、ConsumerTripManager.getActiveTripInfo()
で取得できます。
- アクティブなルートの
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()
を再度呼び出さずに新しいアクティブなルートを設定した場合、オートカメラは再度有効にはなりません。
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
に置き換えました。