Bu bölümde, aracın planlanmış görevlere nasıl hazırlanacağı gösterilmektedir. Arka uçunuzun bir aracı bir görevle eşleştirebilmesi için aşağıdaki adımların her birini tamamlamanız gerekir.
Dinleyici ayarlama
Sürücü SDK'sı işlemleri arka planda gerçekleştirdiğinden, belirli etkinlikler (ör. hatalar, uyarılar veya hata ayıklama mesajları) gerçekleştiğinde bildirimleri tetiklemek için DriverStatusListener
kullanın. Hatalar geçici olabilir (ör. BACKEND_CONNECTIVITY_ERROR
) veya konum güncellemelerinin kalıcı olarak durmasına neden olabilir. Örneğin, VEHICLE_NOT_FOUND
hatası alırsanız bu, yapılandırma hatası olduğunu gösterir.
Aşağıdaki örnekte bir DriverStatusListener
uygulaması gösterilmektedir:
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());
Konum güncellemelerini etkinleştirme
*VehicleReporter
örneğiniz olduğunda konum güncellemelerini aşağıdaki şekilde etkinleştirin:
Java
DeliveryVehicleReporter reporter = ...;
reporter.enableLocationTracking();
Kotlin
val reporter = ...
reporter.enableLocationTracking()
(İsteğe bağlı) Güncelleme aralığını ayarlama
Sürücü SDK'sı, konum güncellemelerini varsayılan olarak 10 saniyelik aralıklarla gönderir. Her konum güncellemesi, aracın internete bağlı olduğunu da gösterir. Bu aralığı reporter.setLocationReportingInterval(long, TimeUnit)
ile değiştirebilirsiniz. Desteklenen minimum güncelleme aralığı 5 saniyedir. Daha sık güncelleme, isteklerin yavaşlamasına ve hatalara neden olabilir.