第十五篇、程序返回前台的时间差(常用于显示广告)

本文介绍了一种在iOS应用中实现在应用从后台返回到前台时判断是否展示广告的方法。通过记录应用进入后台的时间并在回到前台时计算停留时长来决定是否加载广告视图。

 

如果app在后台待机太久,再次进来前台的时候也应该展示广告,所以在applicationDidEnterBackground的时候应该把时间存起来:

 //程序切入后台,这里要注意GMT时间
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    NSTimeZone* sourceTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
    [formatter setTimeZone:sourceTimeZone];
    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    _lastTimeEnterBackGroundStr = [formatter stringFromDate:[NSDate date]];//当前时间

在applicationWillEnterForeground的时候对比时间差,判断是否显示:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        NSTimeZone* sourceTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
        [formatter setTimeZone:sourceTimeZone];
        [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
        NSDate * lastDate = [formatter dateFromString:_lastTimeEnterBackGroundStr];
        NSDate * now = [formatter dateFromString:[formatter stringFromDate:[NSDate date]]];
        NSTimeInterval IntervalTime = [now timeIntervalSince1970]*1 - [lastDate timeIntervalSince1970]*1;
        if (IntervalTime>(2*60*60)) {
            [_mainController loadAdvertisedView];
        }

 

转载于:https://www.cnblogs.com/HJQ2016/p/5814771.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值