Combinar o SDK do Driver e o SDK do consumidor no mesmo app iOS

Motivos para adicionar os dois SDKs no mesmo app iOS

Em alguns casos, convém ter o SDK do Driver e o do Consumer no mesmo app para iOS. Por exemplo:

  1. Você quer que um app tenha as funcionalidades para motoristas e passageiros.
  2. Seu app precisa da visualização de expeditor/dispatcher para que os motoristas possam usá-la, mas outros membros da equipe podem rastrear os detalhes de um único veículo.

Pré-requisitos para criar os dois SDKs no mesmo aplicativo

Os dois SDKs precisam ser definidos na configuração do projeto. Para diferentes formas de instalação do framework, siga o guia do SDK do driver com alguns pequenos ajustes:

  1. Para instalação do Cocoapods, consulte Getting Started with the Driver SDK for iOS Project Configuration Cocoapods.

    No Podfile, adicione a dependência do SDK do Consumer. O Podfile deve ficar assim:

    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. Para instalação manual, consulte Introdução à instalação manual da configuração do projeto do SDK do Driver para iOS.

    Depois de seguir o guia de instalação do SDK do Driver, siga as etapas 5 e 6 da seção Introdução à instalação manual da configuração do projeto do SDK do consumidor para iOS para configurar o SDK do consumidor.

Controle de versões

Tanto o SDK do driver quanto o SDK do consumidor precisam ter a versão 3.3.0 ou mais recente para oferecer suporte a esse recurso.

Alterações teóricas interruptivas dos SDKs

Os SDKs de driver e consumidor v3.3.0 introduzem as mudanças abaixo que podem causar problemas para alguns apps do SDK do Driver, embora isso seja improvável. Em geral, se o app do SDK do Driver usou classes destinadas ao SDK do consumidor, você precisará declarar o SDK do consumidor como uma dependência para evitar problemas. Veja a seguir a lista de alterações:

SDK do Driver

Classes não usadas removidas:

  • 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

Renomeação da classe na visualização, que é usada apenas pelo modo de driver confiável na solução Last Mile Fleet. Para o modo confiável, consulte Modelo de driver confiável (prévia).

  • GMTSTaskInfo.h -> GMTDTaskInfo.h

SDK do consumidor

GMTSImmutableData foi renomeado como GMTCImmutableData. GMTSImmutableData foi usado apenas como uma classe base e nunca foi usado diretamente.

  • GMTSImmutableData.h -> GMTCImmutableData.h

Renomeação de um typedef que deve ser compatível com versões anteriores:

  • GMTSFleetEngineIDString.h -> GMTCFleetEngineIDString.h