इस सेक्शन में, यात्रा के लिए वाहन को तैयार करने का तरीका बताया गया है. आपको पूरा करना होगा बैकएंड में किसी वाहन की यात्रा का डेटा मैच करने से पहले, नीचे दिया गया हर तरीका अपनाएं.
लिसनर सेट अप करें
ड्राइवर SDK टूल शुरू करने और GMTDRidesharingDriverAPI
बनाने के बाद
इसका मतलब है कि आपके पास इवेंट लिसनर को इस तरह सेट अप करने का विकल्प है कि
गाड़ी के अपडेट, Fleet Engine और आपके बैकएंड को भेजे गए. ये लोग ये काम कर सकते हैं:
इससे ड्राइवर ऐप्लिकेशन में कार्रवाइयां ट्रिगर हो सकती हैं. जैसे, ड्राइवर को सूचना देना
आपके बैकएंड के साथ संचार विफल हो जाता है.
वाहन के अपडेट से जुड़े इवेंट सुनें
जब ड्राइवर अपने ड्राइवर ऐप्लिकेशन में जगह की जानकारी अपडेट करने की सुविधा चालू करता है, तब ड्राइवर SDK
फ़्लीट इंजन और ग्राहक को वाहन के नियमित अपडेट भेजता है
GMTDVehicleReporter
क्लास के ज़रिए बैकएंड करें. आपके पास ऐप्लिकेशन से जवाब पाने का विकल्प है
इवेंट अपडेट करने के लिए, GMTDVehicleReporterListener
प्रोटोकॉल सेट अप करें.
GMTDVehicleReporterListener
के साथ, इन इवेंट को मैनेज किया जा सकता है:
vehicleReporter:didSucceedVehicleUpdate
इससे ड्राइवर ऐप्लिकेशन को यह सूचना मिलती है कि बैकएंड सेवाओं को गाड़ी की जगह और स्थिति की जानकारी अपडेट करें.
vehicleReporter:didFailVehicleUpdate:withError
लिसनर को सूचना दी जाती है कि गाड़ी को अपडेट नहीं किया जा सका. जब तक ड्राइवर के पास जगह की जानकारी के अपडेट चालू किए गए,
GMTDVehicleReporter
क्लास भेजी जा रही है फ़्लीट इंजन के लिए सबसे नया डेटा उपलब्ध कराता है.
नीचे दिए गए उदाहरणों में, GMTDVehicleReporterListener
को सेट अप करने का तरीका बताया गया है
इन इवेंट को हैंडल करता है:
Swift
import GoogleRidesharingDriver
private let providerID = "INSERT_YOUR_PROVIDER_ID"
class SampleViewController: UIViewController, GMTDVehicleReporterListener {
private let mapView: GMSMapView
override func viewDidLoad() {
// Assumes you have implemented the sample code up to this step.
ridesharingDriverAPI.vehicleReporter.add(self)
}
func vehicleReporter(_ vehicleReporter: GMTDVehicleReporter, didSucceed vehicleUpdate: GMTDVehicleUpdate) {
// Handle update succeeded.
}
func vehicleReporter(_ vehicleReporter: GMTDVehicleReporter, didFail vehicleUpdate: GMTDVehicleUpdate, withError error: Error) {
// Handle update failed.
}
}
Objective-C
/**
* SampleViewController.h
*/
@interface SampleViewController : UIViewController<GMTDVehicleReporterListener>
@end
/**
* SampleViewController.m
*/
#import "SampleViewController.h"
#import "SampleAccessTokenProvider.h"
#import <GoogleRidesharingDriver/GoogleRidesharingDriver.h>
static NSString *const PROVIDER_ID = @"INSERT_YOUR_PROVIDER_ID";
@implementation SampleViewController {
GMSMapView *_mapView;
}
- (void)viewDidLoad {
// Assumes you have implemented the sample code up to this step.
[ridesharingDriverAPI.vehicleReporter addListener:self];
}
- (void)vehicleReporter:(GMTDVehicleReporter *)vehicleReporter didSucceedVehicleUpdate:(GMTDVehicleUpdate *)vehicleUpdate {
// Handle update succeeded.
}
- (void)vehicleReporter:(GMTDVehicleReporter *)vehicleReporter didFailVehicleUpdate:(GMTDVehicleUpdate *)vehicleUpdate withError:(NSError *)error {
// Handle update failed.
}
@end
गाड़ी की जगह की जानकारी के अपडेट सुनें
नेविगेशन SDK टूल की मदद से, ड्राइवर SDK टूल की जगह की जानकारी के अपडेट
GMSRoadSnappedLocationProvider
क्लास. ये अपडेट पाने के लिए, आपको ये अपडेट पाने होंगे
GMTDVehicleReporter
को आपने सुना है.
Swift
import GoogleRidesharingDriver
private let providerID = "INSERT_YOUR_PROVIDER_ID"
class SampleViewController: UIViewController, GMTDVehicleReporterListener {
private let mapView: GMSMapView
override func viewDidLoad() {
// Assumes you have implemented the sample code up to this step.
if let roadSnappedLocationProvider = mapView.roadSnappedLocationProvider {
roadSnappedLocationProvider.add(ridesharingDriverAPI.vehicleReporter)
roadSnappedLocationProvider.startUpdatingLocation()
}
}
}
Objective-C
/**
* SampleViewController.h
*/
@interface SampleViewController : UIViewController<GMTDVehicleReporterListener>
@end
/**
* SampleViewController.m
*/
#import "SampleViewController.h"
#import "SampleAccessTokenProvider.h"
#import <GoogleRidesharingDriver/GoogleRidesharingDriver.h>
static NSString *const PROVIDER_ID = @"INSERT_YOUR_PROVIDER_ID";
@implementation SampleViewController {
GMSMapView *_mapView;
}
- (void)viewDidLoad {
// Assumes you have implemented the sample code up to this step.
[_mapView.roadSnappedLocationProvider addListener:ridesharingDriverAPI.vehicleReporter];
[_mapView.roadSnappedLocationProvider startUpdatingLocation];
}
@end
जगह की जानकारी के अपडेट चालू करें
जगह की जानकारी के अपडेट चालू करने के लिए, locationTrackingEnabled
को true
पर सेट करें
ड्राइवर ऐप्लिकेशन में GMTDVehicleReporter
. इसके बाद, GMTDVehicleReporter
क्लास
Fleet Engine को अपने-आप जगह की जानकारी भेजता है. फ़्लीट इंजन के बाद और
ग्राहक बैकएंड सेवा की मदद से, वाहन को यात्रा के लिए असाइन किया जाता है.
जब GMTDVehicleReporter
GMSNavigator
नेविगेशन मोड में है. यह तब होता है, जब कोई डेस्टिनेशन सेट किया जाता है
setDestinations
.
ड्राइवर SDK टूल, ड्राइवर के मौजूदा नेविगेशन पाथ से मैच करने के लिए रूट सेट करता है. यहां की यात्रा पर हूं
पक्का करें कि जगह की सटीक जानकारी अपडेट हो. इसके लिए, setDestinations
में वेपॉइंट सेट करें, ताकि
मंज़िल पर पहुंचने के लिए किया है.
यहां दिए गए उदाहरण में, जगह की जानकारी के अपडेट चालू करने का तरीका बताया गया है:
Swift
import GoogleRidesharingDriver
private let providerID = "INSERT_YOUR_PROVIDER_ID"
class SampleViewController: UIViewController, GMTDVehicleReporterListener {
private let mapView: GMSMapView
override func viewDidLoad() {
// Assumes you have implemented the sample code up to this step.
ridesharingDriverAPI.vehicleReporter.locationTrackingEnabled = true
}
}
Objective-C
/**
* SampleViewController.m
*/
#import "SampleViewController.h"
#import "SampleAccessTokenProvider.h"
#import <GoogleRidesharingDriver/GoogleRidesharingDriver.h>
static NSString *const PROVIDER_ID = @"INSERT_YOUR_PROVIDER_ID";
@implementation SampleViewController {
GMSMapView *_mapView;
}
- (void)viewDidLoad {
// Assumes you have implemented the sample code up to this step.
ridesharingDriverAPI.vehicleReporter.locationTrackingEnabled = YES;
}
@end
अपडेट का इंटरवल सेट करना
डिफ़ॉल्ट रूप से, जब locationTrackingEnabled
को true
पर सेट किया जाता है, तो ड्राइवर SDK
यह 10 सेकंड के अंतराल में Fleet Engine को यात्रा और वाहन के अपडेट भेजता है. आप
अपडेट के इंटरवल को locationUpdateInterval
के साथ कम से कम अपडेट में बदलें
5 सेकंड या ज़्यादा से ज़्यादा 60 सेकंड का इंटरवल हो. ज़्यादा बार अपडेट होने पर शायद
इससे अनुरोध धीमे हो सकते हैं और गड़बड़ियां हो सकती हैं.
वाहन की स्थिति को ऑनलाइन पर सेट करें
जगह की जानकारी अपडेट करने की सुविधा चालू करने के बाद, वाहन की स्थिति को ONLINE
पर सेट करें. ऐसा करने के लिए
वाहन, फ़्लीट इंजन में खोज क्वेरी के लिए उपलब्ध है.
नीचे दिए गए उदाहरणों में, वाहन की स्थिति को ONLINE
पर सेट करने का तरीका बताया गया है. इसके लिए
जानकारी, updateVehicleState
देखें.
Swift
import GoogleRidesharingDriver
private let providerID = "INSERT_YOUR_PROVIDER_ID"
class SampleViewController: UIViewController, GMTDVehicleReporterListener {
private let mapView: GMSMapView
override func viewDidLoad() {
// Assumes you have implemented the sample code up to this step.
ridesharingDriverAPI.vehicleReporter.update(.online)
}
}
Objective-C
#import "SampleViewController.h"
#import "SampleAccessTokenProvider.h"
#import <GoogleRidesharingDriver/GoogleRidesharingDriver.h>
static NSString *const PROVIDER_ID = @"INSERT_YOUR_PROVIDER_ID";
@implementation SampleViewController {
GMSMapView *_mapView;
}
- (void)viewDidLoad {
// Assumes you have implemented the sample code up to this step.
[ridesharingDriverAPI.vehicleReporter
updateVehicleState:GMTDVehicleStateOnline];
}
@end