文档与支持 > iOS SDK曝光相关文档

注意: 同一篇新闻曝光可以多次上传,后台会过滤,建议为了节省流量,app开发者应尽量避免同一篇新闻的曝光事件多次上传

trackNewsExposure接口会收集待曝光的新闻,并每次间隔15s上报一次,用户只需合理调用该接口即可

曝光时机:

1、普通新闻列表的曝光(新闻列表暴露在当前屏幕0.5s以上调用,若是曝光时间太短,影响推荐数据)

时机1:cell由无到有

(1)cell开始展示的时候记录cell的出现时间

 cell.cellVisibleTime = [[NSDate date] timeIntervalSince1970] * 1000;

(2)在cell结束展示的时候上传曝光事件

- (void)tableView:(UITableView *)tableView didEndDisplayingCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
        NSTimeInterval currentTime = [[NSDate date] timeIntervalSince1970] * 1000;
        if (cell.cellVisibleTime && ![_exposureInfos containsObject:cell.newsInfo.infoId]) {//一次运行过程中,新闻曝光一次即可
        if (currentTime - cell.cellVisibleTime > 500) { //判断是否大于500ms
            [[NFTracker sharedTracker] trackNewsExposure:cell.newsInfo]; //进行曝光
            [_exposureInfos addObject:cell.newsInfo.infoId]; //同时记录下当前的曝光新闻id
        }
    }
}

时机2:停留在当前页面的cell未滚动,即未调用didEndDisplayingCell时的曝光 构造函数:

- (void)trackCellExposure {
        //获取当前页面的可视的cells,并进行曝光
        NSArray *cells = [_tableView visibleCells];
        for (UITableViewCell *cell in cells) {
            if ([cell isKindOfClass:[NFNewsListBaseCell class]] && !(((NFNewsListBaseCell *)cell).newsInfo.ad)) {
                [[NFTracker sharedTracker] trackNewsExposure:cell.newsInfo];
                [_exposureInfos addObject:cell.newsInfo.infoId];
            }
        }
   }

该函数调用时机需用户自行调用:

(1)应用退到后台,曝光当前频道页面上的新闻 (2)应用杀死时,曝光当前频道页面上的新闻 (3)切换频道时,上报上一个频道的页面上的新闻 (4)切换底部tab时,上报当前频道页面上的新闻 (5)一些其他因素引起的新闻列表页面消失,可以在viewWillDisappear中调用;也可以用户自定义,比如点击进入新闻详情页面等因素引起的页面消失等情况,具体用户可根据具体的app设计实现曝光数据的上传

2、轮播图新闻列表的曝光 只需要在轮播图轮播展现的时候,上报曝光

- (void)bannerDidScroll:(NFTopicBannerCell *)cell info:(NFNewsInfo *)newsInfo {
    NSArray *cells = [_tableView visibleCells];//保证轮播图的cell在当前页面上
    if ([cells containsObject:cell] && ![_exposureInfos containsObject:newsInfo.infoId] && (newsInfo.infoId)) {
        [[NFTracker sharedTracker] trackNewsExposure:newsInfo];
        [_exposureInfos addObject:newsInfo.infoId];
    }
}

3、相关推荐新闻列表的曝光 用户根据自己的需求,在相关推荐新闻展示的时候进行相应的曝光,曝光规则同上