Combiner le SDK Driver et le SDK grand public dans la même application iOS

Pourquoi ajouter les deux SDK dans la même application iOS ?

Dans certains cas, vous souhaiterez peut-être disposer du SDK Driver et du SDK grand public dans la même application iOS. Par exemple:

  1. Vous souhaitez qu'une seule application réponde aux fonctionnalités des conducteurs et des passagers.
  2. Votre application doit disposer à la fois d'une vue expeditor/coordinateur pour que vos chauffeurs puissent l'utiliser, mais les autres membres de l'équipe peuvent suivre les détails d'un seul véhicule.

Conditions préalables pour créer les deux SDK dans la même application

Les deux SDK doivent être configurés dans la configuration du projet. Pour les différentes manières d'installer le framework, vous pouvez suivre le guide du SDK Driver en apportant quelques ajustements mineurs:

  1. Pour l'installation de CocoaPods, consultez la page Premiers pas avec le SDK Driver pour la configuration de projet CocoaPods.

    Dans le Podfile, ajoutez la dépendance du SDK client. Le fichier Podfile doit se présenter comme suit :

    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. Pour une installation manuelle, consultez la section Premiers pas avec l'installation manuelle du SDK Driver pour iOS.

    Après avoir suivi le guide d'installation du SDK Driver, suivez les étapes 5 et 6 de la section Premiers pas avec l'installation manuelle de la configuration manuelle du SDK client pour iOS pour configurer le SDK client.

Gestion des versions

Le SDK Driver et le SDK grand public doivent disposer de la version 3.3.0 ou ultérieure pour prendre en charge cette fonctionnalité.

Modifications destructives théoriques des SDK

La version 3.3.0 des SDK Driver et grand public introduit les modifications suivantes qui, bien que celles-ci soient peu probables, pourraient théoriquement entraîner des problèmes pour certaines applications du SDK Driver. En général, si votre application SDK Driver utilisait des classes destinées au SDK client, vous devez déclarer ce SDK en tant que dépendance pour éviter tout problème. Voici la liste des modifications:

SDK Driver

Suppression des classes inutilisées:

  • 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

Renommage de la classe dans Preview, qui n'est utilisée que par le mode Conducteur de confiance dans Last Mile Fleet Solution. Pour connaître le mode approuvé, consultez la section Modèle de pilote de confiance (preview).

  • GMTSTaskInfo.h -> GMTDTaskInfo.h

SDK grand public

GMTSImmutableData a été renommé GMTCImmutableData. GMTSImmutableData n'a été utilisé que comme classe de base et n'a jamais été utilisé directement.

  • GMTSImmutableData.h -> GMTCImmutableData.h

Changement de nom : une définition de type qui devrait être rétrocompatible :

  • GMTSFleetEngineIDString.h -> GMTCFleetEngineIDString.h