2011-12-02 2 views
7

네트워크에 연결되었을 때 정상적으로 표시되는 iAd가 있습니다. iOS 시뮬레이터에서 또는 내 기기에서 테스트 할 때 앱을 열면 iAd를보고 설정으로 이동하여 비행기 모드를 켜고 앱으로 돌아 가면 배너가 화면에서 벗어납니다. 큰. 이제 항공기 모드를 끄면 (네트워크가 켜짐) iAd가 다시 나타나지 않습니다. 10-15 분을 기다린 후에도 마찬가지입니다.네트워크 연결 해제 후 iAd 새로 고침

그래서, 여기 내 질문은 :

  1. 는 말게 테스트 광고는 것 (그래서 매 분) 진짜 말게 자체와 동일한 새로 고침합니까?

  2. 네트워크가 감지 될 때 iAd를 새로 고치고 새 광고를 요청할 수있는 방법이 있습니까?

난 그냥 어디서나 테스트 광고의 동작에 대한 정보를 찾을 수없는, 내가 앱 스토어에 애플리케이션을 업로드 할 때까지 실제 광고로 테스트 할 수 없습니다 (오른쪽?)

을 Heres 말게가 생성됩니다

: 내 코드

- (void)viewDidLoad 
{ 
    adView = [[ADBannerView alloc] initWithFrame:CGRectMake(0, 410, 320, 50)]; 
    adView.frame = CGRectOffset(adView.frame, 0, 50); 
    adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait]; 
    adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait; 
    [self.view addSubview:adView]; 
    adView.delegate=self; 
    self.bannerIsVisible=NO; 
    [super viewDidLoad]; 
} 

그리고 위임 방법 :

- (void)bannerViewDidLoadAd:(ADBannerView *)banner 
{ 
    NSLog(@"AdWin"); 
    if (!self.bannerIsVisible) 
    { 
     [UIView beginAnimations:@"animateAdBannerOn" context:NULL]; 
     banner.frame = CGRectOffset(banner.frame, 0, -50); 
     [UIView commitAnimations]; 
     self.bannerIsVisible = YES; 
    } 
} 

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error 
{ 
    NSLog(@"AdLose"); 
    if (self.bannerIsVisible) 
    { 
     [UIView beginAnimations:@"animateAdBannerOff" context:NULL]; 
     banner.frame = CGRectOffset(banner.frame, 0, 50); 
     [UIView commitAnimations]; 
     self.bannerIsVisible = NO; 
    } 
} 

델리게이트 방법 NSLog 전화는 한 번만 나타납니다. 매분마다 전화를 걸면 광고가 새로 고쳐지기를 기대합니다.

답변

2

1- 그렇습니다. 실시간 광고처럼 광고가 전혀없는 경우도 있습니다. 몇 시간이 걸릴 수 있습니다. 나는 새로 고침주기가 3 분이라고 생각하지만 애플은 그것을 바꿀 수있을 것 같습니다. 2 번 제대로 설정하지 않으면 자동으로 실행됩니다. 광고가있는 앱이 있으며 네트워크를 전환하거나 비행기 설정을 사용할 때 올바르게 작동합니다.

이제는 비행기 설정에 대한 것 같습니다.이 스레드는 iAds Loading Throttled After Re-Launching App From Background (Also Happens In iAdSuite)이지만 최종 답은 없습니다. 어쩌면 당신은 NSLog를 didFail에서 NSLog (@ "% @", 오류)로 변경하여 더 많은 것을 탐색 할 수 있습니다. 아, 실제로 앱 스토어에서 허용 될 때까지 실제 광고를 테스트 할 방법이 없습니다.

+0

제안 해 주셔서 감사합니다. 내 퍼즐을 치는 것은 내가 interent 연결로 내 아이폰에 (xCode를 사용하여) 응용 프로그램을 시작하고 예상대로 내 로그 "AdWin"60 초마다 얻을 것입니다. 비행기 모드를 사용하는 경우를 제외하고 앱을 동일한 방식으로 시작하면 내 로그에 'AdLose'가 한 번 표시됩니다. 나는 그것이 60 초마다 실패 할 것으로 예상했을 것이다. 그 오류는 다음과 같습니다 :'Error Domain = ADErrorDomain Code = 1 "작업을 완료 할 수 없습니다. (ADErrorDomain 오류 1)." –

+0

나는 그 시점에서 막혀 있는데, 내 테스트에서 NSURL 오류가 발생하고 NSURL 오류가 잘 처리되는 ADError. 같은 논리를 포함하는 것이 좋습니다 : 때 오류 및 ADErrorxxx 배너를 죽이고 모든 것을 다시 시작 (ie. release + realloc viewDidLoad 같은). – gregory

+0

나는 이것이 가장 도움이 되었기 때문에 이것을 받아 들인 대답으로 표시 할 것이다. Apple 샘플 프로그램 인 iAdSuite를 다운로드하여 동일한 조건에서 동일한 오류가 발생 했으므로 광산이 작동한다는 것에 만족합니다. 감사 –

관련 문제