跟踪用户是否观看过视频并奖励他们。

时间:2011-12-12 18:41:05

标签: php javascript video

我拥有一个激励网站,用户可以在其中完成优惠并获得购买商品的积分。我正在寻找一种方法来实现视频。用户一直观看视频并获得一定数量的积分到他们的帐户。该站点使用PHP,并且我的数据库中有一个用户表,用于跟踪用户点。

知道如何检查用户是否观看了视频?

谢谢!

4 个答案:

答案 0 :(得分:4)

如果您只想捕获Youtube嵌入式播放器中的事件,请查看有关Subscribing to events的JS API文档。还有一个list of events你可以听。

答案 1 :(得分:2)

你可以尽力避免作弊,但你仍然不会抓住每一个最后的骗子,因为它总是可以欺骗客户端软件。

实时流式传输视频(您可以控制流式带宽,以便无法一次性下载整个视频),例如从服务器端脚本中流式传输,并在流式传输整个视频时记下视图。

但是,总是有可能作弊。用户可以编写一个假装成访问者的脚本并在后台“查看”视频。您可以尝试通过某种加密或混淆来防止这种情况,但总是可以规避,因为用户可以根据自己的意愿控制客户端。

用户可能仍然只是将扬声器静音并在最小化的窗口中播放视频。你无法完美地控制它,虽然你可以利用JavaScript中的blur事件来暂停视频(在这种情况下,也可以向服务器发送信号并暂停流式传输)。他们仍然可以离开计算机(但这可能不常见,而且您的付费客户肯定会知道并考虑到这种风险)。

答案 2 :(得分:1)

您可以使用EventListener。您可以捕获视频启动的时间。然后,您可以在EventListener“已结束”功能中再次捕获它,之后您将计算观看时间,而不是跳到视频结束。如果视频时间和观看时间相同,您可以在php上发布他观看过的电影。

答案 3 :(得分:0)

“结束”事件应该是您正在寻找的事情。

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <link type="text/css" href="style.css" rel="stylesheet"/>
    </head>
    <body>

        <video id="movie" src="movie.mov" autoplay="true"></video>

        <script>

            document.getElementById("movie").addEventListener("ended", function(){alert("all done")}, true);

            </script>
    </body>
</html>