Межстраничные объявления iAds на iPhone?

Ранее мы с разработчиком пытались загружать межстраничные рекламные объявления на iPhone и iPad, однако им удалось добиться этой работы на iPad.

Во время нашего тестирования мы обнаружили, что межстраничные объявления не поддерживаются на iPhone, но с момента выпуска iOS7 некоторые люди говорят, что это возможно.

Однако я не могу найти достойную документацию по этому поводу. Этот вопрос с Stack заставил меня снова задаться вопросом, хотя iAd и Admob Interstitial Integration на iPhone

Таким образом, возможно использование межсетевых экранов на iPhone с помощью iAds?

Я также ожидал межстраничные объявления для iPhone от iAd. Я, наконец, реализовал его в одном из моих приложений, и он работает и показывает тестовые объявления. Приложение в настоящее время находится на рассмотрении, и я обновляю свой ответ после его утверждения, и я могу проверить, обслуживаются ли какие-либо фактические объявления. Тем временем, вот код, который я использовал для внедрения межсайтовых объявлений iAd:

ViewController.h

@interface ViewController : UIViewController  { ADInterstitialAd *interstitial; BOOL requestingAd; } -(void)showFullScreenAd; 

ViewController.m

 -(void)viewDidLoad { requestingAd = NO; } // Interstitial iAd -(void)showFullScreenAd { // Check if already requesting ad if (requestingAd == NO) { [ADInterstitialAd release]; interstitial = [[ADInterstitialAd alloc] init]; interstitial.delegate = self; self.interstitialPresentationPolicy = ADInterstitialPresentationPolicyManual; [self requestInterstitialAdPresentation]; NSLog(@"interstitialAdREQUEST"); requestingAd = YES; } } -(void)interstitialAd:(ADInterstitialAd *)interstitialAd didFailWithError:(NSError *)error { interstitial = nil; [interstitialAd release]; [ADInterstitialAd release]; requestingAd = NO; NSLog(@"interstitialAd didFailWithERROR"); NSLog(@"%@", error); } -(void)interstitialAdDidLoad:(ADInterstitialAd *)interstitialAd { NSLog(@"interstitialAdDidLOAD"); if (interstitialAd != nil && interstitial != nil && requestingAd == YES) { [interstitial presentFromViewController:self]; NSLog(@"interstitialAdDidPRESENT"); } } -(void)interstitialAdDidUnload:(ADInterstitialAd *)interstitialAd { interstitial = nil; [interstitialAd release]; [ADInterstitialAd release]; requestingAd = NO; NSLog(@"interstitialAdDidUNLOAD"); } -(void)interstitialAdActionDidFinish:(ADInterstitialAd *)interstitialAd { interstitial = nil; [interstitialAd release]; [ADInterstitialAd release]; requestingAd = NO; NSLog(@"interstitialAdDidFINISH"); } 

Я просто вызываю -(void)showFullScreenAd после того, как пользователь выполнит определенное действие. Для получения дополнительной информации см. Ссылку UIViewController iAd Additions

EDIT: 01/03/14 Обновление приложения было одобрено и уже 12 часов. На данный момент я до сих пор не получил никаких межсайтовых iAds. Это может быть из-за отсутствия инвентаря для межстраничных объявлений на iPhone или, возможно, что-то связано со следующим сообщением, которое я получил в моем модуле iAd в iTunes Connect. Сообщение читает

Когда вы отправляете свое приложение, [имя приложения] для утверждения, оно также будет проверено iAd для использования в сети приложений, чтобы определить его приемлемость для получения рекламы от рекламодателей iAd. Как только ваше приложение будет одобрено, вы будете готовы начать получать доход от рекламы, которая запускается в вашем приложении.

Я никогда не получал это сообщение раньше, я обычно получаю сообщение «Ваше приложение теперь имеет право на получение рекламы», как только обновление будет выпущено в App Store. Это либо из-за новой реализации межстраничных объявлений в моем приложении, либо Apple обновила некоторые из своих процедур iAd.

Будет обновлен ответ снова, если и когда я начну получать межстраничные iAds. Тем временем вы можете проверить его самостоятельно на моем приложении + Цитаты . Вышеупомянутый код вызывается, и рекламное объявление должно показывать, как только пользователь делится через Facebook в приложении.

