同じ iOS アプリに両方の SDK を追加する理由
場合によっては、Driver SDK と Consumer SDK の両方を同じ iOS アプリに含めることができます。次に例を示します。
- 1 つのアプリで運転手と助手席の両方の機能に対応するとします。
- アプリには expeditor ビューと ディスパッチャー ビューの両方が必要なため、ドライバーはビューを使用できますが、他のチームメンバーは 1 台の車両の詳細を追跡できます。
同じアプリケーションで両方の SDK をビルドするための前提条件
両方の SDK をプロジェクト設定で構成する必要があります。Driver SDK ガイドに沿って、いくつかの微調整を行うことで、フレームワークをインストールするさまざまな方法を確認できます。
Cocoapods のインストールについては、Driver SDK for iOS プロジェクト構成のスタートガイドをご覧ください。
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
手動インストールについては、Driver SDK for iOS プロジェクト構成の手動インストールのスタートガイドをご覧ください。
Driver SDK のインストール ガイドに従った後、Consumer SDK for iOS プロジェクト構成の手動インストール スタートガイドのステップ 5 と 6 に沿って Consumer SDK を構成します。
バージョニング
この機能をサポートするには、Driver SDK と Consumer SDK の両方にバージョン 3.3.0 以降が必要です。
SDK の理論上の互換性を破る変更
Driver SDK v3.3.0 と Consumer SDK v3.3.0 で導入された次の変更により、理論的には一部の Driver SDK アプリで問題が発生する可能性がありますが、その可能性は低いです。一般に、Driver 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
プレビューで、ラスト ワンマイルのフリート ソリューションの信頼できるドライバー モードでのみ使用されるクラスの名前を変更しました。トラステッド モードについては、信頼できるドライバモデル(プレビュー)をご覧ください。
GMTSTaskInfo.h
->GMTDTaskInfo.h
コンシューマ SDK
GMTSImmutableData
の名前を GMTCImmutableData
クラスに変更しました。GMTSImmutableData
は基本クラスとしてのみ使用され、直接使用されることはありませんでした。
GMTSImmutableData.h
->GMTCImmutableData.h
下位互換性を持たせるべき typedef の名前を変更しました。
GMTSFleetEngineIDString.h
->GMTCFleetEngineIDString.h