이 문서에서는 작업을 수행할 수 있는 중요한 차량 필드를 다룹니다. 업데이트할 때 사용됩니다.
|
차량 필드의 전체 목록은 다음을 참고하세요.
|
차량 상태 필드
시스템에서 차량 상태를 OFFLINE
또는 ONLINE
로 설정할 수 있습니다. 예를 들어
매일 오전 9시, 매일 OFFLINE
에 차량 상태를 ONLINE
(으)로 설정할 수 있음
오후 5시에요.
오프라인 모드 | 온라인 모드 |
---|---|
OFFLINE 를 사용하여 차량이 수락되지 않음을 나타냅니다.
새로운 경로를 찾을 수 있습니다. 참고로, 차량이 할당된 이동을 완료하는 동안에도
표시됩니다. |
|
차량 속성 필드
차량 attributes
필드를 사용하여 맞춤설정된 기준을 만들어
더 넓은 범위의 차량에서 차량을 찾을 수 있습니다.
검색 기준을 만들 수 있습니다. 이렇게 하면 앱의 기능이 향상되어
검색 기준을 사용할 때보다 더 나은 차량 일치를 제공합니다.
다른 차량 필드에만 기반합니다. 각 차량은 최대 100대
속성이며, 각 속성에는 고유한 키가 있어야 합니다. 값은 문자열,
사용할 수 있습니다.
예를 들어 class라는 맞춤 속성을 선언하여
클래스 수준에 따라 차량 공유 차량을 차별화합니다. 이 경우
차량 클래스 수준을 나타내는 다음 문자열 값 ECONOMY
,
STANDARD
, LUXURY
하지만 맞춤 속성 값을 상호 배타적으로 사용할 필요는 없습니다. 이 반려동물 동반 가능, 금연, 시간이 오래 걸림과 같은 기준을 사용 여정에 대해 자세히 알아보세요. 이러한 속성은 불리언 값을 사용하는 별도의 맞춤 속성일 수 있습니다. 값으로 사용됩니다. 특정 차량에 다음 세 가지 커스텀 속성을 모두 할당할 수 있음 class 맞춤 속성과 함께 적절한 문자열 값으로 설정하세요.
이런 식으로 속성을 사용하면 특정 니즈가 있는 여행을 위한 차량 찾기 방법에 대한 안내를 보려면 맞춤 속성을 쿼리 필터로 사용하려면 차량 검색을 참고하세요.
차량 속성 업데이트
UpdateVehicle
또는
UpdateVehicleAttributes
입니다. 각 attributes
키는 당 하나의 값만 가질 수 있습니다.
차량 attributes
를 사용하여 맞춤 차량 속성을 선언합니다.
필드 마스크에 넣은 다음 아래 메서드에 따라 값을 제공합니다.
UpdateVehicle |
UpdateVehicleAttributes |
|
---|---|---|
이 API는 단일 속성만 업데이트할 수 없습니다.
이 메서드, attributes
마스크의 전체 집합은
차량에 대해 다시 선언되는 차량 속성입니다. 그 결과
에 명시적으로 포함되지 않은 기존 속성을 덮어씁니다.
필드 마스크 이 메서드를 사용하여 새 맞춤 속성을 선언하는 경우
또한 차량에 적용하고자 하는 모든 맞춤 속성을
있습니다. 필드 마스크에서 attributes 를 제외하면
이 메서드는 기존 맞춤 속성을 이전에 정의된 대로 유지합니다.
사용됩니다. 필드 마스크에 attributes 를 사용하는 경우
값을 설정하지 않으면
속성을 가져옵니다.
|
이 메서드는 특정 목록을 수락하여 업데이트. 요청은 지정된 속성만 업데이트하거나 추가합니다. 필드 마스크에 포함되어야 합니다. 지정되지 않은 기존 속성은 유지됨 변경되지 않습니다. |
차량 필드 업데이트 예시
이 섹션에서는 UpdateVehicleRequest
를 사용하여 차량 필드를 업데이트하는 방법을 보여줍니다.
업데이트할 필드를 나타내는 update_mask
가 포함되어 있습니다. 자세한 내용은
자세한 내용은 필드 마스크에 관한 프로토콜 버퍼 문서를 참고하세요.
last_location
이외의 필드를 업데이트하려면 Fleet Engine 주문형이 필요합니다.
관리자 권한이 있어야 합니다.
예: 새 이동 유형 및 맞춤 속성 사용 설정
이 예시에서는 차량에 back_to_back
이동을 사용 설정하고
새 속성: class
앞서 차량 속성 업데이트에서 설명했듯이
이 접근 방식을 사용하여 attributes
필드를 업데이트하려면
보존할 커스텀 속성을 지정합니다. 따라서 이 예는 cash_only
업데이트 작업 중에 덮어쓰지 않도록 작성된 값
- attributes
필드를 지정하는
하나의 키-값 속성 쌍의 값만 업데이트하려면
UpdateVehicleAttributes
메서드를 사용하고 attribute
필드를 포함하지 마세요.
UpdateVehicle
요청에 대한 필드 마스크에 지정되었는지 확인합니다.
gRPC 및 REST에 대한 providers.vehicles.update
참조를 확인하세요.
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