Bu dokümanda, araç oluşturup yönetirken güncelleyebileceğiniz önemli araç alanları ele alınmaktadır.
|
Araç alanlarının tam listesi için:
|
Araç durumu alanı
Sisteminiz araç durumunu OFFLINE
veya ONLINE
olarak ayarlayabilir. Örneğin,
araç durumunu her gün 09:00'da ONLINE
ve her gün OFFLINE
olarak ayarlayabilirsiniz
17:00'de.
ÇEVRİMDIŞI modu | ÇEVRİMİÇİ modu |
---|---|
Aracın kabul etmediğini belirtmek için OFFLINE kullanın
yardımcı olabilir. Aracın bu durumdayken atanmış gezileri tamamlamaya devam edebileceğini unutmayın. |
|
Araç özellikleri alanı
Tüketicilerinizin veya filo operatörlerinizin filonuzdaki araçları daha geniş bir arama ölçütü yelpazesinde bulmasını sağlamak için özel ölçütler oluşturmak üzere araç attributes
alanını kullanın. Bu da uygulamalarınızın aşağıdakileri yapma kapasitesini geliştirir:
arama ölçütlerini kullanarak elde edeceğinize kıyasla daha iyi araç eşleşmeleri sağlar
araç trafiğine göre kullanılabilir. Her aracın en fazla 100 özelliği olabilir ve her birinin benzersiz bir anahtarı olmalıdır. Değerler dize olabilir,
booleler veya sayılar.
Örneğin, araç paylaşma araçlarınızı sınıf düzeylerine göre ayırt etmek için class adlı bir özel özellik tanımlayabilirsiniz. Araç sınıfı seviyelerini temsil etmek için şu dize değerlerini kullanırsınız: ECONOMY
, STANDARD
ve LUXURY
.
Bununla birlikte, özel özellik değerlerinin birbirini dışlamasına gerek yoktur. Evcil hayvan kabul eden, sigara içilmeyen ve daha uzun seyahatlere çıkabilen gibi ölçütler kullanabilirsiniz. Bunların her biri, boole değerini kullanan ayrı birer değerler. Belirli bir araca bu özel özelliklerin üçü de atanabilir class özel özelliği ile birlikte uygun dize değerine ayarlanır.
Özellikleri bu şekilde kullanmak, belirli ihtiyaçları olan seyahatler için araç bulmanıza yardımcı olacak çok çeşitli özellikler sunabilir. Nasıl yapıldığını özel özellikleri sorgu filtreleri olarak kullanmak için Araç arama bölümüne bakın.
Araç özelliklerini güncelleyin
Araç özelliklerini güncellemek için UpdateVehicle
veya
UpdateVehicleAttributes
. Her attributes
anahtarı araç başına yalnızca bir değere sahip olabilir. Özel araç özelliklerini attributes
kullanarak bildiriyorsanız
sonra aşağıdaki yönteme göre değerler sağlayarak.
UpdateVehicle |
UpdateVehicleAttributes |
|
---|---|---|
Bu API yalnızca tek bir özelliğin güncellenmesine izin vermez. Bunu kullanırken
attributes ürününün herhangi bir kullanımı
alanı, maskenin tamamını
araç için yeniden beyan edilen araç özellikleri. Bu, alan maskesine açıkça dahil edilmeyen önceden var olan tüm özelliklerin üzerine yazılmasına neden olur. Yeni bir özel özellik tanımlamak için bu yöntemi kullanırsanız aracın muhafaza etmesini istediğiniz her özel özelliği de yeniden tanımlamanız gerekir. Alan maskesinde attributes öğesini hariç tutarsanız
Bu yöntem, mevcut özel özellikleri önceden tanımlandığı gibi bırakır
araçtan bahsediyoruz. Alan maskesinde attributes kullanırsanız
Ancak değer ayarlamadan bu, tüm özel
özelliklerini kullanabilirsiniz.
|
Bu yöntem güncelleyin. İstek yalnızca alan maskesinde belirtilen özellikleri günceller veya ekler. Belirtilmeyen önceden var olan özellikler değiştirilmez. |
Araç alanlarını güncelleme örneği
Bu bölümde, hangi alanların güncelleneceğini belirten bir update_mask
içeren UpdateVehicleRequest
kullanılarak araç alanlarının nasıl güncelleneceği gösterilmektedir. Bkz.
Ayrıntılı bilgi için alan maskeleriyle ilgili Protokol Arabellekleri dokümanlarına bakın.
last_location
dışındaki alanlarda yapılan güncellemeler için Fleet Engine On-demand Yöneticisi ayrıcalıkları gerekir.
Örnek: yeni gezi türünü ve özel özelliği etkinleştirme
Bu örnekte, araç için back_to_back
gezi etkinliği etkinleştirilir ve yeni bir özellik (class
) belirtilir. Daha önce Araç özelliklerini güncelleme bölümünde belirtildiği gibi, bu yaklaşımı kullanarak attributes
alanını güncellemek için, saklamak istediğiniz tüm özel özellikleri belirtmeniz gerekir. Dolayısıyla, örnekte bir cash_only
bir güncelleme işlemi sırasında üzerine yazılmasını önlemek için yazılan değer
attributes
alanını belirten bir e-posta alırsınız.
Yalnızca bir anahtar/değer özellik çiftinin değerini güncellemek için
UpdateVehicleAttributes
yöntemini kullanın ve attribute
alanını eklemeyin
değerini girin.UpdateVehicle
gRPC ve REST için providers.vehicles.update
referansına bakın.
gRPC
static final String PROJECT_ID = "project-id";
static final String VEHICLE_ID = "vid-8241890";
VehicleServiceBlockingStub vehicleService = VehicleService.newBlockingStub(channel);
String vehicleName = "providers/" + PROJECT_ID + "/vehicles/" + VEHICLE_ID;
Vehicle updatedVehicle = Vehicle.newBuilder()
.setVehicleState(VehicleState.ONLINE)
.addAllAttributes(ImmutableList.of(
VehicleAttribute.newBuilder().setKey("class").setValue("ECONOMY").build(),
VehicleAttribute.newBuilder().setKey("cash_only").setValue("false").build()))
.setBackToBackEnabled(true)
.build();
UpdateVehicleRequest updateVehicleRequest = UpdateVehicleRequest.newBuilder()
.setName(vehicleName)
.setVehicle(updatedVehicle)
.setUpdateMask(FieldMask.newBuilder()
.addPaths("vehicle_state")
.addPaths("attributes")
.addPaths("back_to_back_enabled"))
.build();
try {
Vehicle updatedVehicle =
vehicleService.updateVehicle(updateVehicleRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case NOT_FOUND:
// Most implementations will call CreateVehicle in this case
break;
case PERMISSION_DENIED:
break;
}
return;
}
// If no Exception, Vehicle updated successfully.
REST
curl -X PUT \
"https://fleetengine.googleapis.com/v1/providers/project-id/vehicles/vid-8241890?updateMask=vehicle_state,attributes,back_to_back_enabled" \
-H "Authorization: Bearer $JWT" \
-H "Content-Type: application/json" \
--data-binary @- << EOM
{
"vehicleState": "ONLINE",
"attributes": [
{"key": "class", "value": "LUXURY"},
{"key": "cash_only", "value": "false"}
],
"backToBackEnabled": true
}
EOM