Rafraîchir un Div qui a une annonce Google à l'intérieur
j'ai un <div>
qui détient une annonce de google. Mon site web est principalement AJAX et il n'y a pas besoin d'un rafraîchissement du navigateur. Cela signifie que mes annonces ne se rafraîchira pas non plus, ce qui n'est pas idéal, un utilisateur regardant une annonce toute la journée.
donc je voulais un moyen de rafraîchir un <div>
particulier sur une page. J'ai trouvé beaucoup de solutions mais elles n'ont pas fonctionné. Par exemple, en utilisant la fonction html de JQuery:
$("#ads").html("google ad script here");
cela a réussi à rafraîchir toute la page Non idée de comment. Je peux également faire une demande AJAX à une page HTML qui contient la publicité Google, mais je devine qu'il aura le même effet que la tentative ci-dessus.
Je ne veux pas utiliser iFrames.
y a-t-il une autre option qui m'est offerte? Mon cerveau de pois ne peut plus penser. :)
EDIT:
c'est autorisé car je ne lancerai le rafraîchissement que lorsqu'un utilisateur clique sur un lien.
A le premier exemple est Yahoo Mail - leur nouvelle boîte aux lettres AJAX utilise cette même méthode, quand un utilisateur clique sur un lien puis une nouvelle annonce est affichée.
6 réponses
comme l'indiquent les deux autres réponses, rafraîchir vos annonces AdSense n'est pas autorisé automatiquement. Je comprends que vous avez seulement l'intention de rafraîchir l'annonce en réponse à l'action de l'utilisateur, mais il toujours n'est pas autorisé, même si il devrait être!
rappelez-vous, la raison pour laquelle vous voulez mettre à jour les annonces est de sorte que vous pouvez montrer de nouvelles. Afficher une annonce s'appelle une "impression."Lorsque vous utilisez le code pour rafraîchir les annonces, vous générez automatiquement des impressions publicitaires.
le règlement du Programme AdSense de l'état (l'emphase est mienne):
clics et Impressions invalides
Les clicssur les annonces Google doivent résulter d'un véritable intérêt de l'utilisateur. toute méthode qui génère artificiellement des clics ou des impressions sur vos annonces Google est strictement interdite. ces méthodes interdites comprennent, mais ne sont pas limité aux clics ou impressions manuels répétés, à l'aide de robots, d'outils automatisés de génération de clics et d'impressions, de services tiers qui génèrent des clics ou des impressions tels que les programmes pay-to-click, pay-to-surf, autosurf et click-exchange, ou tout logiciel trompeur.
rafraîchir vos annonces est une violation de la lettre de la règle contre générer des impressions. Cela dit, je pense que toute personne raisonnable serait d'accord que rafraîchissant annonces dans une application AJAX en réponse au comportement de l'utilisateur (par exemple en réponse à un clic) n'est pas une violation de la esprit de la règle.
par exemple, imaginez réécrire votre application entière pour arrêter D'utiliser AJAX. C'est clairement une expérience pire pour vos utilisateurs (c'est plus lent, la page clignote à chaque clic, la page ne peut pas dynamiquement mettre à jour en arrière-plan), mais, par un détail technique, ce n'est pas une violation du programme AdSense Politique.
clairement Google signifiait pour interdire le remplacement automatique des Annonces Toutes les cinq secondes (création d'un" diaporama " des annonces). Google a également voulu interdire de rendre votre site plus attrayant pour les annonceurs en paraissant avoir plus de visites que vous avez réellement. Je suis sûr qu'ils n'ont pas l'intention pour vous empêcher de concevoir un site Web AJAX haute performance... mais malheureusement parfois les règles ont des conséquences involontaires.
bien sûr, comme vous l'avez souligné à l'origine, vous pouvez toujours rafraîchir vos annonces si vous les intégrez dans une iframe et modifier son emplacement. ( Voici comment utiliser iframes dans une application AJAX pour rafraîchir AdSense .)
vous avez rejeté iframes dans votre question initiale, peut-être parce que vous saviez que l'utilisation d'iframes violerait les politiques de Google... mais si vous persistez à enfreindre les règles, vous peut ainsi briser tout le chemin! ;- )
en fin de compte, je pense que vous trouverez que générer des impressions de cette façon ne vaut pas le risque: vous "rafraîchir" les annonces seulement pour constater que Google vous montre exactement les mêmes annonces qu'avant.
le nouveau Google DFP 'tags' permettent spécifiquement 'ad refreshing for AJAX'
actualiser
pubService.refresh(fentes) Actualise le tableau spécifié de fentes sur la page avec de nouvelles annonces.
paramètres:
slots de tableau-tableau optionnel de slots pour rafraîchir. Si non fourni, tous les espaces publicitaires sont actualisées. Exemple:
var slot1 = googletag.defineUnit("/1234567/classement", [728, 90], "div-1").addService (googletag.pubads ());
var slot2 = googletag.defineUnit("/1234567/gratte-ciel", [160, 600], "div-2").addService (googletag.pubads ());
/ / L'appel au rafraîchissement récupère une nouvelle annonce pour chaque slot
googletag.pubads ().rafraîchir ([slot1, slot2]); http://support.google.com/dfp_sb/bin/answer.py?hl=en&answer=2372721&expand=pubservice_details#refresh
je sais que je suis en retard d'un an et demi à la fête, mais... Il est possible que le problème avec les annonces est qu'ils utilisent document.write
(serveurs publicitaires sont notoires pour cela, mais je ne sais pas si AdSense l'utilise ou non.)
Si c'est le cas, j'ai une bibliothèque qui peut aider: writeCapture.js . Exemple:
$('#ads').writeCapture().html('<script src="whatever-your-adsense-code-is"> </script>');
qui utilise jQuery, mais il existe aussi une version autonome.
comme pour si c'est une violation de la TOS... Gmail change les annonces de façon dynamique, donc ça ne peut pas être si mauvais. Tant que le contenu change aussi, je pense que c'est OK.
il suffit d'inclure les annonces dans les pages que vous chargez via ajax. Il ne peut y avoir aucun mal à charger les annonces à partir d'un fichier via ajax sur une base par page.
si je charge Lire.inc qui a un peu de contenu et une annonce Cliquez sur quelque chose sur la page et il vous faut pour faire.inc qui a contenu une annonce.
Qu'est-ce qui ne va pas avec ça? C'est organique. Une charge avec l'annonce comme une partie du contenu.
C'est la même chose que de cliquer sur un lien.
Je n'ai pas encore essayé, mais cela semble certainement logique.
Il n'est pas permis (selon AdSense termes) pour essayer de recharger des annonces en fonction de la page sur le cycle de vie. En outre, il est à peine possible (grâce à l'architecture de la plate-forme).
Il n'est pas permis. mais je pense que tu peux utiliser une iframe pour ça. J'ai vu des bons tutoriels. J'ai essayé de le faire en ajax, j'ai la restauration de mes modifications pour les Adsense TOS