# Unity 플러그인 연동

## 1. 플러그인 설치 (AOS/IOS 공통 설정)

### 1.1 유니티 패키지 다운로드

유니티 플러그인 패키지(`RW.EDM.unitypackage`)를 다운로드 해주세요. [패키지 다운로드](https://github.com/WisetrackerTechteam/RW-unity-package)

### 1.2 패키지 임포트

Unity Tools에서 Assets -> Import Package -> Custom Package 메뉴 선택 -> 다운로드 받은 `RW.EDM.unitypackage` 파일을 선택해 주세요.

![](https://423922975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M_ZKcnBFmefw9Yfed6b-3102695190%2Fuploads%2FMrK9IroUpKCAFM7wVY3p%2Fimage.png?alt=media\&token=4010f9b9-aa85-49ff-b6c2-4962a8e4f98e)

### 1.3 External Dependency Manager 실행

Unity Tools에서 Assets -> External Dependency Manager -> iOS Resolver, Android Resolver 를 통해서 \
Unity 플러그인이 필요로하는 라이브러리를 다운로드 합니다.&#x20;

![](https://423922975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M_ZKcnBFmefw9Yfed6b-3102695190%2Fuploads%2FMPpHk0PGJt13CVKGw44J%2Fimage.png?alt=media\&token=11704b31-d6ef-4b00-901a-ba6bc567c9d5)

## 2. Android 설정

### 2.1 Main Activity 변경&#x20;

Assets/Plugins/Android/AndroidManifest.xml 파일에서 \
아래와 같이 android.intent.action.MAIN 인텐트 필터가 선언된 엘리먼트의 \
android:name 정보를 com.sdk.wisetracker.unity.UnityHelper 로 변경합니다.

```xml
<activity android:name="com.sdk.wisetracker.unity.UnityHelper"
          android:theme="@style/UnityThemeSelector">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
```

### 2.2 AuthorizationKey 설정

`Assets/Plugins/Android/AndroidManifest.xml` 파일에 제공받은 \
`App Analytics Key` 정보를 추가해 주세요.

```markup
<!-- Wisetracker Key -->
<meta-data android:name="useMode" android:value="1"/>
<meta-data android:name="serviceNumber" android:value="{YOUR_SERVICE_NO}}"/>
<meta-data android:name="expireDate" android:value="14"/>
<meta-data android:name="isDebug" android:value="true"/>
<meta-data android:name="isInstallRetention" android:value="true"/>
<meta-data android:name="isFingerPrint" android:value="true"/>
<meta-data android:name="accessToken" android:value=""/>
```

### 2.2 유입 경로 분석

#### 2.2.1 딥링크 분석

`딥링크`를 통해 앱이 실행되는 `경로 분석`이 필요한 경우 적용해 주세요.

**딥링크 설정**

`Assets/Plugins/Android/AndroidManifest.xml` 파일에서 앱의 환경에 맞춰 `android:host`, `android:scheme` 값을 변경해 주세요.

```markup
<!--  예시는 wisetracker://wisetracker.co.kr 링크로 진입시 딥링크 분석이 가능 -->
<activity android:name="com.sdk.wisetracker.unity.DeepLinkActivity"
          android:launchMode="singleTop"
          android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
          <!-- 딥링크로 진입될 스키마와 호스트 정보 수정 -->
        <data android:host="wisetracker.co.kr"
              android:scheme="wisetracker" />
    </intent-filter>
</activity>
```

## 3. iOS 설정

### 3.1 Xcode 프로젝트 빌드

Unity IDE 에서 아래의 화면과 같이 iOS 프로젝트를 빌드합니다.

![](https://423922975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M_ZKcnBFmefw9Yfed6b-3102695190%2Fuploads%2FTE0QpNZbZcjpzUaP1w0d%2Fimage.png?alt=media\&token=07bb0160-07bf-4594-91fd-81588044e241)

생성된 Xcode 프로젝트를 실행하면 다음과 같이 SDK 와 관련된 라이브러리가 프로젝트에 포함됨을 확인할 수 있습니다.&#x20;

![](https://423922975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M_ZKcnBFmefw9Yfed6b-3102695190%2Fuploads%2Fe4aUxT2ozQI90lOjhY9F%2Fimage.png?alt=media\&token=34ddfc90-247c-4376-96cf-061542a98fe8)

### 3.2 Other Linker Flag -ObjC 옵션 추가

**Tagets - Build Settings - Other Linker Flags**에 **-ObjC** 옵션을 추가합니다.

<div align="left"><img src="https://423922975-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M_ZKcnBFmefw9Yfed6b%2F-M_dVx3LsbJxsn3PpqYl%2F-M_dWoI6fmdjZBleB3je%2Funity_otherLinker.png?alt=media&#x26;token=3af34b2d-7813-4fab-85fc-87249113497e" alt=""></div>

### 3.3 info.plist 세팅

info.plist 파일을 **Open As Source Code** 방식으로 오픈한 후, 아래 코드를 추가합니다.

```markup
<key>dotAuthorizationKey</key>
<dict>
    <key>serviceNumber</key>
    <string>xxxxx</string>
    <key>expireDate</key>
    <string>14</string>
    <key>isDebug</key>
    <string>true</string>
    <key>isInstallRetention</key>
    <string>true</string>
    <key>isFingerPrint</key>
    <string>true</string>
    <key>accessToken</key>
    <string></string>
    <key>useMode</key>
    <string>2</string>
</dict>
```

추가한 코드 중 `serviceNumber`의 value를 올바른 값으로 변경해야 합니다.&#x20;

[<mark style="color:blue;">와이즈트래커 대시보드</mark>](https://analytics.wisetracker.co.kr/)에 로그인하여 설정 > 서비스설정 메뉴에서 '<mark style="color:red;">`서비스번호`</mark>' 항목에 기재된 숫자를 확인 후 복사하여 serviceNumber 값을 변경 해 주세요.

<figure><img src="https://423922975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M_ZKcnBFmefw9Yfed6b-3102695190%2Fuploads%2FynGOCoLznGiIEUcDoDLw%2Fimage.png?alt=media&#x26;token=9073d634-80e5-4fc4-ab44-840a44149490" alt=""><figcaption><p>서비스번호 확인</p></figcaption></figure>

http통신을 허용하기 위해 NSAppTransportSecurity 를 아래와 같이 추가합니다

```markup
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
```

### 3.4 유입 경로 분석

#### 3.4.1 딥링크 분석

`딥링크`를 통해 앱이 실행되는 `경로 분석`이 필요한 경우 적용해 주세요\
Xcode 프로젝트의 아래의 화면에서 설정이 가능합니다. &#x20;

![](https://423922975-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M_ZKcnBFmefw9Yfed6b-3102695190%2Fuploads%2FsJu6ew1XVVkwBLugJPWa%2Fimage.png?alt=media\&token=f1391393-72e4-4d38-a6a2-73f39369cf2d)
