Połącz pakiety SDK Driver SDK i Consumer SDK w tej samej aplikacji na iOS

Powody dodania obu pakietów SDK do tej samej aplikacji na iOS

W niektórych przypadkach warto umieścić w jednej aplikacji na iOS zarówno pakiety Driver SDK, jak i Consumer SDK. Na przykład:

  1. Jedna aplikacja powinna dotyczyć zarówno funkcji kierowcy, jak i pasażera.
  2. Twoja aplikacja musi mieć widok eksedytora/dyspozytora, aby kierowcy mogli z niego korzystać, ale pozostali członkowie zespołu mogą śledzić szczegóły pojedynczego pojazdu.

Wymagania wstępne dotyczące tworzenia obu pakietów SDK w tej samej aplikacji

Oba pakiety SDK należy skonfigurować w konfiguracji projektu. W przypadku różnych sposobów instalacji platform możesz postępować zgodnie z instrukcjami podanymi w przewodniku po pakiecie SDK sterownika z kilkoma drobnymi poprawkami:

  1. Informacje na temat instalacji Cocoapods znajdziesz w artykule Pierwsze kroki z pakietem Driver SDK for iOS – konfiguracja projektu Cocoapods.

    W pliku Podfile dodaj zależność pakietu Consumer SDK. Plik Podfile powinien wyglądać tak:

    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. Instrukcje dotyczące instalacji ręcznej znajdziesz w artykule o pierwszych krokach z pakietem Driver SDK for iOS ręczną instalacją.

    Po wykonaniu instrukcji instalacji pakietu SDK sterownika wykonaj kroki 5 i 6 z sekcji Pierwsze kroki z ręczną instalacją pakietu SDK Consumer SDK na iOS, aby skonfigurować pakiet SDK konsumentów.

Obsługa wersji

Do obsługi tej funkcji zarówno pakiet SDK sterownika, jak i pakiet Consumer SDK musi mieć wersję 3.3.0 lub nowszą.

Teoretyczne zmiany powodujące niezgodność pakietów SDK

Pakiet SDK sterownika i konsumenckiego pakietu SDK w wersji 3.3.0 wprowadza podane niżej zmiany, które teoretycznie mogą powodować problemy w niektórych aplikacjach z pakietu Driver SDK, choć jest to mało prawdopodobne. Jeśli aplikacja pakietu SDK sterownika używa klas przeznaczonych dla pakietu Consumer SDK, musisz go zadeklarować jako zależność, aby uniknąć problemów. Oto lista zmian:

Pakiet SDK sterownika

Usunięto nieużywane zajęcia:

  • 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

W wersji testowej zmieniono nazwę klasy, która jest używana tylko przez tryb zaufanego kierowcy w rozwiązaniu ostatniej mili. Informacje o trybie zaufanego znajdziesz w sekcji Zaufany model sterownika (wersja testowa).

  • GMTSTaskInfo.h -> GMTDTaskInfo.h

Pakiet SDK dla klientów indywidualnych

Zmieniono nazwę klasy z GMTSImmutableData na GMTCImmutableData. GMTSImmutableData był używany tylko jako klasa bazowa, a nie bezpośrednio.

  • GMTSImmutableData.h -> GMTCImmutableData.h

Zmieniono nazwę elementu typedef, który powinien być zgodny wstecznie:

  • GMTSFleetEngineIDString.h -> GMTCFleetEngineIDString.h