Google Analytics'i kullanmanın Eşzamansız bir yöntemi olduğunu biliyorum, ancak adsense için benzer bir şey var mı? Mevcut aramalarımdan birini bulamıyorum - Kaybettiğim ortak bir numara olup olmadığını merak ediyordum?
Google Analytics'i kullanmanın Eşzamansız bir yöntemi olduğunu biliyorum, ancak adsense için benzer bir şey var mı? Mevcut aramalarımdan birini bulamıyorum - Kaybettiğim ortak bir numara olup olmadığını merak ediyordum?
Yanıtlar:
bunu yapar:
<script type="text/javascript"><!--
// dynamically Load Ads out-of-band
setTimeout((function ()
{
// placeholder for ads
var eleAds = document.createElement("ads");
// dynamic script element
var eleScript = document.createElement("script");
// remember the implementation of document.write function
w = document.write;
// override and replace with our version
document.write = (function(params)
{
// replace our placeholder with real ads
eleAds.innerHTML = params;
// put the old implementation back in place
// Aristos, add this check because called more than ones
// and ends, with this symbol.
if(params.indexOf("</ins>") != -1)
document.write=w;
});
// setup the ads script element
eleScript.setAttribute("type", "text/javascript");
eleScript.setAttribute("src", "http://pagead2.googlesyndication.com/pagead/show_ads.js");
// add the two elements, causing the ads script to run
document.body.appendChild(eleAds);
document.body.appendChild(eleScript);
}), 1);
//-->
</script>
" Google Ads Eşzamansız (eşzamansız) " adlı bu blog öğesini temelde reklam kodunun gerçekten eşzamansız yayınlanmasını sağlamak için bir yol buldum.
Evet, bir yol var - iframe kullanmak. Reklam içeriğinin, müşterilerimizin sitelerinden birine eşzamansız olarak yüklenmesini sağlıyoruz.
Önce iframe'lerde (bu siteyi oluşturduğumuzda yaygın olarak kullanılamayan) reklamlarını desteklemek için Google ile iletişim kurmanız gerekir. Daha sonra, yaptığımız şey olan AdSense iframe içeriğinin yüklenmesini tetiklemek için JavaScript'i kullanabilirsiniz.
Google'ın iframe desteğine sahip olduğunuzda çözüm gerçekten basittir.
Düzenleme: Görünüşe göre - Virtuosi Media tarafından atıfta bulunulan mesajlardan - bu uygulama Google tarafından kabul edilmeyebilir ...
Edit 2:
Bu, iframe'de kullandığımız koddur. Belki de özellikle Google'dan destek istemeden çalışıp çalışmadığını görmek için deneyin. type="text/javascript" language="JavaScript"
Daha iyi okunabilirlik için kaldırıldı :
<head runat="server">
<script src="http://partner.googleadservices.com/gampad/google_service.js">
</script>
<script>
GS_googleAddAdSenseService("ca-pub-YOURKEY");
GS_googleEnableAllServices();
</script>
<!-- For this method, it is not necessary to define the slots in advance
and we do not use the FetchAds function -->
<script>
GA_googleUseIframeRendering(true); //<%-- This indicates iframe rendering for all slots --%>
</script>
</head>
<body>
<form id="formAd" runat="server">
<div>
<script>
GA_googleFillSlotWithSize("ca-pub-YOURKEY", "AdSlotId",
iframeWidth, iframeHeight);
</script>
</div>
</form>
</body>
Tüm alanlarımızı reklam alanı kimlikleriyle dolduruyoruz, bu yüzden hiç PSA görmüyoruz.
Şu anda görebildiğim kadarıyla seçeneği sunmuyorlar. Google Hizmet Şartları tarafından izin verildiyse, en iyi seçeneğiniz bir yer tutucu öğe kullanmak ve sayfa yüklendikten sonra dinamik olarak JavaScript ile değiştirmek olurdu. Ancak, TOS'a karşı gelmiş gibi görünmektedir. Daha fazla ayrıntı için bu konuya bakın.
Bir yer tutucu kullanabilir, Adsense kodunu arayabilir ve ardından yer tutucuyu reklama geçirebilirsiniz. Sitemde böyle bir şey kullanıyorum:
if ( ad1 = document.getElementById('ad-top') )
{
ad2 = document.getElementById('banner_tmp468');
ad1.appendChild(ad2);
ad2.style.display = 'block';
}
Google, HTML kodunuzda en önemli reklam konumunuza sahip olmanız gerektiğini söylediğinde bunu bile yapmanızı önerir. Bunu başarmak istiyorsanız, daha az önemli reklam birimlerini sayfanızın üst kısmına (görsel) taşımak için JS veya CSS kullanmanız gerekir.
Ancak bildiğim kadarıyla AdSense zaten reklamları eşzamansız olarak oluşturuyor. Çok nadiren sayfa yüklemeyi engellediğini gördüm. Bu konuda emin değilim.
Google "web'i daha hızlı hale getirelim" dediği için google reklamlarını yalnızca görünür olduklarında yüklemek için yukarıdaki kodu değiştiriyorum. Kod sadece bir google yer reklamı için "olduğu gibi" çalışır, ancak daha fazla reklam için kolayca değiştirebileceğinizi düşünüyorum. Diğer kod ile farklı
div
Reklamları daha sonra yerleştirdiğimden başlayarak .
<div id="adSpot" ></div>
<script type="text/javascript">
// load the script with cache
function getScriptCcd(url, callback)
{
jQuery.ajax({
type: "GET",
url: url,
success: callback,
dataType: "script",
cache: true
});
};
// to unbind the scroll I keep the total binds of scroll
// in this example I have only one.
var cPosaScrollExo = 0;
// bind the scrool to monitor if ads are visible
function addThisScroll(RunThisFunction)
{
jQuery(window).scroll(RunThisFunction);
cPosaScrollExo++;
}
// unbind all scroll if all they not needed any more
function unBindScroll()
{
cPosaScrollExo--;
if(cPosaScrollExo <= 0)
{
cPosaScrollExo = 0;
jQuery(window).unbind('scroll');
}
}
// here I check if the element is visible to the user with a 100pixel advanced.
function isScrolledOnMatia(pioSimio)
{
var SimioPouTheloNaFenete = (jQuery(pioSimio).offset().top - 100 );
var scrollPosition = jQuery(window).height() + jQuery(window).scrollTop();
return (scrollPosition >= SimioPouTheloNaFenete );
}
// the ads informations
google_ad_client = "pub-XXXXXXXXXXXXXXX";
google_ad_slot = "XXXXX";
google_ad_width = 468;
google_ad_height = 60;
var GoogleIsVisible = false;
// we call this function on every window scroll
function CheckAdsVisibility()
{
if(!GoogleIsVisible)
{
if(isScrolledOnMatia("#adSpot"))
{
unBindScroll();
GoogleIsVisible = true;
// finally I go to show the ads
LoadAdsLater();
}
}
}
// here is a modification of the function that load the ads
function LoadAdsLater()
{
try
{
// Aristos: nice trick here
// remember the implementation of document.write function
w = document.write;
// override and replace with our version
document.write = (function(params)
{
jQuery("#adSpot").append(params);
// put the old implementation back in place when
// all writes are finish
if(params.indexOf("</ins>") != -1)
document.write=w;
});
// loading script
getScriptCcd("http://pagead2.googlesyndication.com/pagead/show_ads.js");
}
catch(e)
{
// check for errors on debug
}
}
// and here we setup the hole thin
jQuery(document).ready(function()
{
// check if all ready is visible !
CheckAdsVisibility();
// bind the scroll
addThisScroll(CheckAdsVisibility);
});
</script>
Ben test ve tüm tarayıcılar ile çalışıyorum, ben sadece tarayıcılar zor önlemek daha güvenli olmak için jQuery kullanın.
ps, ben google artı yüklemek için benzer kod var, ve facebook ve dışarı ile yüklenen tüm bu öğeleri çoğu zaman.
Bunu yapmaya gerek yok. Google AdSense'in show_ads.js kodu artık biraz eşzamansız. Kanlı ayrıntılar hakkında daha fazla bilgiyi resmi blog'da okuyabilirsiniz:
Web'iniz, Yarım Saniye Yakında
Reklam kodunu değiştirmeye gerek yoktur.
document.write function
ve daha sonra geri yükleme şekli çok ilginç . Tek dezavantajı, Google Adsense Hizmet Şartları'nın bu tür şeyler yapmasına izin verip vermediğini merak ediyorum.