# FAQ (자주 묻는 질문)

SDK 사용 중 자주 묻는 질문들입니다.

## 기본 사용

### SDK 설치와 초기화는 어떻게 하나요?

[시작하기 가이드](/undefined/react-native.md)를 참고하세요.

### appKey와 appSecret은 어디서 받나요?

<contact@1self.world>로 문의하시면 발급해드립니다. 회사명, 앱 이름, 플랫폼 정보를 보내주세요.

### 테스트용 키도 따로 있나요?

네, 개발용 키와 프로덕션용 키를 따로 발급해드립니다. 개발 중에는 `environment`를 `STAGING`으로 설정하세요.

## 기술적 질문

### 오퍼월을 여러 개 동시에 열 수 있나요?

안 됩니다. 한 번에 하나의 오퍼월만 열어야 합니다. 동시에 여러 개를 열면 WebView 충돌이 발생할 수 있습니다.

### 오프라인에서도 작동하나요?

일부 기능만 가능합니다:

* ✅ 이벤트 큐잉 (나중에 전송)
* ✅ 캐싱된 콘텐츠 보기
* ❌ 초기화, 로그인
* ❌ 오퍼월 첫 로딩
* ❌ 실시간 데이터 조회

자세한 내용은 [오프라인 지원](/undefined-3/offline-support.md) 문서를 참고하세요.

### ProGuard 설정이 필요한가요?

