> 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/undefined-2/extra-guide/undefined-4/ios.md).

# 카카오 앱전환 iOS

해당 상품을 연동하려 할 때에는 애드팝콘 SSP 사업팀 (monetize\@adpopcorn.com)으로 먼저 연락 부탁드립니다

### Overview <a href="#overview" id="overview"></a>

* 아이패드 환경은 지원하지 않습니다.
* 팝업 광고를 노출 시킬 때, 가로모드 상태일 경우, 광고가 노출되지 않습니다.
* 팝업 광고가 노출된 상황에서, 가로모드로 전환할 수 없습니다.

### 1. 광고 노출하기 <a href="#id-1-ea-b4-91-ea-b3-a0-eb-85-b8-ec-b6-9c-ed-95-98-ea-b8-b0" id="id-1-ea-b4-91-ea-b3-a0-eb-85-b8-ec-b6-9c-ed-95-98-ea-b8-b0"></a>

* Swift

```
import UIKit
import AdFitSDK


class MyViewController: UIViewController, SuperboardPopUpDelegate {
    private let adFitPopUp = SuperboardPopUp(adUnitId: "광고단위를 입력해주세요.")


    override func viewDidLoad() {
        super.viewDidLoad()
        adFitPopUp.delegate = self
        adFitPopUp.present()
        // adFitPopUp.present(self)
        // ㄴ prsent를 실행할 rootViewController를 직접 지정하고 싶을 때
    }
}
```

SuperboardPopUp 객체를 생성 후, present function 호출을 통해 광고를 노출합니다. keyWindow의 rootViewController를 기준으로, 광고뷰를 가지고 있는 UIViewController가 present 됩니다. 직접 노출되기를 원하는 UIViewController를 인자로 넣어줄 경우, 해당 UIViewController 상위에 노출됩니다.

### 2. 팝업 속성 설정 <a href="#id-2-ed-8c-9d-ec-97-85-ec-86-8d-ec-84-b1-ec-84-a4-ec-a0-95" id="id-2-ed-8c-9d-ec-97-85-ec-86-8d-ec-84-b1-ec-84-a4-ec-a0-95"></a>

#### delegate <a href="#id-1-delegate" id="id-1-delegate"></a>

팝업 광고로부터 발생하는 특정 이벤트를 감지하기 위해, `delegate` 프로퍼티를 활용할 수 있습니다. `SuperboardPopUpDelegate` 프로토콜을 구현한 클래스의 객체를 `delegate` 프로퍼티에 할당해 주면 됩니다. 자세한 사항은 **3. delegate 메서드 구현** 항목을 참고해 주세요.

### 3. delegate 메서드 구현 <a href="#id-3-delegate-eb-a9-94-ec-84-9c-eb-93-9c-ea-b5-ac-ed-98-84" id="id-3-delegate-eb-a9-94-ec-84-9c-eb-93-9c-ea-b5-ac-ed-98-84"></a>

* `SuperboardPopUpDelegate` 프로토콜을 구현함으로써 광고로부터 발생하는 특정 이벤트를 감지할 수 있습니다. 광고를 정상적으로 받은 경우, 광고를 받지 못한 경우, 광고가 클릭된 경우, 광고 VC가 ‘닫기’ 또는 ‘오늘만그만보기’ 버튼을 탭한 경우에 대한 delegate 메서드를 제공합니다.
* Swift

```
// 광고 응답이 성공한 경우
func adViewDidReceiveAd() {
    print("didReceiveAd")
}
    
// 광고 응답이 실패한 경우
func adViewDidFailToReceiveAd(error: Error) {
    print("didFailToReceiveAd - error :\(error.localizedDescription)")
}
    
// 광고를 탭한 경우
func adViewDidClickAd() {
    print("didClickAd")
}


// 닫기 버튼을 탭한 경우
func adViewControllerClickClose() {
    print("adViewControllerWillDismiss")
}


// 오늘만 그만보기 버튼을 탭한 경우
func adViewControllerClickHideForToday() {
    print("adViewControllerClickHideForToday")
}
```
