2015-12-12 25 views
13

Tôi nhận được thông báo didFailToReceiveAdWithError trong bảng điều khiển trong khi chạy trên trình mô phỏng và thiết bị.Biểu ngữ iAd không hoạt động trên iOS 9

Biểu ngữ iAd được hiển thị thành công khi chạy trên iOS 8. Khi chạy trên iOS 9, biểu ngữ iAd không nhận được quảng cáo.

.h

#import <iAd/iAd.h> 
@interface ViewController : UIViewController <ADBannerViewDelegate> 

@property (retain, nonatomic) IBOutlet ADBannerView *adBanner; 

.m

-(void)viewDidLoad { 
    self.adBanner = [[ADBannerView alloc]initWithFrame:CGRectMake(0,[UIScreen mainScreen].bounds.size.height-100, [UIScreen mainScreen].bounds.size.width, 50)]; 
    self.adBanner.delegate=self; 
    [self.adBanner setBackgroundColor:[UIColor clearColor]]; 
    [self.view addSubview:self.adBanner]; 
} 

-(void)bannerViewWillLoadAd:(ADBannerView *)banner { 
    NSLog(@"bannerViewWillLoadAd"); 
} 

-(void)bannerViewDidLoadAd:(ADBannerView *)banner { 
    // Show the ad banner. 
    NSLog(@"bannerViewDidLoadAd"); 

    [UIView animateWithDuration:0.5 animations:^{ 
     self.adBanner.alpha = 1.0; 
    }]; 
} 

-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error { 
    NSLog(@"didFailToReceiveAdWithError"); 

    // Hide the ad banner. 
    [UIView animateWithDuration:0.5 animations:^{ 
     self.adBanner.alpha = 0.0; 
    }]; 
}  

-(void)bannerViewActionDidFinish:(ADBannerView *)banner { 
    NSLog(@"Ad did finish"); 
} 

Khi chạy trên iOS 9, giao diện điều khiển in didFailToReceiveAdWithError mỗi lần.

+1

Tôi đã sao chép dán mã của bạn vào một dự án xcode 7 mới với iOS 9.1 Nó đang hoạt động. –

+0

Dựa trên mã của bạn, tôi nghĩ rằng IBOutlet là cần thiết, chỉ khai báo biến trong giao diện. Không cần vẽ biểu ngữ trong Trình tạo giao diện. Không cho phép đặt màu nền của Quảng cáo. (Chỉ cần theo sau anser của Daniel Storm, hoạt động tuyệt vời cho tôi.) – Vincent

Trả lời

1

Thử thêm bảo mật truyền tải ứng dụng vào tệp plist của dự án của bạn. enter image description here

+0

Timir Baran Kundu i allready được thêm vào tập tin .plist nhưng không hoạt động. bạn có bất kỳ ý tưởng vì vậy xin vui lòng chia sẻ. –

0

Tôi thấy điều này here:

Kiểm tra kịch bản của tôi, tôi nhận thấy, đó là một hạn chế chiều cao cho 32 được thành lập cho ADBannerView - 32 không phải là một chiều cao hợp lệ trong định hướng đó. Việc xóa giới hạn độ cao đó đã xóa lỗi "Khoảng không quảng cáo không khả dụng" và nó đã hoạt động tốt đẹp từ đó trở đi.

Kiểm tra xem điều đó có phù hợp với bạn hay không.

Đồng thời kiểm tra với iAD Changelog để xem bạn có cần phải lo lắng về điều gì không.

6

Tôi không thể tạo lại sự cố của bạn. Mạng iAd có thể đã ngừng hoạt động cho quốc gia của bạn khi thử nghiệm, bạn có thể ở quốc gia mà iAd không hỗ trợ hoặc có thể bạn đã đặt Tỷ lệ lấp đầy thử nghiệm iAd thành 0% trên thiết bị/trình mô phỏng phát triển của mình. Đi tới Cài đặt> Nhà phát triển> Tỷ lệ lấp đầy> và kiểm tra xem Tỷ lệ lấp đầy được đặt thành 100% trên thiết bị/trình mô phỏng phát triển của bạn.

Tôi khuyên bạn nên in error bạn đang nhận được trong didFailToReceiveAdWithError để bạn có thể tìm hiểu lý do tại sao số ADBannerView không thành công.

-(void)viewDidLoad { 
    // The ADBannerView will size itself based on the device it is being displayed on 
    // Only setting the position is sufficient 
    self.adBanner = [[ADBannerView alloc]initWithFrame:CGRectMake(0, [UIScreen mainScreen].bounds.size.height-100, 0, 0)]; 
    self.adBanner.delegate=self; 
    // Removed setBackgroundColor 
    // Set alpha to 0.0 initially 
    self.adBanner.alpha = 0.0; 
    [self.view addSubview:self.adBanner]; 
} 

-(void)bannerViewWillLoadAd:(ADBannerView *)banner { 
    NSLog(@"bannerViewWillLoadAd"); 
} 

-(void)bannerViewDidLoadAd:(ADBannerView *)banner { 
    NSLog(@"bannerViewDidLoadAd"); 
    [UIView animateWithDuration:0.5 animations:^{ 
     self.adBanner.alpha = 1.0; 
    }]; 
} 

-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error { 
    // Changed NSLog to print the error that is received 
    NSLog(@"didFailToReceiveAdWithError: %@", error); 
    [UIView animateWithDuration:0.5 animations:^{ 
     self.adBanner.alpha = 0.0; 
    }]; 
} 

-(void)bannerViewActionDidFinish:(ADBannerView *)banner{ 
    NSLog(@"bannerViewActionDidFinish"); 
} 

Nếu bạn vẫn gặp phải vấn đề này bạn nên contact iAd trực tiếp và cập nhật câu hỏi của bạn dựa trên phản ứng của họ, hoặc đăng một câu trả lời nếu họ có thể giải quyết nó cho bạn.

+0

@deniel strom không hoạt động – sohil

+0

@sohil bạn ở quốc gia nào? –

+0

@Deniel từ Ấn Độ – sohil

Các vấn đề liên quan