將 Driver SDK 和 Consumer SDK 整合到同一個 iOS 應用程式

在同一個 iOS 應用程式中新增這兩個 SDK 的好處

在某些情況下,您可能希望在同一個 iOS 應用程式中同時使用 Driver SDK 和 Consumer SDK,例如:

  1. 您希望單一應用程式滿足駕駛和乘客功能的需求。
  2. 您的應用程式同時需要可擴充編輯/調度工具檢視畫面,因此駕駛可以使用,但其他團隊成員可以追蹤單輛車的詳細資料。

在同一個應用程式中建構這兩個 SDK 的必要條件

這兩個 SDK 都必須在專案設定中設定。對於不同架構安裝方式,您可以按照驅動程式 SDK 指南的說明,稍做調整:

  1. 如要瞭解如何安裝 Cocoapods,請參閱「開始使用 iOS 專案設定 Cocoapods 適用的驅動程式 SDK」一文。

    在 Podfile 中,新增 Consumer SDK 依附元件。Podfile 看起來會像這樣

    source "https://cpdc-eap.googlesource.com/ridesharing-consumer-sdk.git"
    source "https://cpdc-eap.googlesource.com/ridesharing-driver-sdk.git"
    source "https://github.com/CocoaPods/Specs.git"
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
        pod 'GoogleRidesharingConsumer'
        pod 'GoogleRidesharingDriver'
    end
    
  2. 如要手動安裝,請參閱「開始使用 iOS 專案設定手動安裝的 Driver SDK」。

    按照 Driver SDK 安裝指南操作後,請按照「開始使用 Consumer SDK for iOS 專案設定手動安裝」一文中的步驟 5 和 6 設定 Consumer SDK。

版本管理

Driver SDK 和 Consumer SDK 都必須具備 3.3.0 以上版本,才能支援這項功能。

SDK 理論上的破壞性變更

驅動程式和消費者 SDK v3.3.0 推出了下列變更,理論上可能會對部分 Driver SDK 應用程式造成問題,但這不太可能發生。一般來說,如果您的驅動程式 SDK 應用程式使用適用於 Consumer SDK 的類別,您必須宣告 Consumer SDK 為依附元件,以免發生問題。變更清單如下:

Driver SDK

移除了未使用的類別:

  • GMTSLatLng.h
  • GMTSRequest.h
  • GMTSRequestHeader.h
  • GMTSRequestOptions.h
  • GMTSRequestOptionsSupport.h
  • GMTSSpeedReadingSpan.h
  • GMTSTerminalLocation.h
  • GMTSTimestamp.h
  • GMTSTrafficData.h
  • GMTSTrip.h
  • GMTSTripPropertyField.h
  • GMTSTripWaypoint.h
  • GMTSVehicle.h
  • GMTSVehicleLocation.h
  • GMTSVehicleMatch.h
  • GMTSVehicleSupportedTripType.h
  • GMTSVehicleType.h
  • GMTSWaypoint.h

重新命名預先發布版中的類別,僅僅用於 Last Mile Fleet Solution 中的受信任驅動程式模式使用該類別。如果是信任模式,請參閱「信任的驅動程式模型 (預先發布版)」。

  • GMTSTaskInfo.h -> GMTDTaskInfo.h

消費者 SDK

GMTSImmutableData 已重新命名為 GMTCImmutableData 類別。GMTSImmutableData 僅做為基礎類別使用,絕不會直接使用。

  • GMTSImmutableData.h -> GMTCImmutableData.h

已重新命名一個應回溯相容的 typedef:

  • GMTSFleetEngineIDString.h -> GMTCFleetEngineIDString.h