如何检测IOS应用程序关闭并仅加载?

如何检测IOS应用程序关闭并仅加载?,ios,iphone,Ios,Iphone,我正在尝试添加一些RevMob代码到我的应用程序中,该应用程序当前有IAP,我希望添加一些广告(全屏) 现在我将代码放在下面的方法中 - (void)applicationDidBecomeActive:(UIApplication *)application { RevMobFullscreen *fullscreen; fullscreen = [[RevMobAds session] fullscreen]; fullscreen.delegate = self; [fullscreen

我正在尝试添加一些RevMob代码到我的应用程序中,该应用程序当前有IAP,我希望添加一些广告(全屏)

现在我将代码放在下面的方法中

- (void)applicationDidBecomeActive:(UIApplication *)application {
RevMobFullscreen *fullscreen;
fullscreen = [[RevMobAds session] fullscreen];
fullscreen.delegate = self;
[fullscreen loadAd];
[fullscreen showAd];
}
问题是,这会导致广告出现得太频繁。理想情况下,我只想在应用程序首次加载时调用广告,然后在用户关闭应用程序然后重新打开它时调用广告(待机模式)

当用户还与IAP交互时,上面的代码正在调用广告代码,因为警告框被打开,询问用户是否想要购买

有什么建议吗

“理想情况下,我只想在应用程序首次加载时调用广告,然后在用户关闭应用程序并重新打开它时调用广告(待机模式)。”

实施以下方法:

  • 应用程序:使用选项完成启动:
我相信你很清楚,这个方法在应用程序第一次启动时触发一次。我们必须实现这个方法,因为在第一次启动时没有调用下面的方法


  • 应用程序将进入前台:
从文件中:

此方法作为从后台到活动状态转换的一部分进行调用


此方法仅在应用程序从中移动时调用。与
applicationIDBECOMEACTIVE:
方法不同,您在
applicationWillEnterForeground:
遇到问题时,会在短暂中断后调用而不是,例如,取消传入的短信或电话,或与应用内购买交互

代码 “理想情况下,我只想在应用程序首次加载时调用广告,然后在用户关闭应用程序并重新打开它时调用广告(待机模式)。”

实施以下方法:

  • 应用程序:使用选项完成启动:
我相信你很清楚,这个方法在应用程序第一次启动时触发一次。我们必须实现这个方法,因为在第一次启动时没有调用下面的方法


  • 应用程序将进入前台:
从文件中:

此方法作为从后台到活动状态转换的一部分进行调用


此方法仅在应用程序从中移动时调用。与
applicationIDBECOMEACTIVE:
方法不同,您在
applicationWillEnterForeground:
遇到问题时,会在短暂中断后调用而不是,例如,取消传入的短信或电话,或与应用内购买交互

代码 使用

对于应用程序的初始启动

对于“从后到后”功能,按如下方式记录日期和时间

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    self.timeEnteredBackground = [NSDate date];
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    NSDate* now = [NSDate date];
    double diff = [now timeIntervalSinceDate:timeEnteredBackground];
    if (diff > SOME_SECONDS) 
这样,广告只会在背景时间大于某个阈值后出现。

使用

对于应用程序的初始启动

对于“从后到后”功能,按如下方式记录日期和时间

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    self.timeEnteredBackground = [NSDate date];
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    NSDate* now = [NSDate date];
    double diff = [now timeIntervalSinceDate:timeEnteredBackground];
    if (diff > SOME_SECONDS) 

这样,广告只会在后台时间大于某个阈值后出现。

当用户按下Home按钮时,应用程序是关闭还是进入后台模式?当用户按下Home按钮时,您的应用程序是关闭还是进入后台模式?applicationWillEnterForeground方法多次调用。每当用户使用触摸按钮在后台发送应用程序,并将其带回时,此方法调用,但他只想调用应用程序第一次打开时显示的广告。应用程序上未激活。这将是多次。我不同意@dattu。这来自OP的问题“理想情况下,我只想在应用程序首次加载时调用广告,然后当用户关闭应用程序,然后重新打开它(待机模式)。”OP明确表示希望在启动时以及应用程序在后台运行后进入前台时发生。applicationWillEnterForeground方法多次调用。每当用户使用触摸按钮在后台发送应用程序,并将其带回时,此方法调用,但他只想调用应用程序第一次打开时显示的广告。应用程序上未激活。这将是多次。我不同意@dattu。这来自OP的问题“理想情况下,我只想在应用程序首次加载时,然后在用户关闭应用程序,然后重新打开它(待机模式)时调用广告。”OP明确表示,他希望在启动时以及应用程序在后台运行后进入前台时调用广告。
- (void)applicationDidEnterBackground:(UIApplication *)application
{
    self.timeEnteredBackground = [NSDate date];
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    NSDate* now = [NSDate date];
    double diff = [now timeIntervalSinceDate:timeEnteredBackground];
    if (diff > SOME_SECONDS)