2012-04-10 26 views

Trả lời

1

Tôi không biết cách hoạt động của adMob nhưng giống như mọi thứ khác bạn có thể tạo BaseViewController, trong đó bạn có thể thêm adMob của mình (trong phương thức viewDidLoad) và sau đó tất cả các viewControllers khác có thể subClass BaseViewController này. chỉ cần gọi [super viewDidLoad]; trong viewDidLoad phương pháp viewControllers của bạn và bạn sẽ có nó ...

hy vọng này sắp xếp vấn đề của bạn ... :)

+0

Cảm ơn Ankit, Vì vậy, hãy để tôi hiểu ... Nếu tôi có điều này trong viewDidLoad của RootViewController: CGRect khung = CGRectMake (0.0, self.view.frame.size.height, GAD_SIZE_320x50.width , GAD_SIZE_320x50.height); self.adBanner = [[GADBannerView alloc] initWithFrame: frame]; Vì vậy, làm thế nào để tôi viết những gì bạn đã nói trong mọi viewDidLoad cho mỗi VC? Xin lỗi, nó chỉ là tôi mới trong tất cả các công cụ này ... –

+0

everyViewController sẽ phân lớp rootViewController và sau đó chỉ cần gọi [super viewDidLoad]; trong các phương thức viewDidLoad của viewControllers của bạn và bạn sẽ có nó ... –

5

Những gì bạn muốn ở đây là một singleton GADBannerView các loại. Bạn có lẽ có thể tạo ra một lớp bọc để hoạt động như một singleton cho adview của bạn, vì vậy cái gì đó như:

@interface GADMasterViewController : UIViewController { 
    GADBannerView *adBanner_; 
    BOOL didCloseWebsiteView_; 
    BOOL isLoaded_; 
    id currentDelegate_; 
} 

Và chỉ cần đảm bảo rằng GADMasterViewController luôn trả về một singleton:

+(GADMasterViewController *)singleton { 
    static dispatch_once_t pred; 
    static GADMasterViewController *shared; 
    // Will only be run once, the first time this is called 
    dispatch_once(&pred, ^{ 
    shared = [[GADMasterViewController alloc] init]; 
    }); 
    return shared; 
} 

Có một phương pháp mà resets bộ điều khiển chế độ xem hiện tại đang giữ trên adView:

-(void)resetAdView:(UIViewController *)rootViewController { 
    // Always keep track of currentDelegate for notification forwarding 
    currentDelegate_ = rootViewController; 

    // Ad already requested, simply add it into the view 
    if (isLoaded_) { 
    [rootViewController.view addSubview:adBanner_]; 
    } else { 

    adBanner_.delegate = self; 
    adBanner_.rootViewController = rootViewController; 
    adBanner_.adUnitID = kSampleAdUnitID; 

    GADRequest *request = [GADRequest request]; 
    [adBanner_ loadRequest:request]; 
    [rootViewController.view addSubview:adBanner_]; 
    isLoaded_ = YES; 
    } 
} 

Sau đó, hiển thị quảng cáo của bạn chỉ là vấn đề:

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    shared = [GADMasterViewController singleton]; 
    [shared resetAdView:self]; 
} 

Bạn có thể cần phải thiết lập đại biểu để chuyển tiếp thông báo vì AdMob SDK không hoạt động tốt với đại biểu thay đổi trên đó khi đang yêu cầu.

Bạn có thể tìm bài đăng trên blog về số này here.

+0

Cảm ơn RajPara, tôi đã cố gắng theo dõi bài đăng này vào ngày thứ năm nhưng "tôi bị lạc" và không thành công để làm điều đó: \ ... mới trong tất cả những thứ này –

+0

Bạn có thể cung cấp thêm một số chi tiết về nơi bạn bị lạc không? Nếu bạn có câu hỏi cụ thể, chắc chắn có thể cố gắng giúp bạn với họ – RajPara

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