Bu bölümde, aracı seyahat için nasıl hazırlayacağınız gösterilmektedir. Arka uç sunucunuz bir aracı bir seyahatle eşleştirebilmesi için aşağıdaki adımların her birini tamamlamanız gerekir.
Dinleyiciyi ayarlama
Driver SDK arka planda işlemler gerçekleştirdiğinden; hata, uyarı veya hata ayıklama mesajı gibi belirli olaylar gerçekleştiğinde bildirimleri tetiklemek için DriverStatusListener
bileşenini kullanın. Hatalar geçici olabilir (BACKEND_CONNECTIVITY_ERROR
gibi) veya konum güncellemelerinin kalıcı olarak durmasına neden olabilir. Örneğin, VEHICLE_NOT_FOUND
hatası alırsanız bu bir 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
Dinleyiciyi ayarladıktan sonra konum güncellemelerini aşağıdaki gibi etkinleştirin:
Java
RidesharingVehicleReporter reporter = ...;
reporter.enableLocationTracking();
Kotlin
val reporter = ...
reporter.enableLocationTracking()
Güncelleme aralığını belirleyin
Varsayılan olarak, araç durumu ONLINE
olduğunda Sürücü SDK'sı konum güncellemelerini 10 saniyelik aralıklarla gönderir. Bu aralığı reporter.setLocationReportingInterval(long, TimeUnit)
ile değiştirebilirsiniz. Desteklenen minimum güncelleme aralığı 5 saniyedir. Güncellemelerin daha sık yapılması, daha yavaş istek ve hatalara neden olabilir.
Araç durumunu online olarak ayarlama
Konum güncellemelerini etkinleştirdiğinizde, aracı Fleet Engine'da SearchVehicles
sorguları için kullanılabilir hale getirmek üzere araç durumunu ONLINE
olarak ayarlayabilirsiniz. Sürücü SDK'sı, konum güncellemeleriyle birlikte güncellenmiş araç durumunu gönderir.
Araç durumunu doğrudan Driver SDK'sında veya Fleet Engine sunucusunda ayarlayabilirsiniz. Daha fazla bilgi için Araç güncelleme başlıklı makaleyi inceleyin.
Aşağıdaki örneklerde, Driver SDK'sında araç durumunun nasıl online olarak ayarlanacağı gösterilmektedir:
Java
RidesharingVehicleReporter reporter = ...;
reporter.enableLocationTracking();
reporter.setVehicleState(VehicleState.ONLINE);
Kotlin
val reporter = ...
reporter.enableLocationTracking()
reporter.setVehicleState(VehicleState.ONLINE)
StatusListener
, araç durumu güncellenirken oluşan hataları da bildirir.