Consumer SDK for Android リリースノート

このセクションには、Android 向け Consumer SDK のリリースノートが掲載されています。

2.99.0(2024 年 11 月 25 日)

バグの修正

  • ConsumerApi.cleanUp() の実行に時間がかかりすぎる場合に発生する ANR エラーを修正しました。これは、リリースが統合された後、段階的に(0% から開始)ロールアウトされます。
  • コード「INTERNAL」とメッセージ「Panic! これはバグです」これは、リリースが統合された後、段階的に(0% から開始)ロールアウトされます。

2.3.0(2024 年 8 月 2 日)

API の変更

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(ConsumerTripConsumerTripCallbackConsumerTripManagerConsumerTripOptions)を削除しました。これらは TripModelTripModelCallbackTripModelManagerTripModelOptions に置き換えられました。

  • コンシューマ 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 プラットフォームに合わせました。
  • ConsumerTripCallbackConsumerTripTripInfo の変更。

    • 一部のクラス名を変更し、iOS との整合性を保つようにしました。ConsumerTripConsumerTripManagerConsumerTripOptions を非推奨にするため、TripModelTirpModelManagerTripModelOptions を導入しました。

    • 一部のメソッド名をクリーンアップしました。メソッドの JavaDoc コメントを修正または追加して、意味を明確にしました。

    • エラー処理を改善しました。

スタイルのカスタマイズ

  • 非推奨のレガシー ラッパー

    • MarkerStyleOptionsPolylineStyleOptions は非推奨になり、MarkerOptionsPolylineOptions に置き換えられました。どちらも Maps SDK と共有されます。

クラッシュ モニタリング

  • クラッシュ検出とロギングを追加しました。

    • この機能をオプトアウトできるようにしました。これは、クラッシュ モニタリングに関する大規模な地域全体の取り組みの一環として行われました。

認証の変更

  • Authentication インターフェースから不要なメソッドを削除。
    • ServiceType パラメータを削除しました。

v0.9.28(2021 年 5 月 18 日)

API の変更

  • TripInfo をパラメータとして使用するように、すべての ConsumerTripCallback メソッドを更新しました。
  • ConsumerTrip.isRefreshing() を追加しました。これは、ConsumerTrip が Fleet Engine からの最新のルート情報で積極的に更新されているかどうかを示します。
  • ConsumerTripCallback.onTripRemainingRouteDistanceUpdated() を追加しました。
  • ConsumerTripCallback.onTripRemainingRouteUpdated() を追加しました。
  • Guava の戻り値の型(ImmutableSetImmutableList)を、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() を追加しました。
    • トラフィックのカスタマイズ用に PolylineStyleOptionssetTrafficEnabled()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_POINTSUGGESTED_PICKUP_POINTHIGHLIGHTED_PICKUP_POINTSELECTED_DROPOFF_POINT
  • OnConsumerMarkerClickCallbackConsumerMapReadyCallback をインターフェースから抽象クラスに変更しました。
  • ConsumerController.getCameraUpdate()ConsumerController.isAutoCameraEnabled()ConsumerController.enableAutoCamera() を追加しました。
  • カスタム FAB とそれに関連するメソッド(ConsumerController.isMyLocationFabEnabledConsumerController.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 日)

新機能

API の変更

  • centerMapForState() の反対の関数として ConsumerController.disableAutoCamera() を追加しました。

  • VehicleLocation.getUpdateTime() が、タイムスタンプ(ミリ秒単位)を表す Long を返すようになりました。

  • AuthTokenFactory インターフェースを簡素化し、トークン生成用の単一のメソッドを公開しました。Java7 で下位互換性を有効にするため、AuthTokenFactory をインターフェースから抽象クラスに変更しました。この変更は後方互換性がありますが、単一サービス トークンの生成に関する古い方法は非推奨になり、最終的には削除されます。

実装の変更

  • アセットがアイコンの中央に配置されるようになり、シャドウのオフセットが解消されました。

  • モニタリング中のルートのステータスを待機する代わりに、setStateJOURNEY_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 を追加しました。

  • ConsumerMapStatesENROUTE_TO_PICKUPARRIVED_AT_PICKUPENROUTE_TO_DROPOFFCOMPLETE を統合して ConsumerMapState.JOURNEY_SHARING を作成しました。

    • StateChangeCallbacks を更新しました。

    • onStateJourneySharing() を追加しました。

    • onStateWaitingForPickup()onStateDriverArrived()onStateEnroute()onStateEndofTrip() を削除しました。

バグの修正

  • アクティブなルートの途中(ルートの先頭ではなく)でルート モニタリングが開始されたときに、ルート車両の位置にトリミングされないバグを修正しました。

  • TripManager がルートデータをフェッチした後に、TripManager に登録されているリスナーに対してルート コールバックが呼び出されないバグを修正しました。

  • カメラのズームに、アクティブなルートおよび次のルートのウェイポイント(ルートに属するウェイポイント)のみが表示されるようになりました。残りの脚が見える場合でも、ズームに含まれることはありません。これまで、車両が集荷に向かっているときや集荷に到着したときに、集荷場所がズームに含まれていました。これは現在では当てはまりません。

改善内容

  • 残りの 0 番目のウェイポイントにドライバー データが入力されます(残りのウェイポイント リストは ConsumerTripCallback.onTripRemainingWaypointsUpdatedTripInfo.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 状態のカメラ アニメーションを削除しました。
  • ManagedChannelBuilderAndroidChannelBuilder に置き換えました。