รวมทั้ง Driver SDK และ Consumer SDK ไว้ในแอป iOS เดียวกัน

เหตุผลที่ควรเพิ่ม SDK ทั้ง 2 รายการในแอป iOS เดียวกัน

ในบางกรณี คุณอาจต้องการมีทั้ง Driver SDK และ Consumer SDK ในแอป iOS เดียวกัน ตัวอย่างเช่น

  1. คุณต้องการเพียงแอปเดียวที่รองรับทั้งฟังก์ชันการใช้งานของผู้ขับขี่และผู้โดยสาร
  2. แอปของคุณต้องมีทั้งมุมมองนักสำรวจ/ผู้มอบหมายงาน เพื่อให้คนขับใช้งานได้ แต่สมาชิกคนอื่นๆ ในทีมจะติดตามรายละเอียดของรถคันเดียวได้

ข้อกําหนดเบื้องต้นในการสร้าง SDK ทั้ง 2 รายการในแอปพลิเคชันเดียวกัน

คุณต้องกำหนดค่า SDK ทั้ง 2 รายการในการตั้งค่าโปรเจ็กต์ สำหรับวิธีการติดตั้งเฟรมเวิร์กแบบต่างๆ คุณสามารถทำตามคู่มือ SDK ไดรเวอร์ที่มีการปรับแต่งเล็กน้อยดังนี้

  1. สำหรับการติดตั้ง CocoaPods โปรดดูการเริ่มต้นใช้งาน Driver SDK สำหรับ iOS การกำหนดค่าโปรเจ็กต์ Cocoapods

    ใน Podfile ให้เพิ่มทรัพยากร Dependency ของ 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
    
  2. สำหรับการติดตั้งด้วยตนเอง โปรดดูที่การเริ่มต้นใช้งาน Driver SDK สำหรับการติดตั้งการกำหนดค่าโปรเจ็กต์ iOS ด้วยตนเอง

    หลังจากทำตามคำแนะนำในการติดตั้ง Driver SDK แล้ว ให้ทำตามขั้นตอนที่ 5 และ 6 ในหัวข้อเริ่มต้นใช้งาน SDK สำหรับผู้บริโภคสำหรับการกำหนดค่าโปรเจ็กต์ iOS ด้วยตนเองเพื่อกำหนดค่า SDK ของผู้บริโภค

การกำหนดเวอร์ชัน

ทั้ง Driver SDK และ Consumer SDK ต้องมีเวอร์ชัน 3.3.0 ขึ้นไปเพื่อรองรับฟีเจอร์นี้

การเปลี่ยนแปลงที่ส่งผลทางทฤษฎีของ SDK

SDK ไดรเวอร์และผู้บริโภคเวอร์ชัน 3.3.0 มีการเปลี่ยนแปลงต่อไปนี้ ซึ่งในทางทฤษฎีอาจทำให้เกิดปัญหาสำหรับแอป Driver SDK บางแอป แม้จะไม่ค่อยเกิดขึ้น โดยทั่วไป หากแอป Driver SDK ของคุณใช้คลาสสำหรับ Consumer SDK คุณจะต้องประกาศ SDK สำหรับผู้บริโภคเป็นทรัพยากร Dependency เพื่อหลีกเลี่ยงปัญหา ต่อไปนี้คือรายการ การเปลี่ยนแปลง

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

เปลี่ยนชื่อคลาสในตัวอย่างซึ่งใช้โดยโหมดคนขับที่เชื่อถือได้ใน Last Mile Fleet Solution เท่านั้น สำหรับโหมดที่เชื่อถือได้ โปรดดูโมเดลไดรเวอร์ที่เชื่อถือได้ (เวอร์ชันตัวอย่าง)

  • GMTSTaskInfo.h -> GMTDTaskInfo.h

SDK สำหรับผู้บริโภค

เปลี่ยนชื่อชั้นเรียน GMTSImmutableData เป็น GMTCImmutableData แล้ว GMTSImmutableData มีการใช้เป็นคลาสพื้นฐานเท่านั้นและไม่ได้ใช้โดยตรง

  • GMTSImmutableData.h -> GMTCImmutableData.h

เปลี่ยนชื่อ typedef ซึ่งควรเข้ากันได้กับเวอร์ชันย้อนหลัง ดังนี้

  • GMTSFleetEngineIDString.h -> GMTCFleetEngineIDString.h