您好我在app中使用最新的flurry SDK 6.0。我需要在我的应用中几乎每个地方展示广告。应用UINavigationControllerBased
包含更多viewController
个。我使用的代码为in flurry documentation。
我在每个ViewController
中使用下面的代码,但有时候我会像添加接收之前的push和pop一样快速移动,所以在这种情况下,回调会持续接收,但是在该堆栈中,viewcontroller不可用于堆栈时间应用程序崩溃或收到内存。我尝试在adDelegate
中将nil
设置为viewWillDisappear
,但是文件说不要将其设置为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];
}
}
答案 0 :(得分:0)
也许您应该将代码分成两部分?
使用fetchAdForFrame
获取广告。这可以防止Flurry使用您传递的视图。
然后在委托中使用displayAdInView
。如果您知道视图可见,则仅调用此方法。因此,在viewWillAppear
设置一个标记为可见的标记,在viewWillDisappear
中设置一个标记,表示不可见。这应该让你切断渲染部分。
看起来很奇怪,像这样的API没有cancelFetchAd方法!