> For the complete documentation index, see [llms.txt](https://onestore-dev.gitbook.io/dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://onestore-dev.gitbook.io/dev/tools/web-sdk/ov.md).

# 01. 원스토어 H5 Game SDK 개요

#### **원스토어 H5 Game SDK란?**

원스토어 H5 Game SDK는 HTML5 게임을 원스토어 앱 내 웹뷰 환경에서 서비스하기 위해 게임 개발사가 연동해야 하는 JavaScript SDK입니다.

SDK는 게임 페이지에 JavaScript 모듈(ESM)로 로드하며, 원스토어 앱과의 통신을 대행합니다. 게임은 SDK 외의 방법으로 앱과 직접 통신할 수 없습니다.

#### **가이드의 범위**

<table><thead><tr><th width="180">영역</th><th>내용</th><th width="220">관련 페이지</th></tr></thead><tbody><tr><td>Lifecycle</td><td>초기화 · 로딩 · 시작 · 일시정지 · 종료</td><td><a href="https://onestore-dev.gitbook.io/dev/tools/web-sdk/lifecycle">03. Lifecycle 관리</a></td></tr><tr><td>인앱 광고</td><td>리워드 광고 · 전면 광고</td><td><a href="https://onestore-dev.gitbook.io/dev/tools/web-sdk/iaa">04. 인앱 광고 (IAA)</a></td></tr><tr><td>인앱 결제</td><td>관리형 상품 구매/결제</td><td><a href="https://onestore-dev.gitbook.io/dev/tools/web-sdk/iap">05. 인앱 결제 (IAP)</a></td></tr><tr><td>상품 정보 조회</td><td>인앱 상품의 상품명 · 가격 조회</td><td><a href="https://onestore-dev.gitbook.io/dev/tools/web-sdk/iap">05. 인앱 결제 (IAP)</a></td></tr></tbody></table>

#### **SDK 로드 구조**

SDK 파일은 원스토어의 CDN 경로에서 로드합니다.

```javascript
// 게임 문서 최상위에서, 게임 코드보다 먼저 로드합니다. (type="module" 스크립트)
import { createSDK } from "https://h5sdk.onestore.net/lib/{{version}}/onestore-h5-sdk.js";

var sdk = createSDK();
```

`{{version}}` 자리에 넣을 버전은 [08. 릴리즈 노트](https://onestore-dev.gitbook.io/dev/tools/web-sdk/releasenote)에서 확인하시기 바랍니다.

{% hint style="info" %}
SDK를 게임 코드보다 먼저 로드해야 합니다. SDK는 로드 즉시 호스팅 페이지와 연결을 수립하며, 이보다 늦게 로드되면 초기화 직후 도착하는 이벤트를 놓칠 수 있습니다.
{% endhint %}

게임 페이지는 원스토어 호스팅 페이지가 iframe으로 로드합니다. 게임사가 프레임 구성을 별도로 준비할 필요는 없으며, 앱과의 통신은 SDK가 호스팅 페이지를 통해 대행합니다.

{% hint style="warning" %}
단, SDK를 호출하는 스크립트는 **게임 문서의 최상위**에 두십시오. 게임 페이지가 자체적으로 만든 하위 iframe 안에서는 SDK 초기화가 실패합니다.
{% endhint %}

#### **오류 전달 방식**

SDK가 게임에 전달하는 오류는 `e.reason`(분기용 사유 문자열)과 `e.message`(로그용 문구) 두 가지 값을 갖습니다. **숫자 오류 코드는 전달되지 않습니다.**

API 종류별 오류 전달 형태와 전체 사유 목록은 [06. 오류 사유 (reason)](https://onestore-dev.gitbook.io/dev/tools/web-sdk/errors) 페이지를 참고하시기 바랍니다.
