在我们的免费应用程序中,当调用删除广告或购买额外内容的功能时,用户往往会受到来自广告调用的额外弹出窗口的警告,该广告调用真的应该只在应用程序启动时出现一次,而不会再次出现(直到应用程序关闭当然)
通常我们会在appdelegate.m文件中的代码的applicationDidBecomeActive
部分设置广告弹出窗口,该文件会检查用户是否购买了移除广告,如果没有,则会显示广告。
如果我在视图控制器的viewDidLoad中调用广告,则不会发生这种情况,但是,当用户返回到应用程序的主菜单时,他们会再次点击弹出式广告。时间,所以两者都有问题,后者本质上更糟糕。
是否有更好的地方可以调用弹出广告,这会在启动时触发,但不是每次用户返回主屏幕或使用MKStoreManager进行购买时都会触发。
我可以发布代码,但此时我不确定哪个部分是相关的。
答案 0 :(得分:2)
为什么没有BOOL变量作为实例变量,甚至是静态的,在app委托中,一旦显示弹出窗口,就会设置为YES,然后检查此变量,以便在该会话中不再显示它?
- (void)applicationDidBecomeActive:(UIApplication *)application {
static BOOL adShown = NO;
if (! adShown) {
// your code to show ad
adShown = YES;
}
}