Tôi có một iAd hiển thị tốt khi kết nối với Mạng. Trên trình mô phỏng iOS hoặc thử nghiệm trên thiết bị của tôi, nếu tôi mở ứng dụng của mình, hãy xem iAd, sau đó chuyển đến cài đặt và bật chế độ trên máy bay và quay lại ứng dụng, biểu ngữ trượt khỏi màn hình. Tuyệt quá. Bây giờ, nếu tôi tắt chế độ trên máy bay (mạng đang BẬT), iAd sẽ không xuất hiện lại - ngay cả sau khi đợi 10-15 phút.Làm mới iAd sau khi ngắt kết nối mạng
Vì vậy, đây là những câu hỏi của tôi:
Liệu iAd thử nghiệm Quảng cáo làm mới bản thân giống như một iAd thực sẽ (mỗi phút hoặc lâu hơn)?
Có cách nào để buộc iAd làm mới và yêu cầu quảng cáo mới khi mạng được phát hiện không?
Tôi chỉ không thể tìm thấy thông tin về hành vi của các bảng quảng cáo thử nghiệm bất cứ nơi nào, và tôi không thể thử nghiệm với bảng quảng cáo thực cho đến khi tôi tải lên các ứng dụng trên App Store (phải không?)
Heres mã của tôi:
Trường hợp iAd được tạo ra:
- (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];
}
Và các đại biểu phương pháp:
- (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;
}
}
Phương thức ủy quyền NSLog
cuộc gọi chỉ xuất hiện một lần - không phải mỗi phút, như tôi mong đợi nếu Quảng cáo đã được làm mới.
Cảm ơn các đề xuất. Điều mà câu đố tôi là đó là tôi bắt đầu ứng dụng (sử dụng xCode) trên iPhone của tôi với một kết nối interent và tôi nhận được đăng nhập của tôi "AdWin" mỗi 60 giây, như mong đợi. Nếu tôi bắt đầu ứng dụng theo cùng một cách, ngoại trừ với Chế độ trên máy bay, tôi nhận được "AdLose" trong nhật ký của mình chính xác một lần. Tôi đã mong đợi nó sẽ thất bại sau mỗi 60 giây. Lỗi mà nó đưa ra là: 'Error Domain = ADErrorDomain Code = 1" Không thể hoàn tất thao tác. (ADErrorDomain error 1.) "' –
Tôi cũng bị kẹt ở điểm đó, điều quan trọng tôi tin là bạn nhận được một ADError trong các thử nghiệm của tôi, tôi nhận được một lỗi NSURL và dường như lỗi NSURL được xử lý tốt. Tôi sẽ đề nghị bao gồm một logic như: khi lỗi và ADErrorxxx giết các biểu ngữ và bắt đầu lại tất cả (ví dụ: release + realloc như trong viewDidLoad). – gregory
Tôi sẽ đánh dấu đây là câu trả lời được chấp nhận, bởi vì nó hữu ích nhất. Tôi hài lòng rằng tôi sẽ làm việc bởi vì tôi đã tải về chương trình mẫu của Apple 'iAdSuite', và thấy nó đã cho cùng một lỗi trong cùng điều kiện. Cảm ơn –