Há algum tempo, escrevi aqui sobre uma forma de ter anúncios aleatórios; isto é, numa determinada posição, mostrar um de vários anúncios, aleatoriamente. Utilizando os canais do AdSense, é possível ver quais anúncios (formatos, cores, etc.) funcionam melhor nessa posição.
Mas hoje vou levar-vos mais longe.
Que tal escolher anúncios aleatórios entre duas posições? Por exemplo, se quiseres ver se um certo anúncio funciona melhor no topo ou no fundo da página. Como fazer para mostrar um, e apenas um deles?
Fazer o primeiro anúncio aparecer 50% das vezes é fácil. O problema, aqui, é que o segundo anúncio precisa de ter uma forma de saber se o primeiro apareceu ou não.
Há, obviamente, várias formas de o fazer, a maioria das quais implica usar algum tipo de variável para guardar (numa sessão, num cookie, etc.) se o primeiro anúncio foi mostrado. Mas, na minha opinião, há um método muito melhor, que tem a vantagem de ser incrivelmente simples, e não obrigar a guardar seja o que for.
É simples: usar o relógio.
Se a hora actual é par, mostra-se um dos anúncios. Se é ímpar, mostra-se o outro. Cada um deles “sabe” se deve aparecer ou não, de acordo com a hora.
Parece complicado? Não é. Por exemplo, utilizando PHP, na primeira posição põe-se:
function impar($number) { return($number & 1); }
$x = date('G');
if (impar($x)) include "adsense-top.php";
E na segunda posição:
function impar($number) { return($number & 1); }
$x = date('G');
if (!impar($x)) include "adsense-bottom.php";
Os ficheiros “adsense-top.php” e “adsense-bottom.php” podem ser, simplesmente, código AdSense para um anúncio, ou podem eles próprios dividir-se, usando a minha dica original.
Já agora, eu uso horas em vez de minutos (o que daria uma granularidade muito maior) porque quero evitar, ao máximo, a quase ínfima possibilidade de o valor determinante (neste caso, a hora) mudar nos milisegundos entre os dois scripts. Utilizando a hora, isso quase nunca deverá acontecer (nunca me aconteceu, até hoje), se bem que também não seria o fim do mundo.






