2014-07-17 8 views
1

iPhone에 iAd를 사용하여 삽입 광고를 표시하는 방법에는 두 가지 옵션이 있습니다. 삽입 광고에 대한 문서는 오래된이지만, iAds Additions Reference 하나를 설정하기 위해 수행하는 데 필요한 모든에 따라 수 있습니다 :iPhone에 iAd를 사용하는 삽입 광고

[UIViewController prepareInterstitialAds]; 
[self setInterstitialPresentationPolicy:ADInterstitialPresentationPolicyManual]; 

다음 :

때마다 (부울 성공하는 경우를 반환)
[self requestInterstitialAdPresentation] 

광고를 게재하고 싶습니다. 그런 다음

ADInterstitialAd *interstitial; 

:

다른 옵션은 수동으로 삽입 광고 개체를 만드는 것입니다

interstitial = [[ADInterstitialAd alloc] init]; 
interstitial.delegate = self; 

을 그리고 당신은 광고를 표시 할 때 : 그러나

if (interstitial.isLoaded) { 
    [interstitial presentFromViewController:self]; 
} 

을 PresentViewController : deprecated이며 presentInView를 사용합니다. self.view는 광고에 닫기 버튼이 없음을 나타냅니다. 컴파일러는 requestInterstitalAdPresentation을 제안합니다.

따라서 선호하는 방법은 옵션 1이라고 가정합니다. 나는 2의 조합을 사용하기 때문에 this question에 대한 대답으로 약간 혼란 스럽지만 requestInterstitalAdPresentation이 ADInterstitialAd 인스턴스의 대리자 메소드를 트리거하지 않으며 두 가지 모두를 사용하는 것이 무의미한 것처럼 보입니다.

제 질문은 - 첫 번째 접근 방식이 실제로 충분합니까? 하나의 광고 만 표시하고 더 이상 표시하지 않는 것으로 나타났습니다. 다른 질문에서 ADInterstitialAd 인스턴스를 새 광고를 요청하기 위해 nil에 할당해야하지만 requestInterstitialAdPresentation은이 인스턴스를 무시합니다. requestInterstitialAdPresentation은 낮은 유효 노출 률만을 시뮬레이션합니까? 아니면 단계가 빠졌습니까?

답변

2

사과로 인해 지연이 구현되어 광고 1 개만 게재됩니다. 그들이 다음 광고를 제공하기까지 2 ~ 3 분 정도 기다려야합니다.

구현시 사용자가 광고에서 돌아올 때 새로운 메소드가 view 컨트롤러에서 viewDidAppear을 호출합니다. 당신은 여기 내 구현을보실 수 있습니다

... https://stackoverflow.com/a/27536872/3489816

그래서 귀하의 질문에 대답 할 수는 - 네, 첫 번째 방법은 충분하다. 광고가 더 많이 표시되지만 조금 기다려야합니다. AdInterstitialAd를 더 이상 사용하면 안되므로 걱정하지 마세요. 낮은 유효 노출 률을 시뮬레이션하지 않습니다. 나는 네가 아무것도 놓치고 있다고 생각하지 않는다 ... 우리는 단지 우리가 기다려야한다고 결코 말하지 않았다 :)

사이드 노트 ...interstitialPresentationPolicy를 설정해도 prepareInterstitialAds와 마찬가지로 귀하의 첫 번째 광고가 요청됩니다.

0

당신이 묘사하는 첫 번째 방법은 내가 지금 막 작동하고있는 것이고 새로운 광고를 생성합니다. 광 고라 돌연변이를 표시 할 때마다

[self requestInterstitialAdPresentation] 

으로 전화해야합니다. 광고가 항상 표시되는 것은 아니므로 iPhone 개발자 설정이이 문제를 악화시킬 수 있습니다.

이 작업을 수행하고 완료를 기다리는 코드가 있습니다. here.