> For the complete documentation index, see [llms.txt](https://adpopcornssp.gitbook.io/ssp-sdk/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://adpopcornssp.gitbook.io/ssp-sdk/sdk/unity/unity-ios/unity-plugin-1.x.x/undefined.md).

# 연동 기본 설정

## 1. 미디에이션 설정

애드팝콘에서는 2가지 형태의 미디에이션을 지원합니다. 하나의 방식을 선택하여 연동 진행해 주세요.

* 애드팝콘 미디에이션

{% content-ref url="/pages/KejKiXI82DKeJcvpTiNN" %}
[Unity Plugin 1.x.x (구버전)](/ssp-sdk/undefined-1/ap/ap-unity-ios/unity-plugin-1.x.x.md)
{% endcontent-ref %}

* Max 미디에이션(Beta) : 사용하고자 할 경우 사업팀에 문의 하세요

{% content-ref url="/pages/ARuk3HlaDOTgPx4jlHFt" %}
[Unity Plugin 1.x.x (구버전)](/ssp-sdk/undefined-1/max-beta/max-beta-unity-ios/unity-plugin-1.x.x.md)
{% endcontent-ref %}

## 2. 코드 연동

### 1) IDFA 설정

Adsupport Framework를 Dependencies에 추가합니다.

{% hint style="warning" %}
AdSupport Framework가 추가되지 않으면 애드팝콘 SSP 서비스가 정상 동작 하지 않습니다.
{% endhint %}

{% hint style="warning" %}
iOS 14 버전의 사용자에게는 AdSupport Framework 추가 이외에 아래의 연동을 통해 수집 동의를 받아야 합니다.
{% endhint %}

1. App Tracking Transparency framework를 Dependencies에 추가합니다.
2. 앱 추적 투명성 승인 요청

IDFA에 액세스하기 위한 앱 추적 투명성 승인 요청을 표시하려면 Info.plist을 업데이트하여 사용을 설명하는 맞춤 메시지와 함께 <mark style="color:red;">`NSUserTrackingUsageDescription`</mark> 키를 추가합니다. 다음은 설명 텍스트의 예입니다.

This identifier will be used to deliver personalized ads to you.

<figure><img src="/files/v6mzEUh64bC82OMZfcOB" alt=""><figcaption></figcaption></figure>

위 설정 후, 다음과 같이 코드에서 <mark style="color:red;">`requestTrackingAuthorizationWithCompletionHandler:`</mark>를 호출하여 승인 요청을 합니다. 승인 요청할 경우 아래와 같은 동의 팝업이 노출되게 됩니다.

<figure><img src="/files/gTuHvA04dWjLklvtQTt4" alt=""><figcaption></figcaption></figure>

승인 여부에 대한 결과 값을 받은 후, 광고 로드를 시작하여야 애드팝콘 SDK에서 IDFA를 사용할 수 있습니다. 이에 해당 API는 광고 요청 전에 반드시 마무리 되어야 합니다. 아래 코드를 Xcode 내에서 설정하여 사용하시기 바랍니다.

{% code title="Objective-C" %}

```swift
#import <AppTrackingTransparency/AppTrackingTransparency.h>
#import <AdSupport/AdSupport.h>
...
- (void)requestIDFA {
  [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
    // Tracking authorization completed. Start loading ads here.    
  }];
}
```

{% endcode %}

### 2) 로그 수준 설정

SDK에서 노출하는 로그의 수준을 설정할 수 있습니다.

setLogLevel API를 이용하여 설정하며 수준을 결정하는 값은 AdPopcornSSPPluginIOS 에 정의된 enum을 사용하며 각 수준은 다음과 같습니다.

<table><thead><tr><th width="256">enum</th><th>설명</th></tr></thead><tbody><tr><td>AdPopcornSSPLogInfo </td><td>info 수준의 가장 기본적인 로그 만을 노출합니다.</td></tr><tr><td>AdPopcornSSPLogDebug </td><td>info를 포함한 Debug 수준의 로그를 노출합니다.</td></tr><tr><td>AdPopcornSSPLogTrace </td><td>모든 로그를 노출합니다.</td></tr></tbody></table>

{% code title="C#" %}

```csharp
AdPopcornSSPPluginIOS.SetLogLevel(AdPopcornSSPPluginIOS.AdPopcornSSPLogDebug);
```

{% endcode %}

### 3) 델리게이트 설정

각 광고 타입별 델리게이트가 정상적으로 동작하기 위해서는 아래의 내용이 필수로 설정되어 있어야 합니다.

* <mark style="color:red;">GameObject의 이름을 제대로 넘겨주는지 확인</mark>
  * AdPopcornSSPPluginIOS.AdPopcornSSPSetCallbackHandler("AdPopcornSSPSample");
* <mark style="color:red;">GameObject에 이용하려는 서비스 plugin파일을 추가 했는지 확인</mark>
  * SSP 관련 delegate를 이용하려면 Plugins/IOS 폴더 밑에 있는 AdPopcornSSPPluginIOS.cs 파일을 GameObject에 추가했는지 확인 필요

위 2가지 사항을 적용한 예시는 아래 스크린샷의 하이라이트 처리 된 부분을 참고 부탁 드립니다.

<figure><img src="/files/XJJ5WVIkTco83YiUboGA" alt=""><figcaption></figcaption></figure>

### 4) SDK 초기화

API를 어플리케이션 실행 후 최대한 빠르게호출하여 SDK를 초기화합니다.

{% code title="C#" %}

```csharp
void Start (){	
    AdPopcornSSPPluginIOS.Initialize("your_app_key");
}
```

{% endcode %}

{% hint style="warning" %}
인 앱 비딩을 사용하는 매체의 경우 아래 init API를 사용해, 초기화를 진행해 주어야 합니다.&#x20;

그렇지 않을 경우, 인 앱 비딩을 사용하는 placement 지면에 대한 업데이트가 이루어지지 않아, 인 앱 비딩이 동작하지 않습니다.
{% endhint %}

{% code title="C#" %}

```csharp
public class AdPopcornSSPSampleScene : MonoBehaviour
{
	void Start (){
	
	    // 델리게이트 등록	
	    AdPopcornSSPPluginIOS.AdPopcornSSPSetCallbackHandler("AdPopcornSSPSampleScene ");	    
	    AdPopcornSSPPluginIOS.sspSdkInitialized += HandleSSPSDKInitialized;
            AdPopcornSSPPluginIOS.Initialize("your_app_key");
	}
	
	public void HandleSSPSDKInitialized()
	{
	}
}
```

{% endcode %}

### 5) GDPR 설정

EU의 GDPR (General Data protection Regulation) 법안에 대응하기 위해 아래 API를 추가 합니다.

GDPR 동의 여부 세팅을 위해 아래의 API가 추가 되었습니다. 기본 값은 <mark style="color:red;">True</mark>이고 GDPR 동의가 필요한 유저에 한해 아래 API를 호출하시기 바랍니다.

```csharp
AdPopcornSSPPluginIOS.GdprConsentAvailable(false);
```

### 6) COPPA 설정

COPPA 대응을위해 아래의 API가 추가 되었습니다. 기본 값은 <mark style="color:red;">false</mark> 이고 COPPA에 따라 콘텐츠를 아동 대상으로 지정하려면 아래 API를 이용하여 true로 설정해 주세요

```csharp
AdPopcornSSPPluginIOS.TagForChildDirectedTreatment(true);
```

* google families policy : <https://play.google.com/about/families/#!?zippy_activeEl=designed-for-families#designed-for-families>
* coppa : <https://www.ftc.gov/tips-advice/business-center/privacy-and-security/children's-privacy>
