0

您好我在应用程序中使用最新的 Flurry SDK 6.0。我需要在我的应用程序的几乎所有位置展示广告。应用程序UINavigationControllerBased包含更多viewControllers。我正在使用flurry 文档中给出的代码。

我每次都使用下面的代码,ViewController但有时我会快速移动,就像在收到添加之前推送和弹出一样,所以在这种情况下,回调会不断接收,但那个视图控制器在当时应用程序崩溃或接收内存时在堆栈中不可用。我试图设置adDelegatenilinviewWillDisappear但混乱的文档说不要将它设置为nil. 有人对此有任何想法吗?

-(void)viewDidAppear:(BOOL)animated
    {
      [super viewDidAppear:animated];

    if(self.adBanner == nil){
            self.adBanner = [[FlurryAdBanner alloc] initWithSpace:@"Flurry Banner"] ;
            self.adBanner.adDelegate = self;
            [self.adBanner fetchAndDisplayAdInView:self.view viewControllerForPresentation:self];
        }
}
4

1 回答 1

0

也许您应该将代码一分为二?

使用 获取广告fetchAdForFrame。这可以防止 Flurry 使用您传递的视图。

然后在委托内部,使用displayAdInView. 仅当您知道视图可见时才调用它。所以在viewWillAppear设置一个标志说可见,在viewWillDisappear设置一个标志说不可见。这应该可以让您切断渲染部分。

像这样的 API 没有 cancelFetchAd 方法似乎很奇怪!

于 2015-02-12T14:23:10.363 回答