2015-05-22 5 views
4

Приложение IOS было отклонено из-за того, что Apple не обнаружила мои объявления во время процесса обзора. Я снова загрузил свое приложение, включил инструкции о том, как видеть рекламу, и был одобрен сегодня. Теперь, когда мои друзья и семья загрузили приложение, объявления не показываются. Я проверил свою учетную запись AdMob, и никаких показов не появилось, поэтому я не знаю, что случилось. Кто-нибудь это с ними случилось? Кроме того, это не было 24 часа еще с момента утверждения приложения. Поскольку Apple одобрила это, я предполагаю, что они видели рекламу. My application показывает рекламу, когда вы начинаете использовать фильтры после выбора фотографии. AdMob показывает 61 показ, 61 запрос и 100% заполняемость.Утверждено приложение, но объявления AdMob не отображаются

// Initialize Apple iAd banner 
func initiAdBanner() { 
    iAdBannerView = ADBannerView(frame: CGRectMake(0, self.view.frame.size.height, 0, 0)) 
    iAdBannerView.delegate = self 
    iAdBannerView.hidden = true 
    view.addSubview(iAdBannerView) 
} 

// Initialize Google AdMob banner 
func initAdMobBanner() { 
    if UIDevice.currentDevice().userInterfaceIdiom == UIUserInterfaceIdiom.Pad { 
     // iPad banner 
     adMobBannerView.adSize = GADAdSizeFromCGSize(CGSizeMake(728, 90)) 
     adMobBannerView.frame = CGRectMake(0, self.view.frame.size.height, 728, 90) 
    } else { 
     // iPhone banner 
     adMobBannerView.adSize = GADAdSizeFromCGSize(CGSizeMake(320, 50)) 
     adMobBannerView.frame = CGRectMake(0, self.view.frame.size.height, 320, 50) 
    } 
    adMobBannerView.adUnitID = "AdMobPublisherID" 
    adMobBannerView.rootViewController = self 
    adMobBannerView.delegate = self 
    // adMobBannerView.hidden = true 
    view.addSubview(adMobBannerView) 
    var request = GADRequest() 
    adMobBannerView.loadRequest(request) 
} 

// Hide the banner 
func hideBanner(banner: UIView) { 
    if banner.hidden == false { 
     UIView.beginAnimations("hideBanner", context: nil) 
     // Hide the banner moving it below the bottom of the screen 
     banner.frame = CGRectMake(0, self.view.frame.size.height, banner.frame.size.width, banner.frame.size.height) 
     UIView.commitAnimations() 
     banner.hidden = true 
    } 
} 

// Show the banner 
func showBanner(banner: UIView) { 
    if banner.hidden == true { 
     UIView.beginAnimations("showBanner", context: nil) 
     // Move the banner on the bottom of the screen 
     banner.frame = CGRectMake(0, (self.view.frame.size.height-70) - banner.frame.size.height, 
     banner.frame.size.width, banner.frame.size.height); 
     UIView.commitAnimations() 
     banner.hidden = false 
    } 
} 

// iAd banner available 
func bannerViewWillLoadAd(banner: ADBannerView!) { 
    println("iAd loaded!") 
    hideBanner(adMobBannerView) 
    showBanner(iAdBannerView) 
} 

// NO iAd banner available 
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) { 
    println("iAd can't looad ads right now, they'll be available later") 
    hideBanner(iAdBannerView) 
    var request = GADRequest() 
    adMobBannerView.loadRequest(request) 
} 

// AdMob banner available 
func adViewDidReceiveAd(view: GADBannerView!) { 
    println("AdMob loaded!") 
    hideBanner(iAdBannerView) 
    showBanner(adMobBannerView) 
} 

// NO AdMob banner available 
func adView(view: GADBannerView!, didFailToReceiveAdWithError error: GADRequestError!) { 
    println("AdMob Can't load ads right now, they'll be available later \n\(error)") 
    hideBanner(adMobBannerView) 
} 
+0

Его редкий вариант для AdMob, который не имеет скорости заполнения 100%. Таким образом, для объявлений, которые не отображаются вообще, либо из-за очень плохого подключения к Интернету, либо вы сделали что-то не так, когда рекламируете объявления в своем приложении. Вы запомнили удалить свой запрос 'tesID' из своего приложения, прежде чем отправлять его для распространения, не так ли? Вы говорите, что на вашем аккаунте AdMob нет ** показов **, но есть ли какие-либо ** запросы **? –

+0

Объявления работали при тестировании на моем устройстве в Xcode. Я получаю впечатления, но показ объявлений не появляется. Это было не круглосуточно, так как это было одобрено, если это имеет значение, и я не смог связать свое приложение, потому что оно не появляется, когда я ищу его в admob. Я связал его вручную, прежде чем он был одобрен. В admob он активен и показывает впечатления. Требуется ли время для показа объявлений? Я не понимаю, почему они будут показывать в том, что я загрузил, но та, что в рекламе в App Store, не появится. Сейчас это 61 показ, $ 0 заработка, 0 $ запросов rpm, 0 сеансов. – user3536980

+0

