0

私は Adwhirl を初めて使用し、いくつかの問題を抱えています。mainScreen コントローラーを AdView のデリゲートとして設定しています。このビューを表示している間、広告は問題なく更新されます。ただし、別のビューに切り替えると、デリゲートは新しい広告を受信しなくなりました (デリゲート セレクターは起動されません)。これには理由がありますか?アプリ全体に 1 つの adView が必要なので、ポインターをどこにでも渡し、サブビューとして適切なビューに追加します。

ここにいくつかのコードがあります:

#pragma mark AdWhirl required delegate methods
- (NSString *)adWhirlApplicationKey {
    return MY_AD_WHIRL_APPLICATION_KEY;
}

- (UIViewController *)viewControllerForPresentingModalView {
    return self;
}

- (void)adWhirlDidReceiveAd:(AdWhirlView *)adWhirlView {
    adView.hidden = NO;
    if (self.view.window) {
    [UIView beginAnimations:@"AdWhirlDelegate.adWhirlDidReceiveAd:"
                    context:nil];
    [UIView setAnimationDuration:0.7];
    CGSize adSize = [adView actualAdSize];
    CGRect newFrame = adView.frame;
    newFrame.size = adSize;
    newFrame.origin.x = (self.view.bounds.size.width - adSize.width)/ 2;
    newFrame.origin.y = self.view.bounds.size.height - 50;
    adView.frame = newFrame;
    [UIView commitAnimations];
    }else {
        [UIView beginAnimations:@"AdWhirlDelegate.adWhirlDidReceiveAd:"
                        context:nil];
        [UIView setAnimationDuration:0.7];
        CGSize adSize = [adView actualAdSize];
        CGRect newFrame = adView.frame;
        newFrame.size = adSize;
        newFrame.origin.x = (self.view.bounds.size.width - adSize.width)/ 2;
        //newFrame.origin.y = self.view.bounds.size.height - 50;
        adView.frame = newFrame;
        [UIView commitAnimations];
    }
}
-(void)adWhirlDidFailToReceiveAd:(AdWhirlView *)adWhirlView usingBackup:(BOOL)yesOrNo
{
    adView.hidden = YES;
}

注: mainScreen コントローラーは、私のアプリが開始するコントローラーです。そのため、常にメモリに常駐しています。これは、他のビューを画面にプッシュする役割を果たします。これを機能させるために何か不足していますか?

4

0 に答える 0