

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 사용자 지정\_출력
<a name="monetization-functions-types-custom-output"></a>

## 사용해야 하는 경우
<a name="monetization-functions-types-custom-output-when"></a>

함수 로직이 순전히 계산되는 `CUSTOM_OUTPUT` 경우에 사용합니다. 일반적인 사용 사례에는 사용자 에이전트 문자열을 기반으로 디바이스 분류, A/B 테스트 로직을 사용하여 광고 결정 서버 URLs 선택, 광고 결정 서버에 도달하기 전에 플레이어 파라미터 재구성이 포함됩니다.

`CUSTOM_OUTPUT` 함수는 네트워크 호출 없이 메모리의 표현식을 평가하기 때문에 가장 빠른 유형입니다. 외부 서비스에 문의하지 않고 목표를 달성할 수 있을 때마다이 유형을 선택합니다.

## 구성 필드
<a name="monetization-functions-types-custom-output-fields"></a>

`CUSTOM_OUTPUT` 함수에는 두 개의 필드가 있습니다.
+ **런타임** - 표현식 언어입니다. 이를 로 설정합니다`JSONATA`.
+ **출력** - 키-값 페어의 맵입니다. 각 키는 출력 바인딩 이름(예: `player_params.device_type`)이고, 각 값은 MediaTailor가 런타임에 평가하는 표현식입니다.

**참고**  
문자열 필드에서 JSONata 표현식을 래핑`{%...%}`하는 데 사용합니다. 이러한 구분 기호가 없는 값은 정적 문자열로 처리됩니다. 예를 들어는 표현식을 `"{%session.id%}"` 평가하는 반면 `"session.id"`는 리터럴 텍스트입니다.

## 런타임 동작
<a name="monetization-functions-types-custom-output-behavior"></a>

MediaTailor는 `CUSTOM_OUTPUT` 함수를 실행할 때 현재 세션 상태를 기준으로 출력 블록의 모든 표현식을 평가합니다. 모든 표현식은 동일한 입력 스냅샷을 볼 수 있습니다. 평가된 결과는 함수의 출력이 됩니다.

표현식이 평가되지 않으면 MediaTailor는 전체 함수의 출력을 삭제하고 연결된 함수가 없는 것처럼 진행합니다. 함수는 결과를 부분적으로 커밋하지 않습니다.

## 예: A/B 트래픽 분할
<a name="monetization-functions-types-custom-output-example"></a>

다음 함수는 각 광고 시간을 두 광고 결정 서버 URLs. 수명 `PRE_ADS_REQUEST` 주기 후크용으로 설계되었습니다.

```
{
    "FunctionId": "abTestAdsUrl",
    "FunctionType": "CUSTOM_OUTPUT",
    "CustomOutputConfiguration": {
        "Runtime": "JSONATA",
        "Output": {
            "adsRequest.url": "{%$random() < 0.5 ? 'https://ads.example.com/v1' : 'https://ads.example.com/v2'%}"
        }
    }
}
```

이 예제의 전체 연습은 단원을 참조하십시오[함수 예제](monetization-functions-examples.md).