* Я получаю впечатления, но показ объявлений не появляется * да? Вы имеете в виду ** просьбы **?* Это не было 24 часа с момента его одобрения, если это имеет значение, и я не смог связать свое приложение, потому что оно не появляется, когда я ищу его в admob *, это не фактор. Если вы получали рекламу с опубликованным идентификатором для этого приложения во время тестирования, вы все равно должны получать рекламу на данный момент. Отправьте ссылку на свое приложение в App Store и/или отредактируйте свой вопрос, чтобы включить любой соответствующий код, связанный с вашими объявлениями AdMob, и я посмотрю. –

ответ

-1

Вам нужно будет посмотреть журналы устройств, чтобы определить, почему объявления не показывались. По всей видимости, в данный момент на сервере объявлений не было объявлений.

Это нормальное состояние дел и почему вы должны использовать посредничество, чтобы убедиться, что у вас есть резервная сеть.

4

Объявления теперь отображаются в вашем приложении. Когда ваше приложение одобрено Apple, оно все равно должно быть одобрено командой iAd для получения рекламы iAd. Это может занять несколько дней. В результате ни одна из ваших рекламных объявлений не показывалась в вашей заявке. Вы можете проверить это, перейдя в «Настройки»> «Разработчик» и установив свою скорость заполнения на 0% на вашем устройстве разработки. Причина ни объявление показывается, если ОВР не загружается первоначально из-за этой функции:

// Show the banner 
    func showBanner(banner: UIView) { 
     if banner.hidden == true { 
      UIView.beginAnimations("showBanner", context: nil) 

      // Move the banner on the bottom of the screen 
      banner.frame = CGRectMake(0, (self.view.frame.size.height-70) - banner.frame.size.height, 
       banner.frame.size.width, banner.frame.size.height); 

      UIView.commitAnimations() 
      banner.hidden = false 
     } 
    } 

Вы проверки if banner.hidden == true но ваши adMobBannerView «ы hidden значение никогда не устанавливается на true, пока ОВР баннер не загружен , Видя, что ни один баннер iAd не загружался до утверждения командой iAd, это условие никогда не выполнялось. Это условие будет также никогда не быть встреченным в странах, которые не поддерживают iAd, или если iAd не загружает объявление изначально.

Кроме того, есть много , прыгающих вокруг, когда ваши объявления загружаются из-за того, что вы имитируете их на экране и за его пределами. Более элегантным подходом было бы оживить их значения alpha, чтобы пользователь не заметил, когда ваши объявления изменились. Вы также можете полностью исключить свой код. Я переписал то, что вы пытаетесь выполнить, и прокомментировал причины этого.

import UIKit 
import iAd 

class ViewController: UIViewController, ADBannerViewDelegate, GADBannerViewDelegate { 

var iAdBannerView : ADBannerView = ADBannerView() 
var adMobBannerView : GADBannerView = GADBannerView() 

override func viewDidLoad() { 
    super.viewDidLoad() 
    loadAds() 
} 

func loadAds() { 
    // iAd 
    // Changed banners width to match the width of the view it is on 
    // You need to set the y origin relative to your view. Not a static number. 
    iAdBannerView = ADBannerView(frame: CGRectMake(0, self.view.frame.size.height - iAdBannerView.frame.height, self.view.frame.size.width, iAdBannerView.frame.height)) 
    iAdBannerView.delegate = self 
    view.addSubview(iAdBannerView) 
    // Hide iAd initially 
    iAdBannerView.alpha = 0.0 

    // AdMob 
    // Changed adSize to Googles set banner size 
    adMobBannerView.adSize = kGADAdSizeBanner 
    // Changed banners width to match the width of the view it is on 
    // You need to set the y origin relative to your view. Not a static number. 
    adMobBannerView.frame = CGRectMake(0, self.view.frame.size.height - adMobBannerView.frame.height , self.view.frame.size.width, adMobBannerView.frame.height) 
    adMobBannerView.rootViewController = self 
    adMobBannerView.delegate = self 
    adMobBannerView.adUnitID = "AdMobPublisherID" 
    // Dont need var request = GADRequest() 
    adMobBannerView.loadRequest(GADRequest()) 
    // Do not hide AdMob initially 
    view.addSubview(adMobBannerView) 
} 

// Use bannerViewDidLoadAd function so we know ad is fully loaded 
func bannerViewDidLoadAd(banner: ADBannerView!) { 
    println("iAd has an ad to show") 
    // Animate fade of banners 
    UIView.beginAnimations(nil, context: nil) 
    // Show iAd 
    iAdBannerView.alpha = 1.0 
    // Hide AdMob 
    adMobBannerView.alpha = 0.0 
    UIView.commitAnimations() 
} 

func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) { 
    println("iAd failed to load an ad because \(error)") 
    // Animate fade of banners 
    UIView.beginAnimations(nil, context: nil) 
    // Hide iAd 
    iAdBannerView.alpha = 0.0 
    // Show AdMob 
    adMobBannerView.alpha = 1.0 
    UIView.commitAnimations() 
} 

Это способствует iAd и возвращается к AdMob, если iAd не загружает объявление. Вам не нужно проверять, когда AdMob не загружает объявление, поскольку его коэффициент заполнения почти всегда равен 100%, и если нет объявления AdMob, я сомневаюсь, что есть объявление iAd для показа.

Смежные вопросы