# 매일 미션

매일 미션은 [<mark style="color:orange;">\[Client Admin\]</mark>](https://client-admin.bleepy.io/)에서 프로모션 등록 시 설정할 수 있는 게임 미션입니다.&#x20;

유저가 매일 참여 할 수 있는 미션은 <mark style="color:blue;">`Action/Timer`</mark> 2가지 타입으로 구분되며, 미션 참여를 위해서 이동될 화면 링크를 설정할 수 있습니다.&#x20;

***

## Timer 미션

Timer 미션은 App/Web 서비스 도메인의 환경에 따라 차이가 있습니다. 아래 버전 별 가이드를 참고해주세요.

### App 버전

프로모션 설정 시 Timer 미션을 적용할 화면의 앱 내 이동 링크(딥링크)를 지정합니다.\
블리피에서 제공하는 Timer UI 사용을 위해 화면 내에 <mark style="color:blue;">`WebView`</mark> 를 선언하고 <mark style="color:blue;">`Timer URL`</mark> 을 로드해주세요.\
Timer는 프로모션 내 미션 생성 시 설정한 수행시간만큼 동작하고, 사용자가 해당 시간만큼 체류하게 되면 Timer는 자동으로 미션 완료 여부를 블리피 내 API 서버로 전송합니다.

**Timer URL 정보**

* <mark style="color:blue;">런처 호출 URL</mark>/timer?platform={platform}\&placement={placement}
* 위치는 자사 내에서 협의 후 적절한 위치를 정하는걸 추천드립니다.
* 추천 사이즈는 <mark style="color:blue;">`width`</mark> 100%, <mark style="color:blue;">`height`</mark> 30px을 권장합니다.
* 기본 정렬은 왼쪽 정렬이지만, <mark style="color:blue;">`placement`</mark> 옵션을 사용하면 좌/우 정렬 변경이 가능합니다.

<table><thead><tr><th width="152">Key</th><th width="112">Required</th><th>Description</th></tr></thead><tbody><tr><td><mark style="color:orange;"><code>platform</code></mark></td><td>required</td><td><p></p><p>Timer 미션 완료 시 이벤트를 전달을 위해 사용</p><ul><li>android</li><li>ios</li><li>reactNative</li><li>flutter</li></ul></td></tr><tr><td><mark style="color:orange;"><code>placement</code></mark></td><td>optional</td><td><p></p><p>Timer UI 좌/우 배치 변경</p><ul><li>left</li><li>right (default)</li></ul></td></tr></tbody></table>

### Web 버전

Web 기반의 서비스를 사용중인 클라이언트는 프로모션 등록 시 Timer 미션을 적용할 Web 도메인 링크를 이동 링크에 입력합니다.

Web 버전의 경우 블리피 런처에서 자동으로 Timer UI를 실행하기에 위치 등의 커스텀에 제한이 있는점을 참고해주세요.

***

## Action 미션

Action 미션은 App/Web 서비스 도메인의 환경에 따라 차이가 있습니다. 아래 버전 별 가이드를 참고해주세요.

### App 버전

프로모션 설정 시 Action 미션을 적용할 화면의 앱 내 이동 링크(딥링크)를 지정합니다. \
미션을 수행할 앱 내 화면으로 이동 후, 유저가 해당 미션을 완료하는 시점에 블리피 <mark style="color:blue;">`Open REST API`</mark> 를 호출하여 미션의 완료를 전달해야 합니다. 이 경우 <mark style="color:blue;">`Server To Server`</mark> 구조로 진행하는걸 추천드립니다.

{% hint style="warning" %}
API 연동을 위해서는 REST API 메뉴를 참고해주시기 바랍니다.
{% endhint %}

Action 미션 완료 요청에는 <mark style="color:blue;">`actionMissionCode`</mark> 값이 필수로 필요합니다.

* 프로모션 설정 시 이동링크 딥링크에 <mark style="color:blue;">`queryString`</mark> 형태로 <mark style="color:blue;">`?actionMissionCode={actionMissionCode}`</mark> 구문을 필수로 붙여주세요.
* 런처는 딥링크 호출 시 <mark style="color:blue;">`{actionMissionCode}`</mark> 구문을 실제 미션코드 값으로 치환하여 전달합니다.
* 클라이언트는 딥링크에서 전달되는 <mark style="color:blue;">`actionMissionCode`</mark> 값을 블리피 <mark style="color:blue;">`Open REST API`</mark> 요청 시 사용해주세요.

```
// scheme: bleepy / host: event
딥링크 예시 => bleepy://event?actionMissionCode={actionMissionCode}
```

### Web 버전

App 버전과 개발 프로세스는 동일하나 Web 버전의 경우 이동링크 설정 시 딥링크가 아닌 이동하고자 하는 Web 서비스 도메인 링크를 입력하시면 됩니다.

{% hint style="info" %}
개발에 대한 추가 설명이 더 필요하신가요?

"[<mark style="color:orange;">\[Client Admin\]</mark>](https://client-admin.bleepy.io/login) 로그인 → 오른쪽 하단 채널톡 위젯" 클릭 후 개발 카테고리에 문의 남겨주시면 기술 개발팀에서 확인 후 연락드리겠습니다.
{% endhint %}


---

# 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://bleepy.gitbook.io/bleepy-developers/game-promotion/addon/daily-mission.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.
