गाड़ी तैयार रखें

इस सेक्शन में, शेड्यूल किए गए टास्क के लिए वाहन को तैयार करने का तरीका बताया गया है. टास्क के लिए वाहन को मैच करने से पहले, आपको यहां दिया गया हर चरण पूरा करना होगा.

लिसनर सेट अप करना

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 सेकंड होना चाहिए. बार-बार अपडेट करने से, अनुरोधों को प्रोसेस होने में ज़्यादा समय लग सकता है और गड़बड़ियां हो सकती हैं.