# 오프라인 지원

SDK는 네트워크가 불안정하거나 오프라인일 때도 작동할 수 있도록 설계되었습니다.

## 이벤트 큐잉

SDK는 오퍼월 이용, 퀴즈 참여, 미션 수행 등 사용자 행동 이벤트를 내부적으로 자동 추적합니다. 인터넷이 안 될 때 발생한 이벤트는 SDK가 로컬에 저장해뒀다가 나중에 인터넷이 복구되면 자동으로 전송합니다.

### 작동 방식

1. 사용자 행동 발생 (SDK 내부 자동 추적)
2. 인터넷 확인
3. 인터넷 안 됨 → 로컬에 저장
4. 나중에 인터넷 복구되면 → SDK가 자동 전송

### 저장 용량

최대 1000개의 이벤트를 저장합니다. 초과하면 오래된 것부터 삭제됩니다.

## 오퍼월 캐싱

오퍼월 콘텐츠도 일부 캐싱됩니다:

* 이미지, 스크립트 등 정적 리소스
* 최근 본 광고 목록
* 사용자 설정

완전 오프라인에서는 오퍼월을 열 수 없지만, 약한 네트워크에서도 빠르게 로딩됩니다.

## 이벤트 자동 전송

오프라인에서 앱을 쓰다가 인터넷이 다시 연결되면, SDK가 자동으로 쌓인 이벤트를 서버로 전송합니다. 매체사 앱 코드에서 별도로 처리할 필요가 없습니다.

## 주의사항

### 오프라인에서 할 수 없는 것

* SDK 초기화
* 사용자 로그인
* 오퍼월 첫 로딩
* 퀴즈/미션 목록 조회

### 오프라인에서 할 수 있는 것

* 이벤트 큐잉 (나중에 전송)
* 이미 로딩된 오퍼월 보기
* 캐싱된 콘텐츠 접근

## 네트워크 최적화

이벤트 재전송 시 SDK는 다음과 같이 최적화되어 있습니다:

* **지수 백오프**: 실패하면 재시도 간격을 점점 늘림 (1초, 2초, 4초, 8초...)
* **배치 전송**: 이벤트를 모아서 한 번에 전송
* **네트워크 타입 확인**: Wi-Fi일 때만 대량 전송

## 다음 단계

* [JavaScript Bridge](/undefined-3/javascript-bridge.md)
* [문제 해결](/undefined-6/common-issues.md)


---

# Agent Instructions: 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:

```
GET https://adchain-doc.1self.world/undefined-3/offline-support.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
