2014-02-11 2 views
0

В настоящее время я получаю сбой, который держит мое приложение из магазина приложений, похоже, возникает, когда я создаю объявление Google как откат для iAd. Это происходит только на I-pad, работающем под управлением IOS 6.0 - 6.1 в режиме совместимости (приложение не является универсальным), и оно появляется после: [googleAdvertBanner loadRequest: releaseRequest];Crash on IOS 6.0-6.1 Ipad только Admob и iAd

Любая помощь будет очень ценна, вот что я получаю в представлении кода, когда я аварии:

GADMAdNetworkConnectorImpl.m:95 
0x49e008: addl $60, %esp --- Thread 1:EXEC_BAD_ACCESS (code=2, address=0xf) 

Журнал показывает следующее:

DBannerView: Unhandled error (no delegate or delegate does not implement didFailToReceiveAdWithError:): Error Domain=ADErrorDomain Code=3 "The operation couldn’t be completed. Ad inventory unavailable" UserInfo=0x13c9e380 {ADInternalErrorCode=3, ADInternalErrorDomain=ADErrorDomain, NSLocalizedFailureReason=Ad inventory unavailable} 

И мое приложение кода обработка объявлений:

#pragma mark Ad Banner Delegate 
#pragma mark - 

- (void)bannerViewDidLoadAd:(ADBannerView *)banner{ 
    // remove the google advert banner 

    [googleAdvertBanner removeFromSuperview]; 

    // dont use auto resizing mask for constraints 

    advertBanner.translatesAutoresizingMaskIntoConstraints = NO; 

    // scroll the ad bar 

    [self moveViews:adView down:YES]; 



    //NSLog(@"IAD advert has SUCCEEDED"); 

} 


- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error{ 

    // scroll the ad bar 

    [self moveViews:adView down:NO]; 

    // create the google advert 

    [self createGoogleAdvert]; 

    //NSLog(@"IAD advert has FAILED"); 

} 




- (void)bannerViewActionDidFinish:(ADBannerView *)banner{ 



} 

#pragma mark GoogleAd Banner Delegate 

#pragma mark - 

- (void)adViewDidReceiveAd:(GADBannerView *)view{ 

    // dont use auto resizing mask for constraints 

    googleAdvertBanner.translatesAutoresizingMaskIntoConstraints = NO; 

    // add the google advert banner 

    [adView addSubview:googleAdvertBanner]; 

    // scroll the ad bar 

    [self moveViews:adView down:YES]; 

    //NSLog(@"Google advert has SUCCEEDED"); 

} 


- (void)adView:(GADBannerView *)view didFailToReceiveAdWithError:(GADRequestError *)error{ 

    // remove the google ad and instantiate the apple advert 

    [googleAdvertBanner removeFromSuperview]; 

    // scroll the ad bar 

    [self moveViews:adView down:NO]; 

    //NSLog(@"Google advert has FAILED"); 

} 


- (void)adViewDidDismissScreen:(GADBannerView *)adView{ 


} 


#pragma mark Create GoogleAd Banner 

#pragma mark - 

- (void)createGoogleAdvert{ 

    // if the googleadvert banner has not been initiated 

    if (!googleAdvertBanner) { 

     // create google advert banner 

     googleAdvertBanner = [[GADBannerView alloc]initWithAdSize:kGADAdSizeBanner]; 

    } 

    // set the ads "unit identifier", delegate and root view controller 

    googleAdvertBanner.adUnitID = @"myid which is correct"; 

    googleAdvertBanner.delegate = self; 

    googleAdvertBanner.rootViewController = self; 

    // test request 

    //GADRequest *testRequest = [GADRequest request]; 

    //testRequest.testDevices = [NSArray arrayWithObjects:GAD_SIMULATOR_ID, @"0525457c40445ae54cac4f282ba0d409", nil]; 

    // release request 

    GADRequest *releaseRequest = [GADRequest request]; 

    // load the request 

    [googleAdvertBanner loadRequest:releaseRequest]; 

} 

ответ

0

Попробуйте проверить доступность Интернета до выполнения GADRequest. У меня был опыт сбой при загрузке баннеров adMob в автономном режиме.

if ([[Reachability reachabilityForInternetConnection] isReachable]) { 
    //... banner init etc 

    // release request 
    GADRequest *releaseRequest = [GADRequest request]; 
    // load the request 
    [googleAdvertBanner loadRequest:releaseRequest]; 
} 
+0

Благодарим за информацию Yourik, я действительно делаю сетевые проверки перед загрузкой Json, я не уверен, что это проблема, хотя приложение отлично работает на iphone 4 и 5 на IOS 6 и выше. – SmokersCough

0

Ok думаю, я решил эту проблему:

У меня была агрегатор AdMob также служа ОВР, а также имеющий adbannerview, и я считаю, что на нижнем конце IOS версии 6.0-6.1 Когда опосредованное iAd не удалось выполнить вызов failedToLoad, поскольку adbannerview не существует или просто не смог запустить этот метод, удалив посредничество из моей настройки admob, решив проблему.

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

  • Нет связанных вопросов^_^