> For the complete documentation index, see [llms.txt](https://adpopcornssp.gitbook.io/offerwall/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://adpopcornssp.gitbook.io/offerwall/publisher/partners-page/system-test.md).

# 3) 리워드 시스템 테스트

콜백 서버 연동이 올바르게 동작하는지 확인하고, 리워드 지급까지 정상적으로 처리되는지 검증하는 과정을 안내해요.

> 이 단계는 SDK 또는 S2S 연동과 콜백 서버 구현이 완료된 후에 진행해요.

***

### 전체 흐름 <a href="#full-flow" id="full-flow"></a>

<table><thead><tr><th width="118">단계</th><th>내용</th><th>소요 시간</th></tr></thead><tbody><tr><td>Step 1</td><td>테스트 기기 등록</td><td>약 2분</td></tr><tr><td>Step 2</td><td>콜백 테스트 진행</td><td>약 10분</td></tr><tr><td>Step 3</td><td>리워드 테스트 진행</td><td>약 5분</td></tr><tr><td>Step 4</td><td>검수 신청</td><td>약 1분</td></tr></tbody></table>

***

### Step 1. 테스트 기기 등록 <a href="#step1" id="step1"></a>

테스트를 진행하려면 먼저 테스트 기기를 등록해야 해요. 테스트 기기가 등록되어 있어야 파트너스 페이지에서 테스트 광고를 수신할 수 있어요.

1. 파트너스 페이지 상단 메뉴 → 설정 → 기기 관리에 접속해 주세요.
2. \[기기 등록하기] 버튼을 눌러주세요.

<figure><img src="https://1595730023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fje5aQYwW7vVhQip9hUe1%2Fuploads%2F5ERmtOE2BEuG5EnhPLxb%2FGroup%2070.png?alt=media&amp;token=acbc2a20-ee05-4b5d-9b5a-e42b171bc4a7" alt=""><figcaption></figcaption></figure>

3. 등록할 기기 정보를 입력한 후 \[등록하기]를 눌러주세요.

<figure><img src="https://1595730023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fje5aQYwW7vVhQip9hUe1%2Fuploads%2FHXiHJrBLutUzk8pTvwVO%2FGroup%2058.png?alt=media&amp;token=9e5d2518-9e76-4bf8-995e-f1387316634f" alt=""><figcaption></figcaption></figure>

> 기기 관리에서 기기를 삭제하면 리워드 시스템 테스트의 테스트 기기도 함께 삭제돼요.

***

### Step 2. 콜백 테스트 진행 <a href="#step2" id="step2"></a>

1. 파트너스 페이지 상단 메뉴 → 리워드 설정 → 리워드 시스템 테스트에 접속해 주세요.

<figure><img src="https://1595730023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fje5aQYwW7vVhQip9hUe1%2Fuploads%2FaNULBY5rNvXgIwE9TWQn%2FGroup%2066.png?alt=media&amp;token=6f2f8a20-9ab2-42de-86a3-46ce608f383d" alt=""><figcaption></figcaption></figure>

2. \[콜백 테스트] 탭을 선택해 주세요.

> 상단에 표시되는 스테이징 URL, 통신 방식, 보안 프로토콜 형태는 리워드 시스템 설정에서 입력한 값이 자동으로 표출돼요. 이 화면에서는 수정할 수 없어요.

3. USN 입력란에 임의의 테스트용 값을 입력해 주세요.
4. \[확인] 버튼을 눌러주세요.

<figure><img src="https://1595730023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fje5aQYwW7vVhQip9hUe1%2Fuploads%2F3Sv7MrnknyrQp3VxITGC%2FGroup%2061.png?alt=media&amp;token=911ed3c5-bd7b-45f0-aaa2-827ce813e3ad" alt=""><figcaption></figcaption></figure>

> USN(유저 식별값)은 테스트에 사용할 임의의 고정값을 입력하면 돼요. 실제 유저 ID를 사용해도 되고, 테스트 전용 ID를 사용해도 돼요.

5. 3가지 콜백 테스트를 각 테스트 우측의 \[진행하기] 버튼을 눌러 순서대로 진행해 주세요.

<figure><img src="https://1595730023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fje5aQYwW7vVhQip9hUe1%2Fuploads%2F3f6qbiCefTzXxfOD4cb0%2FGroup%2062.png?alt=media&amp;token=48d4634e-3cd8-405e-8a64-894835be90dd" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="186">테스트</th><th>내용</th></tr></thead><tbody><tr><td>리워드 지급 테스트</td><td>설정한 URL이 유효한지 검증해요.</td></tr><tr><td>보안 테스트</td><td>수신한 signed value 값과 직접 생성한 signed value 값을 비교하여 보안을 확인해요.</td></tr><tr><td>중복지급 방지 테스트</td><td>동일한 reward key에 대해 중복지급이 방지되는지 확인해요. 동일한 콜백이 2번 연속으로 전송돼요.</td></tr></tbody></table>

3가지 테스트 모두 "완료" 표시가 나오면 콜백 테스트가 완료된 거예요.

<figure><img src="https://1595730023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fje5aQYwW7vVhQip9hUe1%2Fuploads%2Fg2u0y0C2GQJCTnpCmCly%2FGroup%2063.png?alt=media&amp;token=dfd8e68b-ce62-4142-b4e5-e41531b88952" alt=""><figcaption></figcaption></figure>

#### 콜백 테스트 실패 시 확인 사항

<table><thead><tr><th width="297">실패 항목</th><th>확인 사항</th></tr></thead><tbody><tr><td>리워드 지급 테스트 실패</td><td>테스트 콜백 URL이 올바르게 등록되어 있는지, 서버가 실행 중인지 확인해 주세요.</td></tr><tr><td>보안 테스트 실패 (SignedValue 오류)</td><td>해시 키와 HMAC-MD5 구현을 확인해 주세요. → [리워드 콜백 서버 연동] 참고</td></tr><tr><td>중복지급 방지 테스트 실패</td><td>중복 방지 로직(reward_key DB 저장 후 확인) 구현을 확인해 주세요.</td></tr></tbody></table>

***

### Step 3. 리워드 테스트 진행 <a href="#step3" id="step3"></a>

> 리워드 테스트 결과를 조회하려면, 먼저 테스트 기기에서 앱 내 오퍼월 캠페인 참여를 완료해야 해요.

1. 콜백 테스트 3종이 모두 완료되면 \[리워드 테스트] 탭으로 이동해 주세요.
2. 테스트 기기 선택 영역에서 등록된 테스트 기기를 선택해 주세요.
3. \[저장하기] 버튼을 눌러주세요.

> 테스트 기기를 설정하면 해당 디바이스에서만 테스트 광고를 노출하고 자체 검증을 진행할 수 있어요.

4. 테스트 결과 보기 영역에서 테스트 기기를 선택해 주세요.
5. \[조회하기] 버튼을 눌러주세요.

<figure><img src="https://1595730023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fje5aQYwW7vVhQip9hUe1%2Fuploads%2FPC6p1vGMtIYxvZjOaOGx%2FGroup%2064.png?alt=media&amp;token=8b5040ee-47f8-42be-971e-e77f0d1abcb4" alt=""><figcaption></figcaption></figure>

조회 결과가 표출되면 리워드 테스트가 완료된 거예요.

> 테스트 결과는 최근 1주일치 데이터만 노출돼요.

***

### Step 4. 검수 신청 <a href="#step4" id="step4"></a>

리워드 테스트까지 모두 완료되면 검수 신청을 진행해 주세요. 검수가 완료되면 매체 라이브가 가능해요.

<figure><img src="https://1595730023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fje5aQYwW7vVhQip9hUe1%2Fuploads%2FZHArualgS6CAGeUl8frK%2FGroup%2065.png?alt=media&amp;token=9bb924c1-1a14-4647-8216-e13375317d9c" alt=""><figcaption></figcaption></figure>

검수 신청 문의: <reward@adpopcorn.com>

***

### 테스트 통과 체크리스트 <a href="#checklist" id="checklist"></a>

* [ ] 테스트 기기 등록 완료
* [ ] 파트너스 페이지에 콜백 URL (테스트 + 라이브) 등록 완료
* [ ] 콜백 테스트 — 리워드 지급 테스트 통과
* [ ] 콜백 테스트 — 보안 테스트 통과
* [ ] 콜백 테스트 — 중복지급 방지 테스트 통과
* [ ] 리워드 테스트 — 테스트 기기 선택 및 저장 완료
* [ ] 리워드 테스트 — 조회 결과 확인 완료
* [ ] 검수 신청 완료

> 모든 항목을 통과하고 검수가 완료되면 매체 라이브가 가능해요.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://adpopcornssp.gitbook.io/offerwall/publisher/partners-page/system-test.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
