2

次の質問をしたいと思います。

1)ユーザーが空の画面をクリックしたときにiADを非表示にするにはどうすればよいですか?2)非アクティブを識別する方法、つまり、ユーザーがアプリケーションを開いてiPhoneを離れ、アプリケーションが開いたままになっている場合はどうすればよいですか?

アップデート:

アップルのドキュメントによると、このメソッドはiADを却下する責任があります。しかし、このメソッドはまだ私のコードでは機能していません。サンプルまたはこの方法はどのように機能しますか?

-(void)cancelBannerViewAction

説明:

バナービューアクションは、アプリケーションのユーザーインターフェイスをカバーできます。ただし、アプリケーションは引き続き実行され、通常どおりイベントを受信します。アプリケーションがユーザーの注意を必要とするイベントを受信した場合、cancelBannerViewActionを呼び出すことにより、プログラムでアクションをキャンセルし、そのインターフェースを明らかにすることができます。アクションを頻繁にキャンセルすると、アプリケーションの収益が失われる可能性があります。

Appleからの参照

しかし、それでも実行できませんか?この方法は正しく機能していません

4

1 に答える 1

2

以下のコードのようなことをすることができます。

- (void)bannerViewDidLoadAd:(ADBannerView *)banner 
{   
    if (!self.adBannerViewIsVisible) 
    {
         NSLog(@"\nBanner Success");
         [UIView beginAnimations:@"animateAdBannerOn" context:NULL];
         // assumes the banner view is offset 50 pixels so that it is not visible.

         banner.frame = CGRectOffset(banner.frame,0,-94);       
         [UIView commitAnimations];

         self.adBannerViewIsVisible = YES;      
    }
}

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error 
{   
      if (self.adBannerViewIsVisible)
      {
          NSLog(@"\nBanner Failed");
          [UIView beginAnimations:@"animateAdBannerOff" context:NULL];          

          banner.frame = CGRectOffset(banner.frame, 0, 94);
          [UIView commitAnimations];

          self.adBannerViewIsVisible = NO;      
     }  
}

コードでiAdの場所を指定するだけで、この行の値を変更するだけでその位置を変更できます

banner.frame = CGRectOffset(banner.frame, 0, 94);`

これがあなたが望むものをクリアするかもしれないことを願っています。

于 2012-06-06T07:29:49.733 に答える