Tenho um site de visualização que não está 100% porque o YouTube não está mais registrando as visualizações. Ao clicar em assistir, o player do vídeo é aberto no próprio site e depois de alguns segundos de visualização, o usuário ganha como recompensa uma certa quantidade de moedas (coins).
Abaixo, meu código:
<divclass="contentbox"><divclass="head">Youtube</div><divclass="contentinside"><?php
foreach($_GET as $key => $value){
$gets[$key]= filter($value);}if(isset($_GET['a'])){if($_GET['a']=="skip"){
$sit1 = mysql_query("SELECT * FROM `youtube` WHERE `id`='{$gets['id']}'");
$sit = mysql_num_rows($sit1);if($sit >0){
mysql_query("INSERT INTO `watched` (user_id, site_id) VALUES('{$data->id}','{$gets['id']}')");}}}
$mysite = mysql_query("SELECT * FROM `youtube` WHERE `active` = '0' AND `banned` = '0' AND (SELECT `coins` FROM `users` WHERE `id` = `youtube`.`user` ) >= `cpc` AND `id` NOT IN (SELECT `site_id` FROM `watched` WHERE `user_id`='{$data->id}') ORDER BY `cpc` DESC LIMIT 0, 1");
$site2 = mysql_fetch_object($mysite);
$ext = mysql_num_rows($mysite);if($ext >0){?><?php
// esse código foi movido para antes da tag <script>, porque a url é usada no início dele
$url = explode('watch?v=', $site2->url);
$url = $url[1];?><script>// Essas duas variáveis são novasvar videoId ="<?php echo $url;?>";var player =null;var playing =false;var fullyPlayed =false;var interval ='';var played =0;var length =40;functionYouTubePlaying(){
played +=0.1;
roundedPlayed =Math.ceil(played);
document.getElementById("played").innerHTML =Math.min(roundedPlayed,length);if(roundedPlayed == length){if(fullyPlayed ==false){YouTubePlayed();
fullyPlayed =true;}}}functionYouTubePlayed(){
document.getElementById("Hint").style.display='hidden';
$("#Hint").html('Please Wait...');var response ='<? echo $site2->id;?>';var cpc ='<? echo $site2->cpc - 1;?>';var userid ="<? echo $data->id;?>";
$.ajax({
type:"POST",
url:"plugins/yt/complete.php",
data:"site="+ response +"&userid="+ userid,
success:function(msg){var coins = $("#coins").html().replace(" Coins","");
coins = parseInt(coins)+ parseInt(cpc);
$("#coins").html(coins +" Coins");
$("#Hint").html('You have gained '+ cpc +' coins!');}});
document.getElementById(response).style.visibility ="visible";}function onYouTubeIframeAPIReady(){// aqui está usando a "nova" API... o funcionamento é basicamente// o mesmo, mas a forma de usar muda um pouco
player =new YT.Player("player",{
height:"356",
width:"625",
videoId: videoId,
events:{
onReady:function(){
player.playVideo();},
onStateChange: onPlayerStateChange
}});}// o nome do parâmetro foi alteradofunction onPlayerStateChange(playerInfo){// a linha abaixo é novavar newState = playerInfo.data;if(newState ==1){
playing =true;
interval = window.setInterval('YouTubePlaying()',100);}elseif(newState ==0){if(playing) window.clearInterval(interval);
playing =false;
ytplayer.stopVideo();
ytplayer.playVideo();}else{if(playing) window.clearInterval(interval);
playing =false;}};function refreshpage(){
window.location.reload();}// as linhas abaixo também são novasvar tag = document.createElement("script");
tag.src ="https://www.youtube.com/iframe_api";var firstScriptTag = document.getElementsByTagName("script")[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);</script><divid="Hint"class="hint"></div><center>
Assista este vídeo durante 40 segundos e depois você vai receber <? echo $site2->cpc;?> coins<br/><br/><divid="player">Você precisa Flash player 8+ e JavaScript habilitado para ver este vídeo.</div><scripttype="text/javascript">var params ={ allowScriptAccess:"always"};var atts ={ id:"myytplayer"};new YT.Player("http://www.youtube.com/v/<? echo $url;?>?enablejsapi=0&playerapiid=ytplayer","ytPlayer","625","356","8",null,null, params, atts);</script><br/><br/>Você deve assistir <spanid="played">0</span>/40 segundos (<a href="xchange.php?p=yt&a=skip&id=<? echo $site2->id;?>" style="color:blue"> Pular este vídeo </a>) (<a href="report.php?id=<? echo $site2->id;?>" target="_blank"> Reportar Problema e ganhar 10 coins </a>)
<div id="<? echo $site2->id;?>" style="visibility:hidden"><ahref="javascript:refreshpage()">Assistir ao Próximo Vídeo</a></div></center><?php
}else{ echo '<div class="error"> Não há mais vídeos no momento. Por favor, tente de novo mais tarde.</div>';}?></div></div>
Já descobri que outros sites com o Followlike e o AddMeFast estão abrindo os vídeos em uma nova janela. Isso faz o YouTube contabilizar a visualização.
Se abrir dentro do site ou blog, o YouTube não contabiliza as visualizações pois utiliza o IP do site. Nesse caso, mesmo que no site um vídeo tenha 1 milhão de visualizações, só será contabilizado apenas 1 visualização.
Site: tuberplay.tk
Usuário: convidado
Senha:123456
Para resolver isso, preciso que ao clicar em assistir o vídeo seja aberto uma nova janela como se tivesse assistindo no player do YouTube.
Eu não entendo nada sobre PHP. Se alguém puder ajudar, agradeço
Pergunta
Durval Ferreira
Tenho um site de visualização que não está 100% porque o YouTube não está mais registrando as visualizações. Ao clicar em assistir, o player do vídeo é aberto no próprio site e depois de alguns segundos de visualização, o usuário ganha como recompensa uma certa quantidade de moedas (coins).
Abaixo, meu código:
Já descobri que outros sites com o Followlike e o AddMeFast estão abrindo os vídeos em uma nova janela. Isso faz o YouTube contabilizar a visualização.
Se abrir dentro do site ou blog, o YouTube não contabiliza as visualizações pois utiliza o IP do site. Nesse caso, mesmo que no site um vídeo tenha 1 milhão de visualizações, só será contabilizado apenas 1 visualização.
Site: tuberplay.tk
Usuário: convidado
Senha:123456
Para resolver isso, preciso que ao clicar em assistir o vídeo seja aberto uma nova janela como se tivesse assistindo no player do YouTube.
Eu não entendo nada sobre PHP. Se alguém puder ajudar, agradeço
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.