我拥有一个激励网站,用户可以完成优惠并获得积分购买物品。我正在寻找一种实现视频的方式。用户一直观看视频并获得一定数量的点数给他们的帐户。该网站是在PHP中,并且我的数据库中有一个用户表,用于跟踪用户点。跟踪用户是否观看了视频并奖励他们。
任何想法如何检查用户是否观看过视频?
谢谢!
我拥有一个激励网站,用户可以完成优惠并获得积分购买物品。我正在寻找一种实现视频的方式。用户一直观看视频并获得一定数量的点数给他们的帐户。该网站是在PHP中,并且我的数据库中有一个用户表,用于跟踪用户点。跟踪用户是否观看了视频并奖励他们。
任何想法如何检查用户是否观看过视频?
谢谢!
如果您只想捕捉Youtube嵌入式播放器中的事件,请查阅关于Subscribing to events的JS API文档。还有一个你可以听的list of events。
“结束”事件应该是你正在寻找的。
<!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>
你可以竭尽全力,试图防止作弊,但你还是不会把每一个骗子在那里,因为它总是能够欺骗客户端软件。
实时流式传输视频(您可以控制流式传输带宽,因此无法一次下载整个视频),例如从服务器端脚本中获取视频,并在整个视频流式传输时记录视图。
虽然它总是会有可能作弊。用户可以编写一个脚本,只是假装成一个访问者并在后台“查看”该视频。您可以尝试通过使用某种加密或模糊处理来防止这种情况发生,但总是有可能避开,因为用户可以按照他们认为合适的方式控制客户端。
用户可能仍然只是将其扬声器静音并以最小化的窗口播放视频。尽管maye可以利用JavaScript中的blur
事件来暂停视频(在这种情况下,还向服务器发送信号并暂停流式传输),但无法完美控制这一点。尽管如此,他们仍然可以离开电脑(但这可能并不常见,您的付费客户肯定会知道并已经考虑过这种风险)。
可以说它是一个YouTube视频。我所关心的只是如果他们在视频的开头观看广告,他们是否真的关注内容是无关紧要的。有什么方法检查用户是否点击了嵌入式Flash播放器? – Deekor
您可以使用EventListener。您捕捉视频开始的时间。然后,您可以在EventListener“已结束”功能中再次捕获它,然后计算观看时间,避免跳过视频结束。如果视频时间和观看时间相同,您可以发布到您的PHP,他看过那部电影。
至少和减去一定数量可能是最好的;确切的时间可能很难实现。 –
你问他们是否看过视频?或观看整个视频? –
我认为你可以期望的最好的是用户播放了整个视频 - 谁知道他们是否真的坐在那里看着它。 –
只需在不同的时间向视频添加一些非常简单的事实,并询问用户。如果他知道答案,他必须观看视频或查看事实。为了防止后者,你必须动态生成视频。 – Bergi