Bu dokümanda, kampanyalarınızda kullanabileceğiniz önemli araç alanları araç oluştururken ve yönetirken güncellememiz gerekir.
|
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 saat 9:00'da ONLINE
ve her gün saat 17:00'de OFFLINE
olarak ayarlayabilirsiniz.
ÇEVRİMDIŞI modu | ONLINE modu |
---|---|
Aracın kabul etmediğini belirtmek için OFFLINE kullanın
yardımcı olabilir. Aracın, atanan gezileri tamamlamaya devam edebileceğini unutmayın.
bu durumda. |
|
Araç özellikleri alanı
Araç attributes
alanını kullanarak
müşterilerin veya filo operatörlerinin filonuzda bulunan araçları daha geniş bir
yardımcı olabilir. Bu sayede, uygulamalarınızın yalnızca diğer araç alanlarına dayalı arama ölçütlerini kullanarak elde edebileceğinizden daha iyi araç eşleşmeleri sunma özellikleri geliştirilir. Her aracın en fazla 100 özelliği olabilir ve her birinin benzersiz bir anahtarı olmalıdır. Değerler dize, boole veya sayı olabilir.
Ö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. Arama için
araç sınıfı seviyelerini temsil eden şu dize değerleri: ECONOMY
,
STANDARD
ve LUXURY
.
Bununla birlikte, özel özellik değerlerinin birbirini dışlamasına gerek yoktur. En son haberleri sunan, evcil hayvan dostu, sigara içmeyen ve daha uzun sürebilir seyahatleri hakkında daha fazla bilgi edinin. 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.
Özelliklerin bu şekilde kullanılması, aşağıdakileri gerçekleştirmenize yardımcı olacak çok çeşitli özellikler sağlar: özel ihtiyaçları olan seyahatler için araç bulma. Nasıl yapıldığını anlatan ö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ı her başına yalnızca bir değere sahip olabilir
araç. Özel araç özelliklerini attributes
kullanarak beyan ediyorsunuz
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 kullanımının herhangi bir şekilde
alanı, maskenin tamamını
araç için yeniden beyan edilen araç özellikleri. Bu,
açıkça eklenmeyen önceden var olan bir özelliğin üzerine yazmak
kullanabilirsiniz. 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 değerini kullanır ancak değer ayarlamazsanız bu, aracın tüm özel özelliklerinin kaldırılmasına eşdeğerdir.
|
Bu yöntem güncelleyin. İstek yalnızca belirtilen özellikleri günceller veya ekler kullanabilirsiniz. Belirtilmemiş önceden var olan özellikler kalır korunabilir. |
Araç alanlarını güncelleme örneği
Bu bölümde, UpdateVehicleRequest
, araç çubuğu ve dönüşüm izleme gibi
Burada, hangi alanların güncelleneceğini belirten bir update_mask
bulunur. 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
seyahatleri etkinleştirilir ve ayrıca
yeni özellik: class
. Daha önce Araç özelliklerini güncelleme bölümünde belirtildiği gibi,
Bu yaklaşımı kullanarak attributes
alanını güncellemek için tüm
özel özellikleri seçin. 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