# React Native SDK

## 1. SDK 추가하기

프로젝트 루트 디렉토리에서 다음과 같이 marketap\_sdk를 설치합니다.

```sh
$ npm i react-native-marketap-sdk
```

또는 React Native 프로젝트의 `package.json` `dependencies`에 Marketap SDK를 직접 추가합니다.\
최신 버전은 아래 배지를 통해 확인 가능합니다.

<figure><img src="https://img.shields.io/npm/v/react-native-marketap-sdk" alt=""><figcaption></figcaption></figure>

```json
{
  "dependencies": {
    "react-native-marketap-sdk": "LATEST_VERSION"
  }
}
```

추가 완료 후 다음과 같이 초기화 코드를 작성해줍니다. [프로젝트 ID ](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/sdk-integrating/initialize/broken-reference)는 마켓탭 콘솔의 프로젝트 설정에서 확인 가능합니다.

```typescript
import React, {useEffect} from 'react';
import Marketap from 'react-native-marketap-sdk';

const PROJECT_KEY = 'YOUR_PROJECT_KEY';

export default function App() {
  useEffect(() => {
    const initialize = async () => {
        try {
          await Marketap.initialize(PROJECT_KEY);
        } catch (error) {
          console.error('Marketap setup failed:', error);
        }
      };

      initialize();
  }, []);

  return null;
}
```

{% hint style="success" %}
보유한 프로젝트의 Project ID 값은 [이 문서](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/getting-started/marketap-overview/project-setting)를 통해 확인이 가능합니다.
{% endhint %}

## 2. IOS 설정

SDK 설치 후 ios 디렉토리 경로에서 `pod install` 을 해주세요.

## 3. Android 설정

Marketap Android SDK는 [Jitpack](https://jitpack.io/)을 통해 배포되고 있습니다.  React Native 프로젝트의 android 디렉토리 최상단 build.gradle 파일에 아래 repository를 추가해주세요.

<pre class="language-kts"><code class="lang-kts">buildscript {
      repositories {
          google()
          mavenCentral()
<strong>          maven { url = uri("https://jitpack.io") }
</strong>      }
  }
</code></pre>

이어서, AndroidManifest.xml 파일에 아래 권한을 추가합니다. 해당 권한은 이벤트 및 유저정보 수집을 목적으로 합니다.

```xml
<uses-permission android:name="android.permission.INTERNET" />
```

## 4. 이어서 진행하기

아래 카드를 통해 React Native에 필요한 연동을 이어서 하실 수 있습니다. Marketap SDK가 권장하는 기능 연동 순서는 [functions](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/sdk-integrating/functions "mention") 페이지를 확인해주세요.

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>Event 및 User 연동</td><td><a href="../../taxonomy/sdk">sdk</a></td></tr><tr><td>Push Notification 연동</td><td><a href="../../push-notification/overview">overview</a></td></tr><tr><td>In-App Campaign</td><td><a href="../../in-app-message">in-app-message</a></td></tr><tr><td>심화 연동</td><td><a href="../../advanced-usage/overview">overview</a></td></tr></tbody></table>
