如何检测用户是否在ios中观看完整视频?

时间:2016-01-26 07:27:37

标签: ios iphone video

我正在开发一款iPhone应用程序,如果用户观看了完整视频,其功能就是给予用户信任。

但我不知道如何检测用户是否观看完整视频?

1 个答案:

答案 0 :(得分:1)

没有完美的方法可以找到它。 你需要为此制定逻辑。但在每种情况下都不是100%真实。下面是我在我的一个项目中使用的逻辑。但正如我所说,它并不完美。

您需要查找视频的总持续时间。

MPMoviePlayerController *player;
float length = player.duration;

之后你需要为这段时间制作一个计时器。

NSTimer *checkForFullWatchVideoTimer = [NSTimer scheduledTimerWithTimeInterval:length
                                                                        target:self
                                                                      selector:@selector(videoDidFinish)
                                                                      userInfo:nil
                                                                       repeats:NO];

现在,如果此计时器起火,则表示用户已观看完整视频。

-(void) videoDidFinish{
    // User has watch complet video.
}

如果在该事件之前用户关闭此电影播放器​​控制器,则需要使用invalidate方法删除此计时器。

[checkForFullWatchVideoTimer invalidate];

这是我实施的方式。但是如果用户在电影播放器​​控制器中寻找计时器,则该逻辑将不起作用。您可以通过使用AVPlayer控制器实现此目的。我希望这对你有用。