इस सेक्शन में, शेड्यूल किए गए टास्क के लिए वाहन को तैयार करने का तरीका बताया गया है. आपको यहां दिया गया हर चरण पूरा करना होगा. इसके बाद ही, आपका बैकएंड किसी वाहन को किसी टास्क से मैच कर पाएगा.
लिसनर के तौर पर सेट अप करना
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());
जगह की जानकारी के अपडेट पाने की सुविधा चालू करना
*VehicleReporter
इंस्टेंस मिलने के बाद, जगह की जानकारी के अपडेट पाने की सुविधा को इस तरह चालू करें:
Java
DeliveryVehicleReporter reporter = ...;
reporter.enableLocationTracking();
Kotlin
val reporter = ...
reporter.enableLocationTracking()
(ज़रूरी नहीं) अपडेट का इंटरवल सेट करना
डिफ़ॉल्ट रूप से, Driver SDK हर 10 सेकंड में जगह की जानकारी के अपडेट भेजता है. हर लोकेशन अपडेट से यह भी पता चलता है कि वाहन ऑनलाइन है. reporter.setLocationReportingInterval(long, TimeUnit)
में जाकर, इस
इंटरवल को बदला
जा सकता है. अपडेट करने का कम से कम समय 5 सेकंड होना चाहिए. बार-बार अपडेट करने से, अनुरोधों को प्रोसेस करने में ज़्यादा समय लग सकता है और गड़बड़ियां हो सकती हैं.