我的应用程序中目前有多个选项卡。我想要做的是使用 Flurry Analytics 记录用户在所选选项卡中花费的时间。
通常我会在调用 viewDidAppear
时开始录制,并在调用 viewDidDisappear
方法时停止录制。
查看DidAppear
[Flurry logEvent:@"Tab_News" withParameters:nil timed:YES];
查看DidDisappear
[Flurry endTimedEvent:@"Tab_News" withParameters:nil];
我的问题是,当视频在选项卡中播放时,即使用户没有实际离开选项卡,也会调用 viewDidDisappear
和 viewDidAppear
方法。
请帮助我提供有关如何规避此问题的建议。
最佳答案
创建一个名为 videoPlaying
的 BOOL
来跟踪视频是否正在播放。当您播放视频时,将其设置为YES
。在 viewDidDisappear
中,仅 endTimedEvent
if (videoPlaying == NO)
这同样适用于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 - 使用 Flurry Analytics 记录在选项卡中花费的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17728304/