# 보상형 광고 플러스 연동(1.0)

보상형

{% hint style="info" %}
보상형 광고 플러스는 ios v2.8.0 이상의 버전부터 지원합니다.&#x20;

보상형 광고 플러스 사용을 위해서는 리워드 비디오 광고가 먼저 연동 되어야 합니다.
{% endhint %}

## 1. 유저 식별값(USN) 입력

리워드 비디오 내 보상형 광고 플러스 기능을 활성화 및 활용하기 위해서는 반드시 유저의 식별값이 지정되어야 합니다.

유저 식별값은 리워드 비디오 시청 완료 시 완료 유저를 식별하기 위해 사용되는 값입니다.

{% hint style="warning" %} <mark style="color:red;">**주의사항**</mark>

1. 1명의 유저는 1개의 고유한 유저식별값을 가져야하며, 가변적인 값을 사용해서는 안됩니다.
2. 개인정보(이메일, 이름, 전화번호, 식별가능한 유저아이디 등)이 포함되어서는 안됩니다.
3. 한글, 특수문자, 공백 등이 포함된 경우에는 반드시 URL 인코딩 처리를 하여 사용하여야 합니다.
4. 유저가 비디오 load/show API를 호출하기 전에 설정되어야 합니다.
5. <mark style="color:red;">**개발 서버에서 사용한 특정 USN값을 라이브 서버에서 유저가 할당받지 않도록 예외 처리를 하거나, 개발 서버에서 사용하는 USN은 별도 구분값을 설정해주셔야 합니다.**</mark>
   {% endhint %}

위 주의사항에 유의하여 유저 식별값을 입력합니다.

{% tabs %}
{% tab title="Objective-C" %}

```objectivec
[AdPopcornSSP.setUserId:@"TEST_USN"];
```

{% endtab %}

{% tab title="Swift" %}

```swift
AdPopcornSSP.setUserId("TEST_USN")
```

{% endtab %}
{% endtabs %}

## 2. 보상형 광고 플러스 세팅 페이지 연동

유저의 CS 문의 및 유저의 현재 리워드 참여 횟수 확인을 위해서는 세팅 페이지 연동이 반드시 필요합니다.

유저의 보상형 광고 플러스 세팅 내용은 아래 API를 통해 확인 가능합니다.&#x20;

{% tabs %}
{% tab title="Objective-C" %}
{% code overflow="wrap" %}

```objectivec
[AdPopcornSSP openRewardPlusSettingViewController:@"your_app_key" viewCotroller:self];
```

{% endcode %}
{% endtab %}

{% tab title="Swift" %}

```swift
AdPopcornSSP.openRewardPlusSettingViewController("your_app_key" viewCotroller:self)
```

{% endtab %}
{% endtabs %}

<figure><img src="https://50533756-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqmkw7pJLtjFGD5fwChbN%2Fuploads%2FI6rssieAY0hmDKDlkYKA%2Fimage.png?alt=media&#x26;token=de1ca7d8-54b5-4645-8d1f-9769f3c542ed" alt=""><figcaption><p>보상형 광고 플러스 세팅 페이지 예시</p></figcaption></figure>

## 3. 보상형 광고 플러스 세팅 정보 조회

현재 유저의 세팅 정보를 직접 조회하고자 할 땐, 아래의 API를 활용 가능합니다.

{% tabs %}
{% tab title="Objective-C" %}

<pre class="language-objectivec"><code class="lang-objectivec">@interface AdViewController() &#x3C;APSSPRewardPlusSettingDelegate>	
{										
    				
} 										
@end

@implementation AdViewController() 					
<strong>    - (void) viewDidLoad									
</strong>    {										
        [AdPopcornSSP sharedInstance].rewardPlusDelegate = self;
        [AdPopcornSSP getRewardPlusUserSetting:@"62198111"];    
    } 
@end

#pragma mark - APSSPRewardPlusSettingDelegate
- (void)APSSPRewardPlusSettingInfo:(NSString *)connectedId dailyUserLimit:(int)dailyUserLimit dailyUserCount:(int)dailyUserCount
{
}		
</code></pre>

{% endtab %}

{% tab title="Swift" %}

```swift
class AdViewController: UIViewController, APSSPRewardPlusSettingDelegate
{
    override func viewDidLoad() {
        super.viewDidLoad()
        AdPopcornSSP.sharedInstance().rewardPlusDelegate = self;
        AdPopcornSSP.getRewardPlusUserSetting("62198111")            
    }	    
    
    func apsspRewardPlusSettingInfo(_ connectedId: String!, dailyUserLimit: Int32, dailyUserCount: Int32) {
    
    }
}
```

{% endtab %}
{% endtabs %}

위 API를 호출할 경우, APSSPRewardPlusSettingDelegate 를 통해, 아래의 정보가 내려옵니다.

* connectedId : 연결된 Npay ID
* dailyUserLimit : 유저별 일 한도
* dailyUserCount : 일별 유저 참여 횟수
