# 서버 간 콜백 설정

> 앱에서 광고 시 알림을 수신하도록 서버 간 콜백을 설정하여 백엔드 서버를 통해 사용자에게 보상을 제공할 수 있습니다.

레벨플레이 보상형 광고 유닛은 서버 측 이벤트를 지원하여 성공적인 광고 완료 이벤트 후 사용자에게 제공해야 하는 보상을 알려줍니다.

> **Note:**
>
> 성공적인 광고 완료 이벤트 후에도 클라이언트 측 이벤트를 사용하여 사용자에게 보상을 제공할 수도 있습니다.

## 필수 조건##prerequisites

코드에 [서버 간 콜백 핸들러](/grow/levelplay/platform/settings/event-handlers.md)를 구현했는지 확인합니다.

서버 간 콜백을 사용하여 광고 완료 알림을 받을 수 있습니다. 백엔드 서버를 사용하여 애플리케이션 데이터를 관리하는 경우 권장되는 프로세스입니다. 각 광고 시청이 완료되면 콜백 전송하여 최종 사용자 제공해야 하는 보상 유형 및 금액을 서버에 알립니다.

## 서버 간 콜백 활성화하다, 사용 가능하다##enable-server-to-server-callbacks

1. Unity 레벨플레이 계정에 로그인합니다.
2. 왼쪽 내비게이션 메뉴에서 **앱** 섹션으로 이동합니다.
3. 앱 목록에서 서버 간 콜백을 활성화하고자 하는 앱 옆의 행동 버튼을 선택한 다음 **설정 S2S 콜백**을 선택합니다.
4. Create S2S reward 콜백 페이지에서 서버 간 콜백을 활성화하다, 사용 가능하다 데 필요한 정보를 입력합니다.
5. **콜백 URL** 필드에서 사용자가 광고 유닛을 완료한 후 레벨플레이가 전송할 콜백을 구성합니다. 예: `http://www.mysite.com/granting.php?userid=\\\[USER\\_ID]\\\&rewards=\\\[REWARDS]\\\&eventId=\\\[EVENT\\_ID)`
6. 선택 사항: 비공개 키를 추가합니다. 비공개 키는 사용자와 레벨플레이 알려진 문자열로, 보호 레이어 추가합니다.
7. Parameters 섹션 드롭다운 메뉴를 선택한 다음 콜백 포함할 선택적 파라미터를 선택합니다. 선택적 파라미터 선택하면 콜백 URL에 자동으로 표시됩니다.
8. 콜백 테스트 섹션 사용자 ID와 보상 금액을 입력하여 콜백 테스트합니다. 선택적인 필드(Auction ID, Ad network, App key, Item name, Placement name)를 입력할 수도 있지만 콜백 테스트에 필요하지는 않습니다.
   > **Note:**
   >
   > S2S 콜백을 활성화하려면 서버가 콜백을 수신하고 영수증을 확인해야 합니다.
9. **Save**를 선택합니다.
   > **Note:**
   >
   > 권장되는 베스트 프랙티스는 콜백 테스트한 후 저장하는 것입니다.

콜백 즉시 활성화됩니다. **앱 페이지**에서 콜백 상태를 확인할 수 있습니다.

## 필수 파라미터##mandatory-parameters

다음 목록에는 콜백 문자열에 포함해야 하는 필수 파라미터가 자세히 나와 있습니다.

* \[USER\_ID]: 애플리케이션 사용자 고유 식별자. 시스템은 이를 사용하여 성공적인 광고 시 보상을 제공할 사용자 파악합니다.
* \[REWARDS]: 사용자 보상형 광고 신용 단위 수입니다.
* \[EVENT\_ID: Ironsource 생성한 완료된 이벤트 고유 식별자, 이벤트 대한 사용자 보상형 광고 아직 제공하지 않았는지 확인할 수 있습니다.

## 선택적 파라미터##optional-parameters

다음 목록에는 필요에 따라 내부적으로 사용할 수 있는 선택적 파라미터가 자세히 나와 있습니다.

* \[AUCTION\_ID]: 경매의 고유 식별자.
* \[AD\_NETWORK]: 공급자의 이름을 지정합니다(예: Vungle).
* \[APP\_KEY]: 레벨플레이 페이지에서 보이는 앱 키입니다.
* \[ITEM\_NAME]: 보상이 게임 내 재화가 아닌 가상 아이템인 경우의 가상 아이템 이름입니다.
* \[PLACEMENT\_NAME]: 플레이스먼트 이름입니다.

> **Note:**
>
> 커스텀 파라미터도 사용할 수 있습니다. 플레이스홀더를 추가할 필요는 없습니다. 콜백 URL에는 \*\* 커스텀\_\*\* 접두사가 붙어 표시됩니다.

## 비공개 키를 사용한 서명 확인##signature-validation-with-private-key

서명은 다음 중 MD5를 나타냅니다.

```text
md5(\[TIMESTAMP\]\[EVENTID\]\[USER\_ID\]\[REWARDS\]\[PRIVATE\_KEY\]). 
```

비공개 키는 사용자와 Ironsource 알고 있는 문자열이며, 다른 모든 서명 컴포넌트는 URL의 일부입니다. 비공개 키는 서명을 재현하기 어려우므로 보안을 추가합니다.

* 커미션 이벤트 생성될 때마다 Ironsource 서버는 콜백 URL을 호출 관련 사용자 필요한 정보를 제공합니다.
  * 시스템은 HTTP 응답의 어딘가에 "**\[EVENT\_ID]:OK**" 문자열이 표시된 상태가 200(OK)인 유효한 HTTP 응답을 수신할 때까지 모든 커미션에 대해 주기적으로 이 URL을 호출합니다.
  * 다음은 일반적인 응답의 예입니다. `<status> dae8e6cf42b1357f8652ad6ecb5b24f1:OK</status>`
* Ironsource 일시적인 커뮤니케이션 실패로 인해 커미션 이벤트가 손실되지 않도록 재시도 및 타임아웃 정책을 관리합니다.
  * 응답은 400밀리초 이내에 전송되어야 합니다. 그렇지 않으면 콜백 재시도 메커니즘을 초기화하는 타임아웃이 발생합니다.
  * 모든 콜백에 20초 이내에 응답할 수 있는 "천천히 콜백 대기열"에 시간 초과가 표시됩니다.
  * 원본의, 원래의 콜백 후 24시간 이내에 20개의 재시도 전송되며, 다음 7일 동안 하루에 재시도 1개 진행됩니다.
