0

そこで、iAds を統合する方法に関するいくつかのチュートリアルに従い、最終的にそれを機能させることができましたが、それは視覚的にのみです。つまり、iPhone アプリに広告が表示され、クリックしてテスト情報を表示できますが、イベントは発生しませんでした。以下は、イベント ハンドラーのコードです。チェックアウトする必要があるものはありますか?

- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
    NSLog(@"--- bannerViewDidLoadAd ---");
    NSLog(@"self.isBannerVisible: %@", self.isBannerVisible);

    if(!self.isBannerVisible)
    {
        [UIView beginAnimations:@"animatedAdBannerOn" context:NULL];

        self.banner.frame = CGRectOffset(self.banner.frame, 0.0, self.bannerVisibleY);
        self.header.frame = CGRectOffset(self.header.frame, 0.0, self.headerWithBannerY);

        [UIView commitAnimations];
        self.isBannerVisible = YES;
    }
}


- (void)bannerView:(ADBannerView *)banner 
    didFailToReceiveAdWithError:(NSError *)error
{
    NSLog(@"--- bannerView ---");
    NSLog(@"error: %@", error);
    NSLog(@"self.isBannerVisible: %@", self.isBannerVisible);

    if(self.isBannerVisible)
    {
        [UIView beginAnimations:@"animatedAdBannerOff" context:NULL];

        self.banner.frame = CGRectOffset(self.banner.frame, 0.0, self.bannerHiddenY);
        self.header.frame = CGRectOffset(self.header.frame, 0.0, self.headerNoBannerY);

        [UIView commitAnimations];
        self.isBannerVisible = NO;
    }
}
4

1 に答える 1

2

ヘッダーを挿入することは、このViewControllerがADBannerViewDelegateプロトコルに準拠していることを宣言するだけです。ADBannerViewのデリゲートプロパティを実際に設定する必要があります。.nibを使用している場合は、バナーからファイルの所有者へのドラッグを制御し、委任を選択します。

一般に、デリゲートコールバックが呼び出されない場合、これが問題です。

于 2012-05-04T21:44:04.023 に答える