EDIT: 01/07/14 Свяжитесь с iAd напрямую и получил ответ сегодня

Привет, Даниэль, Начальные ставки заполнения будут отражать недавний запуск межстраничных объявлений на iOS 7. Благодарим вас за терпение, пока мы расширяем показ рекламы. Если вы еще этого не сделали, мы рекомендуем вам интегрировать стандартные портреты и ландшафтные баннеры iAd в приложение, чтобы использовать все доступные типы рекламных ресурсов. Наконец, для дальнейшего использования, когда вы отправляете заявку на одобрение, она также будет проверена iAd, чтобы определить ее приемлемость для получения рекламы от рекламодателей iAd. Поэтому для вашего нового приложения, включенного iAd, может потребоваться несколько дней, чтобы начать получать показы объявлений. С наилучшими пожеланиями, поддержка приложений App Store iAd

Таким образом, межстраничные iAds для iPhone работают с iOS 7.0 и выше, но в настоящее время имеют низкую норму заполнения.

Мой первоначальный ответ начинает возрасти, так что вот новая реализация Swift:

Эта реализация использует ADInterstitialPresentationPolicy поэтому мы можем представить наши межстраничные объявления в наши собственные интервалы. При ручном представлении своего межстраничного объявления он не загружается с помощью своей кнопки закрытия, чтобы отклонить себя. Итак, что я сделал, создается UIView чтобы представить интерстициальный UIView и использовать методы делегата интерстиции для отклонения UIView . Несоответствие при получении объявления из сети iAd по-прежнему возникает при тестировании. Иногда вы получаете объявление, иногда оно не загружается, что позволяет нам запрашивать новое объявление, и иногда ничего не происходит вообще. Это похоже на природу междоузлий iAd.

 import UIKit import iAd // Import iAd class ViewController: UIViewController, ADInterstitialAdDelegate { // Include the delegate var iAdInterstitial = ADInterstitialAd() // Our ad var iAdInterstitialView = UIView() // View to present our ad in var adLoaded = false // Bool to keep track if an ad is loaded or not override func viewDidLoad() { super.viewDidLoad() setupAd() } func setupAd() { // Set presentation to manual so we can choose when to present the interstitial // Setting this will also fetch an interstitial ad for us self.interstitialPresentationPolicy = ADInterstitialPresentationPolicy.Manual iAdInterstitial.delegate = self // Set the delegate // Make our view the same size as the view we will be presenting in iAdInterstitialView.frame = self.view.bounds } func requestNewAd() { // This will fetch an ad for us ViewController.prepareInterstitialAds() println("Requesting new ad") } @IBAction func presentAdButton(sender: AnyObject) { if (adLoaded) { // We have an ad that is loaded so lets present it self.view.addSubview(iAdInterstitialView) iAdInterstitial.presentInView(iAdInterstitialView) } else { // No ad has been loaded println("Ad not loaded") } } func interstitialAdDidUnload(interstitialAd: ADInterstitialAd!) { // Kinda works as expected // Sometimes is called prematurely // Sometimes takes minutes after ad is dismissed to be called println("interstitialAdDidUnload") // Get new ad adLoaded = false iAdInterstitialView.removeFromSuperview() requestNewAd() } func interstitialAd(interstitialAd: ADInterstitialAd!, didFailWithError error: NSError!) { // Failed to load ad so lets try again println("didFailWithError: \(error)") requestNewAd() } func interstitialAdWillLoad(interstitialAd: ADInterstitialAd!) { // There is an ad and it has begun to download println("interstitialAdWillLoad") } func interstitialAdDidLoad(interstitialAd: ADInterstitialAd!) { // We got an ad println("interstitialAdDidLoad") adLoaded = true } func interstitialAdActionShouldBegin(interstitialAd: ADInterstitialAd!, willLeaveApplication willLeave: Bool) -> Bool { println("interstitialAdActionShouldBegin") return true; } func interstitialAdActionDidFinish(interstitialAd: ADInterstitialAd!) { // Done with this ad. Lets get a new one println("interstitialAdActionDidFinish") iAdInterstitialView.removeFromSuperview() adLoaded = false requestNewAd() } 
Давайте будем гением компьютера.