Объедините Driver SDK и Consumer SDK в одном приложении iOS.

Причины добавить оба SDK в одно приложение iOS

В некоторых случаях вам может потребоваться иметь и Driver SDK, и Consumer SDK в одном приложении iOS. Например:

  1. Вам нужно, чтобы одно приложение выполняло функции водителя и пассажира.
  2. Вашему приложению требуется представление как экспедитора, так и диспетчера, чтобы ваши водители могли его использовать, а другие члены команды могли отслеживать сведения об одном транспортном средстве.

Предварительные условия для сборки обоих SDK в одном приложении

Оба SDK должны быть настроены в настройках проекта. Для различных способов установки платформы вы можете следовать руководству Driver SDK с некоторыми небольшими изменениями:

  1. Инструкции по установке Cocoapods см. в разделе «Начало работы с драйвером SDK для настройки проекта iOS Cocoapods» .

    В подфайле добавьте зависимость Consumer SDK. Подфайл должен выглядеть так

    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. Инструкции по установке вручную см. в разделе Начало работы с драйвером SDK для установки конфигурации проекта iOS. Ручная установка .

    После выполнения инструкций по установке Driver SDK выполните шаги 5 и 6 в руководстве по началу работы с Consumer SDK для iOS по настройке проекта, чтобы настроить Consumer SDK.

Управление версиями

Для поддержки этой функции и Driver SDK, и Consumer SDK должны иметь версию 3.3.0 или более позднюю.

Теоретические критические изменения SDK

В Driver and Consumer SDK версии 3.3.0 внесены следующие изменения, которые теоретически могут вызвать проблемы для некоторых приложений Driver SDK, хотя это маловероятно. В общем, если ваше приложение Driver SDK использует классы, предназначенные для Consumer SDK, вам необходимо объявить Consumer SDK как зависимость, чтобы избежать проблем. Ниже приводится список изменений:

Драйвер 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