משלבים את Driver SDK ואת Consumer SDK באותה אפליקציה ל-iOS

סיבות להוספת שתי ערכות ה-SDK באותה אפליקציה ל-iOS

במקרים מסוימים, יכול להיות שתרצו להשתמש גם ב-Driver SDK וגם ב-צרכן SDK באותה אפליקציה ל-iOS. לדוגמה:

  1. אתם רוצים אפליקציה אחת לטיפול בפונקציונליות של הנהגים וגם של הנוסעים.
  2. לאפליקציה שלכם צריכה להיות תצוגת expeditor/dispatcher כדי שהנהגים יוכלו להשתמש בה, אבל חברי צוות אחרים יוכלו לעקוב אחרי הפרטים של רכב אחד.

דרישות מוקדמות לבניית שתי ערכות ה-SDK באותה אפליקציה

יש להגדיר את שתי ערכות ה-SDK בהגדרת הפרויקט. כדי להתקין את ה-framework בכמה דרכים שונות, תוכלו להיעזר במדריך של Driver SDK כדי לעשות כמה שינויים קלים:

  1. למידע על התקנת Cocoapods, קראו את המאמר תחילת העבודה עם Driver SDK ל-iOS Project Configuration.

    ב-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
    
  2. לקבלת מידע נוסף על התקנה ידנית, קראו את המאמר תחילת השימוש ב-SDK של מנהל התקן ל-iOS להגדרת פרויקט ב-iOS.

    לאחר שתבצעו את ההנחיות במדריך ההתקנה של Driver SDK, בצעו את השלבים 5 ו-6 במאמר תחילת העבודה עם Consumer SDK for iOS Project Configuration (התקנה ידנית) כדי להגדיר את Consumer SDK.

ניהול גרסאות

כדי לתמוך בתכונה הזו, גם ב-Driver SDK וגם ב-צרכן SDK צריכות להיות גרסה 3.3.0 ואילך.

שינויי תוכנה שעלולים לגרום לכשלים תיאורטי בערכות ה-SDK

גרסה 3.3.0 של Driver and Consumer SDK כוללת את השינויים הבאים, שעלולים באופן תיאורטי לגרום לבעיות בחלק מאפליקציות ה-SDK של Driver, אבל זה לא סביר. באופן כללי, אם באפליקציית Driver SDK נעשה שימוש במחלקות שמיועדות לצרכנים SDK, צריך להצהיר על Consumer SDK כתלות ב-SDK כדי למנוע בעיות. זוהי רשימת השינויים:

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