Coincoin Posté 20 Février 2006 Posté 20 Février 2006 Bonjour à tous, Je souhaite gérer une campagne limitée à 3 affichages par jours et par visiteurs avec phpadsnew. Lorsque j'utilise les options de limitation, j'ai les choix suivants : Une fois affichée, l'utilisateur ne devra plus avoir cette bannière pendant [durée] et Cette bannière ne sera pas vue par un utilisateur plus de [x] fois J'utilise donc la seconde option en limitant à 3 affichages. Le problème est q'un internaute ne verra plus jamais la campagne après 3 affichages. Comment gérer ce capping pour une durée de 24h (de 0h à minuit) ?
Dan Posté 20 Février 2006 Posté 20 Février 2006 Il a déjà été proposé une modification de source pour remplacer la durée du cookie (d'origine un an) par une durée plus courte (un jour) Voir ce post: http://www.webmaster-hub.com/index.php?showtopic=12305
Coincoin Posté 20 Février 2006 Auteur Posté 20 Février 2006 Merci de ta réponse. J'avais déjà vu ce post mais dans la dans version 2.0.7 de phpadsnews, la ligne dont tu parles n'est pas présente. De plus, je souhaiterais gérer le capping sur une journée complète et non en fonction de l'heure de l'affichage des bannières par un internautes. Par exemple, si un internaute visualise 3 publicités à 23h00 et qu'il revient 2 heures plus tard, il devrait à nouveau voir 3 nouvelles publicités.
Dan Posté 20 Février 2006 Posté 20 Février 2006 Il suffit de modifier le code entre les lignes 54 et 67 de ce même fichier. C'est lui qui gère le cookie d'affichage et sa durée. Par défaut la durée est mise à 1/2 journée (43200 secondes, lignes 65 et 66), tu n'as que cela à changer en remplaçant le 43200 par le nombre de secondes jusqu'à minuit.
Dan Posté 20 Février 2006 Posté 20 Février 2006 Pour info, le nombre de secondes jusqu'à minuit se définit comme ceci: $seconds_to_midnight = mktime(0,0,0) + 86400 - time(); (Heure d'aujourd'hui à 00:00:00, plus 86400 pour obtenir demain, moins l'heure actuelle) Il suffit d'utiliser cette valeur comme durée de validité du cookie, c'est à dire à la mettre en lieu et place de la constante 43200 Dan
Coincoin Posté 20 Février 2006 Auteur Posté 20 Février 2006 (modifié) La section de suivante n'a apparemment aucune incidence sur le capping : // Send block cookies if ($phpAds_config['block_adviews'] > 0) phpAds_setCookie ("phpAds_blockView[".$bannerid."]", time() + $phpAds_config['block_adviews'], time() + $phpAds_config['block_adviews'] + 43200); } En effet, si je remplace 43200 par 10 par exemple, une campagne cappée devrait alors être réinitialisée toutes les dix secondes or ce n'est pas le cas, même en effaçant les cookies, ma campagne cappée à 3 s'affiche 3 fois puis plus du tout après... Modifié 20 Février 2006 par Coincoin
Dan Posté 20 Février 2006 Posté 20 Février 2006 Désolé, quand on regarde en faisant 36 choses en même temps, on se trompe. Le code est là: // Set capping if ($row['capping'] != '' && $row['capping'] != '0') phpAds_setCookie ("phpAds_newCap[".md5(uniqid('', true))."]", $row['bannerid'], time() + 31536000); dans le fichier libraries/lib-log.inc.php C'est le 31536000 qui représente un an en secondes qu'il faut remplacer .... Il y a cette même valeur dans la définition de la fonction phpAds_unpackCookies() fichier libraries/lib-io.inc.php Dan
Coincoin Posté 21 Février 2006 Auteur Posté 21 Février 2006 Merci à toi Malheureusement, après de nombreux tests, cela ne fonctionne pas, la durée du capping semble rester indéfinie... As-tu apporté cette modif pour la gestion du capping sur webmaster-hub ?
Dan Posté 21 Février 2006 Posté 21 Février 2006 J'avais apporté une modification dans la version précédente (le premier code que je t'ai renseigné) et cela fonctionnait bien; Mais depuis la version 2.0.7, je ne l'ai pas remis en activité. Faudrait que je teste cela.... Dan
Coincoin Posté 21 Février 2006 Auteur Posté 21 Février 2006 (modifié) En tout cas, merci pour tes réponses rapides. Tiens moi au courant si tu trouves Modifié 21 Février 2006 par Coincoin
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant