Menggabungkan Driver SDK dan Consumer SDK ke dalam aplikasi iOS yang sama

Alasan menambahkan kedua SDK dalam aplikasi iOS yang sama

Dalam beberapa kasus, Anda mungkin ingin memiliki Driver SDK dan Consumer SDK di aplikasi iOS yang sama. Misalnya:

  1. Anda memerlukan satu aplikasi untuk menangani fungsi pengemudi dan penumpang.
  2. Aplikasi Anda memerlukan tampilan expeditor/dispatcher sehingga pengemudi dapat menggunakannya, tetapi anggota tim lainnya dapat melacak detail satu kendaraan.

Prasyarat untuk membangun kedua SDK dalam aplikasi yang sama

Kedua SDK harus dikonfigurasi di penyiapan project. Untuk berbagai cara penginstalan framework, Anda dapat mengikuti panduan Driver SDK dengan beberapa tweak kecil:

  1. Untuk penginstalan Cocoapods, lihat Mulai Menggunakan Driver SDK untuk Konfigurasi Project iOS Cocoapods.

    Di Podfile, tambahkan dependensi Consumer SDK. Podfile akan terlihat seperti ini

    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. Untuk penginstalan manual, lihat Memulai Penginstalan Manual Konfigurasi Project Driver SDK untuk iOS.

    Setelah mengikuti panduan penginstalan Driver SDK, ikuti langkah 5 dan 6 dalam Penginstalan Manual Konfigurasi Project Consumer SDK untuk iOS guna mengonfigurasi Consumer SDK.

Pembuatan versi

Driver SDK dan Consumer SDK harus memiliki versi 3.3.0 atau yang lebih baru untuk mendukung fitur ini.

Perubahan teoritis yang dapat menyebabkan gangguan pada SDK

Driver and Consumer SDK v3.3.0 memperkenalkan perubahan berikut yang secara teori dapat menyebabkan masalah untuk beberapa aplikasi Driver SDK, meskipun hal ini tidak mungkin. Secara umum, jika aplikasi Driver SDK Anda menggunakan class yang dimaksudkan untuk Consumer SDK, Anda harus mendeklarasikan Consumer SDK sebagai dependensi untuk menghindari masalah. Berikut ini adalah daftar perubahannya:

Driver SDK

Menghapus class yang tidak digunakan:

  • 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

Mengganti nama class di Pratinjau yang hanya digunakan oleh mode pengemudi tepercaya di Solusi Fleet Milet Terakhir. Untuk mode tepercaya, lihat Model driver tepercaya (Pratinjau).

  • GMTSTaskInfo.h -> GMTDTaskInfo.h

SDK Konsumen

Mengganti nama GMTSImmutableData menjadi class GMTCImmutableData. GMTSImmutableData hanya digunakan sebagai class dasar dan tidak pernah digunakan secara langsung.

  • GMTSImmutableData.h -> GMTCImmutableData.h

Mengganti nama typedef yang harus kompatibel dengan versi lama:

  • GMTSFleetEngineIDString.h -> GMTCFleetEngineIDString.h