Consumer SDK for Android リリースノート

このセクションでは、Consumer SDK for Android のリリースノートを示します。

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 が初期化されたときに発生するクラッシュを修正しました。

  • カメラ アニメーションの実行中に発生するクラッシュが発生し、 垂直方向または水平方向にパディングに十分なスペースがあること。これは最新のマップ レンダラでのみ発生します。

  • 連続したルートの 1 つ目の区間がカットされるバグを修正しました。 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)が削除されます。 ConsumerTripCallbackConsumerTripManagerConsumerTripOptions。。 TripModelTripModelCallbackTripModelManager に置き換えられました。 TripModelOptions

  • Consumer 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 をご覧ください。

  • ConsumerApi.initialize() メソッドで、呼び出し中に例外がスローされるようになりました。 API インスタンスがすでに存在する場合に呼び出されます。Task が返されました API の有無を判断するために、ConsumerApi.getInstance() による 事前に作成しておく必要があります。

お知らせ: 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 バージョンでは、 API レベル 21 と 22 の両方について、Android 5 で実行されるアプリ。

具体的な内容:

  • Android アプリで実行されるコンシューマ SDK は、2023 年 6 月 30 日まで Android 5(API レベル 21)以上をサポートします。

  • 2023 年 6 月 30 日以降は、Android API レベル 23 以降のみがサポートされます。 つまり、Android API レベル 21 と 22 のサポートを、 すべての SDK バージョンに適用されますつまり、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 プラットフォームに合わせました。
  • ConsumerTripCallbackConsumerTripTripInfo の変更。

    • 一部のクラス名を変更し、iOS との整合性を保つようにしました。導入日 TripModelTirpModelManagerTripModelOptions のサポートを終了 ConsumerTripConsumerTripManagerConsumerTripOptions

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

    • エラー処理が改善されました。

スタイルのカスタマイズ

  • サポートが終了した以前のラッパー

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

障害のモニタリング

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

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

認証の変更

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

バージョン 0.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 の難読化されていないコピーが含まれなくなりました。
  • 特定のデバイスで交通ポリラインがちらつくバグを修正しました。トラフィック セグメントの端が丸くなりました。

バージョン 0.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)。新しい GCP リソースへの移行については、 詳細については、モジュール化の移行 ガイドをご覧ください。 - 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

バージョン 0.9.1(2020 年 3 月 23 日)

API の変更

  • TripInfo.getVehicleId()TripInfo.getNumberOfPassengers() を追加しました。 TripInfo.getIntermediateDestinationIndex(), TripInfo.getTripActiveRoute()TripInfo.getTripRemainingRoute()
  • ConsumerApi の初期化中に使用される options クラスを追加しました。これにより、 FleetEngine のアドレスが動的に設定されます。API が terraform plan または 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 は Jetify された zip として出荷されます。 アーカイブできますジェット化を解除する方法については、Jetifier: リバース モードをご覧ください。

バージョン 0.8.1(2019 年 9 月 13 日)

新機能

API の変更

  • 逆関数として ConsumerController.disableAutoCamera() を追加しました centerMapForState()

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

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

実装の変更

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

  • モニタリング中のルートのステータスを待機する代わりに、setStateJOURNEY_SHARING onStartTripMonitoring() に変更しました。

  • ルートデータがない場合でも、最初のルートデータ更新のデータを常に返します あります。

  • 指定された依存関係として Android Map Utils を追加しました。

バグの修正

  • grpc keep の破損した ProGuard エクスポート構文を修正しました。

バージョン 0.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 から ConsumerMapState.JOURNEY_SHARING を作成しました ENROUTE_TO_PICKUPARRIVED_AT_PICKUPENROUTE_TO_DROPOFFCOMPLETE

    • StateChangeCallbacks を更新しました。

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

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

バグの修正

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

  • 登録済みのリスナーに対してルート コールバックが呼び出されないバグを修正しました TripManager がルートデータをすでに取得した後に Tripmanager が呼び出す

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

改善内容

  • 残り 0 番目の地点にドライバーのデータ(残りの地点)を入力する ConsumerTripCallback.onTripRemainingWaypointsUpdated からリストが返されます および TripInfo.getRemainingWaypoints()

  • リスト内の最初のウェイポイントまでの所要時間が変更されたら、残りのすべてのウェイポイントの所要時間を更新します。

  • ドライバーが乗車場所に到着した場合にのみ、自動カメラを強制的に再度有効にします。以前は、ルートの状態が変更されるたびに、自動カメラが有効にリセットされていました。自動カメラは デフォルトで有効になっています。新しいアクティブなルートがある場合、自動カメラは再度有効になりません startTripMonitoring() を新たに呼び出しずに設定されます。

バージョン 0.6.1(2019 年 6 月 26 日)

新機能

  • 相乗り車両での移動経路の共有をサポート。

API の変更

  • ConsumerController.getConsumerMapStyle()ConsumerMapStyle を返すようになりました 」を使用します。Task<ConsumerMapStyle>

  • PolylineStyle.setZIndex() を追加しました。

バグの修正

  • ルート アニメーションは、ルート セグメントが同期されている場合にのみ行われるようになり、ユーザー エクスペリエンスが向上しました。

  • 車両の「ちらつき」を修正しましたアニメーションの補間中に 場所の更新が近い、

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

  • アクティブなルート ポリラインが他のルートに重なっている場合は、他のルートの上に表示します。

改善内容

  • 次に、難読化されていないメソッドを使用して gRPC Status クラスを公開します。

バージョン 0.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 に置き換えました。