با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
شنوندگان را تنظیم کنید
پس از مقداردهی اولیه Driver SDK و ایجاد یک نمونه GMTDDeliveryDriverAPI ، میتوانید شنوندگان رویداد را برای نظارت بر موفقیت یا شکست بهروزرسانیهای خودرو ارسال شده به Fleet Engine و باطن خود تنظیم کنید. این شنوندهها میتوانند اقداماتی را در برنامه درایور شما انجام دهند، مانند اطلاع دادن به راننده در صورت عدم موفقیت در ارتباط با باطن شما.
به رویدادهای به روز رسانی خودرو گوش دهید
هنگامی که راننده بهروزرسانیهای مکان را در برنامه راننده فعال میکند، Driver SDK بهروزرسانیهای منظم خودرو را از طریق کلاس GMTDDeliveryVehicleReporter به Fleet Engine و پشتیبانی مشتری ارسال میکند. میتوانید با راهاندازی پروتکل GMTDVehicleReporterListener برنامه را به رویدادهای بهروزرسانی پاسخ دهید.
با GMTDVehicleReporterListener ، می توانید رویدادهای زیر را مدیریت کنید:
vehicleReporter:didSucceedVehicleUpdate
به برنامه Driver اطلاع می دهد که سرویس های پشتیبان با موفقیت موقعیت خودرو و به روز رسانی وضعیت را دریافت کردند.
vehicleReporter:didFailVehicleUpdate:withError
به شنونده اطلاع می دهد که به روز رسانی خودرو ناموفق است. تا زمانی که درایور بهروزرسانیهای مکان را فعال کرده باشد، کلاس GMTDDeliveryVehicleReporter به ارسال آخرین دادهها به Fleet Engine ادامه میدهد.
مثال زیر نحوه تنظیم GMTDVehicleReporterListener را برای مدیریت این رویدادها نشان می دهد:
سویفت
importGoogleRidesharingDriverprivateletproviderID="INSERT_YOUR_PROVIDER_ID"classSampleViewController:UIViewController,GMTDVehicleReporterListener{privateletmapView:GMSMapViewoverridefuncviewDidLoad(){// Assumes you have implemented the sample code up to this step.deliveryDriverAPI.vehicleReporter.add(self)}funcvehicleReporter(_vehicleReporter:GMTDDeliveryVehicleReporter,didSucceedvehicleUpdate:GMTDVehicleUpdate){// Handle update succeeded.}funcvehicleReporter(_vehicleReporter:GMTDDeliveryVehicleReporter,didFailvehicleUpdate:GMTDVehicleUpdate,withErrorerror:Error){// Handle update failed.}}
هدف-C
SampleViewController.h@interfaceSampleViewController : UIViewController<GMTDVehicleReporterListener>@endSampleViewController.m#import "SampleViewController.h"#import "SampleAccessTokenProvider.h"#import <GoogleRidesharingDriver/GoogleRidesharingDriver.h>staticNSString*constPROVIDER_ID=@"INSERT_YOUR_PROVIDER_ID";@implementationSampleViewController{GMSMapView*_mapView;}-(void)viewDidLoad{// ASSUMES YOU IMPLEMENTED HAVE THE SAMPLE CODE UP TO THIS STEP.[delivervehicleReporteraddListener:self];}-(void)vehicleReporter:(GMTDDeliveryVehicleReporter*)vehicleReporterdidSucceedVehicleUpdate:(GMTDVehicleUpdate*)vehicleUpdate{// Handle update succeeded.}-(void)vehicleReporter:(GMTDDeliveryVehicleReporter*)vehicleReporterdidFailVehicleUpdate:(GMTDVehicleUpdate*)vehicleUpdatewithError:(NSError*)error{// Handle update failed.}@end
به روز رسانی مکان را فعال کنید
برای فعال کردن بهروزرسانیهای مکان، در برنامه درایور در GMTDDeliveryVehicleReporter ، locationTrackingEnabled روی YES تنظیم کنید. سپس کلاس GMTDDeliveryVehicleReporter به طور خودکار به روز رسانی مکان را به Fleet Engine ارسال می کند. علاوه بر این، هنگامی که GMSNavigator در حالت ناوبری است، یعنی زمانی که یک مقصد از طریق setDestinations تنظیم میشود، کلاس GMTDDeliveryVehicleReporter بهطور خودکار بهروزرسانیهای مسیر و ETA را ارسال میکند.
Driver SDK مسیر را طوری تنظیم می کند که با مسیر ناوبری فعلی راننده مطابقت داشته باشد. برای اطمینان از بهروزرسانیهای دقیق مکان، نقطه راه را در -setDestinations:callback: تنظیم کنید تا با مقصد در Fleet Engine مطابقت داشته باشد.
مثال زیر نحوه فعال کردن به روز رسانی مکان را نشان می دهد:
سویفت
importGoogleRidesharingDriverprivateletproviderID="INSERT_YOUR_PROVIDER_ID"classSampleViewController:UIViewController,GMTDVehicleReporterListener{privateletmapView:GMSMapViewoverridefuncviewDidLoad(){// Assumes you have implemented the sample code up to this step.deliveryDriverAPI.vehicleReporter.locationTrackingEnabled=true}}
هدف-C
SampleViewController.m#import "SampleViewController.h"#import "SampleAccessTokenProvider.h"#import <GoogleRidesharingDriver/GoogleRidesharingDriver.h>staticNSString*constPROVIDER_ID=@"INSERT_YOUR_PROVIDER_ID";@implementationSampleViewController{GMSMapView*_mapView;}-(void)viewDidLoad{// ASSUMES YOU HAVE IMPLEMENTED THE SAMPLE CODE UP TO THIS STEP.deliveryDriverAPI.vehicleReporter.locationTrackingEnabled=YES;}@end
(اختیاری) فاصله به روز رسانی را تنظیم کنید
بهطور پیشفرض، وقتی locationTrackingEnabled روی YES تنظیم میکنید، Driver SDK بهروزرسانیهای مکان را با فاصله 10 ثانیه به Fleet Engine ارسال میکند. می توانید فاصله به روز رسانی را با locationUpdateInterval به حداقل فاصله به روز رسانی 5 ثانیه یا حداکثر 60 ثانیه تغییر دهید. بهروزرسانیهای مکرر ممکن است منجر به درخواستها و خطاهای کندتر شود.
تاریخ آخرین بهروزرسانی 2025-09-03 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-09-03 بهوقت ساعت هماهنگ جهانی."],[[["\u003cp\u003eThe Google Maps Delivery Driver SDK enables you to set up listeners to monitor the success or failure of vehicle updates sent to Fleet Engine and your backend.\u003c/p\u003e\n"],["\u003cp\u003eYou can listen for vehicle update events such as successful updates and failures, and trigger actions within your driver app accordingly.\u003c/p\u003e\n"],["\u003cp\u003eEnable location updates in the driver app to automatically send regular location and state updates to Fleet Engine and the customer backend.\u003c/p\u003e\n"],["\u003cp\u003eYou can optionally adjust the location update interval, with a default of 10 seconds and a range between 5 and 60 seconds.\u003c/p\u003e\n"],["\u003cp\u003eEnsure the waypoint in \u003ccode\u003esetDestinations\u003c/code\u003e matches the destination in Fleet Engine for accurate location updates during navigation.\u003c/p\u003e\n"]]],[],null,["# Get the vehicle ready\n\nSet up listeners\n----------------\n\nAfter initializing the Driver SDK and creating a `GMTDDeliveryDriverAPI`\ninstance, you can set up event listeners to monitor the success or failure of\nvehicle updates sent to Fleet Engine and your backend. These listeners can\ntrigger actions within your driver app, such as notifying the driver if\ncommunication with your backend fails.\n\n### Listen for vehicle update events\n\nWhen the driver enables location updates in the driver app, the Driver SDK sends\nregular vehicle updates to Fleet Engine and the customer backend through the\n`GMTDDeliveryVehicleReporter` class. You can have the app respond to update\nevents by setting up the `GMTDVehicleReporterListener` protocol.\n\nWith `GMTDVehicleReporterListener`, you can handle the following events:\n\n- `vehicleReporter:didSucceedVehicleUpdate`\n\n Informs the Driver app that the backend services successfully received the\n vehicle location and state update.\n- `vehicleReporter:didFailVehicleUpdate:withError`\n\n Informs the listener that a vehicle update failed. As long as the driver has\n location updates enabled, the `GMTDDeliveryVehicleReporter` class continues\n to send the latest data to Fleet Engine.\n\nThe following example shows how to set up `GMTDVehicleReporterListener` to\nhandle these events: \n\n### Swift\n\n import GoogleRidesharingDriver\n\n private let providerID = \"INSERT_YOUR_PROVIDER_ID\"\n\n class SampleViewController: UIViewController, GMTDVehicleReporterListener {\n private let mapView: GMSMapView\n\n override func viewDidLoad() {\n // Assumes you have implemented the sample code up to this step.\n deliveryDriverAPI.vehicleReporter.add(self)\n }\n\n func vehicleReporter(_ vehicleReporter: GMTDDeliveryVehicleReporter, didSucceed vehicleUpdate: GMTDVehicleUpdate) {\n // Handle update succeeded.\n }\n\n func vehicleReporter(_ vehicleReporter: GMTDDeliveryVehicleReporter, didFail vehicleUpdate: GMTDVehicleUpdate, withError error: Error) {\n // Handle update failed.\n }\n }\n\n### Objective-C\n\n SampleViewController.h\n @interface SampleViewController : UIViewController\u003cGMTDVehicleReporterListener\u003e\n @end\n\n SampleViewController.m\n #import \"SampleViewController.h\"\n #import \"SampleAccessTokenProvider.h\"\n #import \u003cGoogleRidesharingDriver/GoogleRidesharingDriver.h\u003e\n\n static NSString *const PROVIDER_ID = @\"INSERT_YOUR_PROVIDER_ID\";\n\n @implementation SampleViewController {\n GMSMapView *_mapView;\n }\n\n - (void)viewDidLoad {\n // ASSUMES YOU IMPLEMENTED HAVE THE SAMPLE CODE UP TO THIS STEP.\n [delivervehicleReporter addListener:self];\n }\n\n - (void)vehicleReporter:(GMTDDeliveryVehicleReporter *)vehicleReporter didSucceedVehicleUpdate:(GMTDVehicleUpdate *)vehicleUpdate {\n // Handle update succeeded.\n }\n\n - (void)vehicleReporter:(GMTDDeliveryVehicleReporter *)vehicleReporter didFailVehicleUpdate:(GMTDVehicleUpdate *)vehicleUpdate withError:(NSError *)error {\n // Handle update failed.\n }\n\n @end\n\nEnable location updates\n-----------------------\n\nTo enable location updates, in the driver app on\n`GMTDDeliveryVehicleReporter`, set `locationTrackingEnabled` to\n`YES`. Then the\n`GMTDDeliveryVehicleReporter` class automatically sends location updates to\nFleet Engine. Additionally, when the `GMSNavigator` is in navigation mode, which\nis when a destination is set through `setDestinations`, the\n`GMTDDeliveryVehicleReporter` class automatically sends route and ETA updates.\n\nThe Driver SDK sets the route to match the driver's current navigation path. To\nensure accurate location updates, set the waypoint in\n`-setDestinations:callback:` to match the destination in Fleet Engine.\n\nThe following example shows how to enable location updates: \n\n### Swift\n\n import GoogleRidesharingDriver\n\n private let providerID = \"INSERT_YOUR_PROVIDER_ID\"\n\n class SampleViewController: UIViewController, GMTDVehicleReporterListener {\n private let mapView: GMSMapView\n\n override func viewDidLoad() {\n // Assumes you have implemented the sample code up to this step.\n deliveryDriverAPI.vehicleReporter.locationTrackingEnabled = true\n }\n }\n\n### Objective-C\n\n SampleViewController.m\n #import \"SampleViewController.h\"\n #import \"SampleAccessTokenProvider.h\"\n #import \u003cGoogleRidesharingDriver/GoogleRidesharingDriver.h\u003e\n\n static NSString *const PROVIDER_ID = @\"INSERT_YOUR_PROVIDER_ID\";\n\n @implementation SampleViewController {\n GMSMapView *_mapView;\n }\n\n - (void)viewDidLoad {\n // ASSUMES YOU HAVE IMPLEMENTED THE SAMPLE CODE UP TO THIS STEP.\n deliveryDriverAPI.vehicleReporter.locationTrackingEnabled = YES;\n }\n\n @end\n\n| **Note:** If the device has not moved since the last location update, the `GMSRoadSnappedLocationProvider` class does not send location updates continuously. For example, if a driver is waiting idle in the car. If you want to send a new location update, and have set `GMTDDeliveryVehicleReporter` as a listener after calling `startUpdatingLocation` on `GMSRoadSnappedLocationProvider`, you need to stop and start `GMSRoadSnappedLocationProvider`.\n\n### (Optional) Set the update interval\n\nBy default, when you set `locationTrackingEnabled` to `YES`, the Driver SDK\nsends location updates to Fleet Engine at a 10-second interval. You can change\nthe update interval with `locationUpdateInterval` to a minimum update interval\nof 5 seconds or a maximum of 60 seconds. More frequent updates may result in\nslower requests and errors."]]