इस सेक्शन में, यात्राओं के लिए गाड़ी को तैयार करने का तरीका बताया गया है. बैकएंड को किसी यात्रा के लिए गाड़ी से मैच करने से पहले, आपको यहां दिया गया हर चरण पूरा करना होगा.
लिसनर सेट अप करना
Driver SDK बैकग्राउंड में कार्रवाइयां करता है. इसलिए, कुछ इवेंट होने पर सूचनाएं ट्रिगर करने के लिए, DriverStatusListener का इस्तेमाल करें. जैसे, गड़बड़ियां, चेतावनियां या डीबग मैसेज. गड़बड़ियां कुछ समय के लिए हो सकती हैं. जैसे, BACKEND_CONNECTIVITY_ERROR. इसके अलावा, इनकी वजह से जगह की जानकारी के अपडेट हमेशा के लिए बंद हो सकते हैं. उदाहरण के लिए, अगर आपको VEHICLE_NOT_FOUND गड़बड़ी का मैसेज मिलता है, तो इसका मतलब है कि कॉन्फ़िगरेशन में कोई गड़बड़ी है.
यहां दिए गए उदाहरण में, DriverStatusListener को लागू करने का तरीका बताया गया है:
class MyStatusListener implements DriverStatusListener {
/** Called when background status is updated, during actions such as location reporting. */
@Override
public void updateStatus(
StatusLevel statusLevel, StatusCode statusCode, String statusMsg, @Nullable Throwable cause) {
// Existing implementation
if (cause != null && cause instanceof StatusRuntimeException) {
if (Status.NOT_FOUND.getCode().equals(cause.getStatus().getCode())) {
// NOT_FOUND gRPC exception thrown by Fleet Engine.
}
}
}
}
DriverContextBuilder.setDriverStatusListener(new MyStatusListener());
जगह की जानकारी के अपडेट चालू करना
लिसनर सेट अप करने के बाद, जगह की जानकारी के अपडेट चालू करें. इसके लिए, यह तरीका अपनाएं:
Java
RidesharingVehicleReporter reporter = ...;
reporter.enableLocationTracking();
Kotlin
val reporter = ...
reporter.enableLocationTracking()
अपडेट का इंटरवल सेट करना
डिफ़ॉल्ट रूप से, Driver SDK, गाड़ी की स्थिति ONLINE होने पर, हर 10 सेकंड के इंटरवल पर जगह की जानकारी के अपडेट भेजता है. reporter.setLocationReportingInterval(long, TimeUnit) की मदद से, इस इंटरवल को बदला जा सकता है. अपडेट का कम से कम इंटरवल 5 सेकंड हो सकता है. ज़्यादा बार अपडेट करने से, अनुरोधों की स्पीड कम हो सकती है और गड़बड़ियां आ सकती हैं.
गाड़ी की स्थिति को ऑनलाइन पर सेट करना
जगह की जानकारी के अपडेट चालू करने के बाद, गाड़ी की स्थिति को ONLINE पर सेट किया जा सकता है. इससे, Fleet Engine में SearchVehicles क्वेरी के लिए गाड़ी उपलब्ध हो जाती है. Driver SDK, जगह की जानकारी के अपडेट के साथ-साथ, गाड़ी की अपडेट की गई स्थिति भी भेजता है.
गाड़ी की स्थिति को सीधे Driver SDK या Fleet Engine सर्वर में सेट किया जा सकता है. ज़्यादा जानकारी के लिए, गाड़ी की जानकारी अपडेट करना देखें.
यहां दिए गए उदाहरणों में, Driver SDK में गाड़ी की स्थिति को ऑनलाइन पर सेट करने का तरीका बताया गया है:
Java
RidesharingVehicleReporter reporter = ...;
reporter.enableLocationTracking();
reporter.setVehicleState(VehicleState.ONLINE);
Kotlin
val reporter = ...
reporter.enableLocationTracking()
reporter.setVehicleState(VehicleState.ONLINE)
StatusListener, गाड़ी की स्थिति को अपडेट करते समय होने वाली गड़बड़ियों की भी रिपोर्ट करता है.