2

admobsがない国のバックアップ広告システムとして追加していますiAd。ただし、広告が2回表示されることもあり、2番目の広告が画面の中央で他の広告の約100〜200ピクセル上に表示されることもあります。2番目の広告は、すでに広告が表示されているビューにアクセスしたときにのみ表示されるようです。viewDidAppearの代わりにアドコールが入っているように感じますが、viewDidLoadそうではありません。またはdidFailToReceiveAdWithError、外部から呼び出されviewDidLoadます-広告を呼び出します。誰かがこれについて何か知っていますか?

編集: すでに広告が表示されているビューに再度アクセスしなくても、両方を同時に表示できます。

EDIT(コード) 基本的に:

-(void) viewDidLoad
{
    [self createAdBannerView];
    [self.view addSubview:bannerView];
}

-(void) createAdBannerView
{
    bannerView = [[AdBannerView alloc] initWithFrame:CGRectZero];
    CGRect bannerFrame = bannerView.frame;
    bannerView.frame = bannerFrame;
    bannerView.delegate = self;
    bannerView.requiredContentSizeIdentifiers = [NSSet setWithObjects:ADBannerContentSizeIdentifiersPortrait,AdBannerContentSizeIdentifierLandscape,nil];
}

-(void)bannerView:(AdBannerView*)banner didFailToReceiveAdWithError:(NSError *)error
{
    [self.bannerView removeFromSuperview];
    GbannerView = [[GADBannerView alloc] initWithFrame:CGRectMake(0.0, self.view.frame.size.height-99, 320,50)];
    self.GbannerView.adUnitID=@"xxxxxxx";
    self.GbannerView.rootViewController = self;
    [self.view addSubview:self.GbannerView];
    [self.GbannerView loadRequest:[GADRequest request]];
}

また、誰かが知っている場合:tableViewsを含むビューでは、admobsの場所が間違っています。場所はこれを考慮に入れていますが、タブバーの後ろで動かなくなります。これは通常のUIViewでは発生しません。なに..

4

1 に答える 1

1

tableViewの質問を独自の質問に引き出すことをお勧めします。ここにこれを行う方法の例がありますが、それがあなたの特定のケースを満たすかどうかはわかりません)。

ここでAdMobメディエーションを使用しているだけではない理由はありますか?彼らはiAdをサポートしており、クライアントコードを使用して設定するのは非常に簡単です。

あなたの特定のケースでは、あなたがそのスーパービューからbannerView:didFailToReceiveAdWithError削除した後でも、:が継続的に呼び出されているのではないかと思います。作成して:の最初にAdBannerView作成し、それが存在するかどうかを確認してから、新しいものをインスタンス化してみGADBannerViewませんか?AdBannerViewviewDidLoad

于 2012-12-28T19:05:25.883 に答える