[英]Recording time spend in a tab using Flurry Analytics
我的应用程序中目前有多个标签。 我想做的是使用Flurry Analytics在所选标签中记录用户花费的时间。 通常,我会在调用viewDidAppear
时开始记录,而在viewDidDisappear
方法时停止记录。
viewDidAppear
[Flurry logEvent:@"Tab_News" withParameters:nil timed:YES];
viewDidDisappear
[Flurry endTimedEvent:@"Tab_News" withParameters:nil];
我的问题是,当在选项卡中播放视频时,即使用户没有实际离开选项卡,也会viewDidDisappear
和viewDidAppear
方法。
请帮助我提出有关如何规避此问题的建议。
创建一个名为videoPlaying
的BOOL
来跟踪是否正在播放视频。 播放视频时,将其设置为YES
。 if (videoPlaying == NO)
在viewDidDisappear
仅显示endTimedEvent
这同样适用于viewDidAppear
。 如果videoPlaying == YES
请不要记录logEvent
,然后设置videoPlaying = NO
。
像这样:
- (void)viewDidLoad
{
_videoPlaying = NO;
}
- (void)viewDidAppear
{
if (_videoPlaying == YES) {
_videoPlaying = NO;
} else {
[Flurry logEvent:@"Tab_News" withParameters:nil timed:YES];
}
}
- (void)viewDidDisappear
{
if (_videoPlaying == NO) {
[Flurry endTimedEvent:@"Tab_News" withParameters:nil];
}
}
- (void)playVideo
{
_videoPlaying = YES;
// Play video
}
如果您以iOS 6为目标,则可以执行以下操作:
- (void)viewDidLoad {
[super viewDidLoad];
[Flurry logEvent:@"Tab_News" withParameters:nil timed:YES];
}
- (void)dealloc {
[Flurry endTimedEvent:@"Tab_News" withParameters:nil];
}
如果您在加载此ViewController时立即提出,则此方法有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.