네, Android 릴리스 빌드에서 ProGuard/R8을 사용한다면 설정이 필요합니다. [시작하기](https://adchain-doc.1self.world/undefined-6/pages/olDNQ4trPQXTXbo5mq9b#3-proguard-설정-릴리스-빌드-시) 문서의 ProGuard 섹션을 참고하세요.

### iOS 시뮬레이터에서 테스트할 수 있나요?

가능하지만 광고 ID를 가져올 수 없어서 일부 광고가 안 나올 수 있습니다. 완전한 테스트는 실제 기기를 사용하세요.

## 광고

### 어떤 종류의 광고가 나오나요?

* **CPI**: 앱 설치
* **CPA**: 회원가입, 구매, 레벨 달성 등
* **CPC**: 광고 클릭
* **CPQ**: 퀴즈
* **CPX**: 설문
* **CPS**: 쇼핑 (쿠팡, G마켓 등)

자세한 내용은 상품 소개서를 참고하세요.

### 광고가 안 나오는 이유는?

몇 가지 가능성이 있습니다:

1. **로그인 안 됨**: `isLoggedIn` 확인
2. **광고 ID 권한 없음**: AndroidManifest.xml 확인
3. **지역 제한**: 일부 광고는 한국에서만 노출
4. **광고 재고 부족**: 특정 시간대에 광고가 적을 수 있음

### 사용자 정보(성별, 나이)를 안 넣으면 어떻게 되나요?

SDK는 작동하지만:

* 광고 타겟팅이 덜 정확해짐
* 광고 노출 수가 줄어들 수 있음
* 결과적으로 매출이 20-30% 정도 낮아질 수 있음

가능하면 제공하는 게 좋습니다.

## 문제 해결

### "SDK initialization failed" 에러가 나요

가능한 원인:

* appKey나 appSecret이 틀림
* 인터넷 연결 안 됨
* 서버 점검 중

자세한 해결 방법은 [문제 해결](https://adchain-doc.1self.world/undefined-6/pages/lrzxEDBZloSxcGPYxvbc#sdk-initialization-failed-에러가-나요) 문서를 참고하세요.

### 로그인이 안 됩니다

확인사항:

* SDK가 초기화되었나요? (`isInitialized()`)
* 인터넷이 연결되었나요?
* userId에 특수문자가 있나요? (문자, 숫자, `-`, `_`만 권장)

### 오퍼월이 흰 화면만 나와요

확인:

* Android: `AndroidManifest.xml`에 인터넷 권한과 `usesCleartextTraffic` 설정
* iOS: `Info.plist`에 App Transport Security 설정

자세한 내용은 [문제 해결](https://adchain-doc.1self.world/undefined-6/pages/lrzxEDBZloSxcGPYxvbc#오퍼월이-흰-화면만-나와요) 문서를 참고하세요.

### 빌드 에러가 나요

먼저 Metro 캐시를 리셋하세요:

```bash
npm start -- --reset-cache
```

그래도 안 되면 네이티브 빌드 캐시까지 정리:

```bash
# Android
cd android && ./gradlew clean && cd ..

# iOS
cd ios && pod deintegrate && pod install && cd ..
```

여전히 안 되면 [문제 해결](/undefined-6/common-issues.md) 문서를 참고하세요.

## 정책과 규정

### GDPR/CCPA 준수하나요?

네, SDK는 GDPR과 CCPA를 준수합니다:

* 사용자 동의 없이 개인정보 수집 안 함
* 광고 ID는 사용자가 ATT 권한을 허용한 경우에만 수집
* 언제든지 데이터 삭제 요청 가능

### 개인정보는 어떻게 처리되나요?

SDK가 수집하는 정보:

* **필수**: userId (앱에서 제공한 ID)
* **선택**: 성별, 출생연도
* **자동**: 기기 정보 (OS 버전, 기기 모델), 광고 ID (권한 있을 때)

이메일, 전화번호, 실명 등 민감한 개인정보는 수집하지 않습니다.

### 아동용 앱에서 사용할 수 있나요?

조건부로 가능합니다. 아동 보호법(COPPA 등)을 준수해야 하므로:

* 광고 ID 수집 비활성화
* 타겟팅 광고 비활성화
* 별도 설정 필요

자세한 내용은 <contact@1self.world>로 문의하세요.

## 비용과 계약

### SDK 사용 비용이 있나요?

SDK 자체는 무료입니다. 광고 매출에서 수수료를 가져가는 레버뉴 쉐어 모델입니다.

### 최소 계약 기간이 있나요?

없습니다. 언제든지 SDK를 제거할 수 있습니다.

### 정산은 어떻게 되나요?

월 단위로 정산합니다. 자세한 정산 조건은 계약 시 논의합니다.

## 업데이트와 지원

### SDK 업데이트는 어떻게 하나요?

```bash
npm update @1selfworld/adchain-sdk-core-react-native
```

업데이트 후 iOS는 `cd ios && pod install`로 동기화하세요.

자세한 내용은 [릴리스 노트](/undefined-6/release-notes.md)를 참고하세요.

### Breaking Change가 있나요?

현재까지는 없습니다. 모든 업데이트가 하위 호환됩니다. 만약 Breaking Change가 생기면 충분한 마이그레이션 기간을 드립니다.

### 기술 지원은 어떻게 받나요?

* **이메일**: <contact@1self.world>
* **긴급 문의**: 계약 시 별도 채널 제공

### 새 기능 요청을 할 수 있나요?

물론입니다! <contact@1self.world>로 제안해주세요. 많은 분들이 원하는 기능은 우선순위를 높여서 개발합니다.

## 기타

### 다른 오퍼월 SDK와 같이 쓸 수 있나요?

기술적으로는 가능하지만 권장하지 않습니다:

* 사용자 혼란
* 포인트 시스템 충돌 가능성
* 광고 중복 노출

꼭 필요하다면 별도로 상담해주세요.

### 커스텀 UI를 만들 수 있나요?

현재는 WebView 기반 오퍼월만 제공합니다. 네이티브 UI는 향후 업데이트에서 고려 중입니다.

### 소스 코드를 볼 수 있나요?

SDK는 오픈소스가 아닙니다. 샘플 프로젝트는 준비 중입니다.

***

**여기 없는 질문이 있으신가요?**

<contact@1self.world>로 문의해주시면 FAQ에 추가하겠습니다.


---

# 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-6/faq.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.
