আমি জানি যে গুগল অ্যানালিটিক্স ব্যবহারের একটি অ্যাসিনক্রোনাস পদ্ধতি রয়েছে তবে অ্যাডসেন্সের জন্য কি একই রকম কিছু রয়েছে? আমার বর্তমান অনুসন্ধানগুলি থেকে আমি কোনওটি খুঁজে পাচ্ছি না - আমি ভাবছিলাম যে এখানে একটি সাধারণ কৌশল মিস করছি কিনা?
আমি জানি যে গুগল অ্যানালিটিক্স ব্যবহারের একটি অ্যাসিনক্রোনাস পদ্ধতি রয়েছে তবে অ্যাডসেন্সের জন্য কি একই রকম কিছু রয়েছে? আমার বর্তমান অনুসন্ধানগুলি থেকে আমি কোনওটি খুঁজে পাচ্ছি না - আমি ভাবছিলাম যে এখানে একটি সাধারণ কৌশল মিস করছি কিনা?
উত্তর:
এটি এটি করে:
<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>
এই ব্লগ আইটেমটি দেখুন " গুগল অ্যাডসেস অ্যাসিঙ্ক (অ্যাসিনক্রোনাস) " মূলত আমি অ্যাড কোডটি সত্যিকারের অ্যাসিঙ্ক চালানোর উপায় খুঁজে পেয়েছি ..
হ্যাঁ, একটি উপায় আছে - iframes ব্যবহার করে। আমরা আমাদের গ্রাহকের যে কোনও একটি সাইটে বিজ্ঞাপন সামগ্রীর অ্যাসক্রোনাস লোড করি do
আপনাকে প্রথমে গুগলের সাথে আইফ্রেমে বিজ্ঞাপনগুলির সমর্থনের জন্য যোগাযোগ করতে হবে (যা আমরা সেই সাইটটি তৈরি করার পরে ফিরে পাওয়া যায়নি)। তারপরে আপনি অ্যাডসেন্স ইফ্রেমে সামগ্রীটি লোড করতে ট্রিগার করতে জাভাস্ক্রিপ্ট ব্যবহার করতে পারেন, যা আমরা করি।
গুগলের আইফ্রেমে সহায়তা পাওয়ার পরে সমাধানটি সত্যিই সরাসরি forward
সম্পাদনা: দেখে মনে হচ্ছে - ভার্চুসি মিডিয়া দ্বারা রেফার করা পোস্টগুলি থেকে - এই অনুশীলনটি গুগল স্বাগত জানাতে পারে না ...
সম্পাদনা 2:
এটি আমরা কোডটি ইফ্রেমে ব্যবহার করি। এটি কার্যকর হয় কিনা তা দেখার চেষ্টা করুন, এমনকি গুগলের কাছে বিশেষভাবে সমর্থন না চেয়েও। type="text/javascript" language="JavaScript"
উন্নততর যোগ্যতার জন্য সরানো হয়েছে:
<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>
আমরা আমাদের সমস্ত স্লট অ্যাডস্লট আইডির মাধ্যমে পূরণ করি, তাই আমরা কোনও পিএসএ দেখছি না।
তারা বর্তমানে অপশনটি দেয় না, যতদূর আমি দেখতে পাচ্ছি। আপনার সেরা বিকল্পটি, যদি এটি গুগল টিওএস দ্বারা অনুমোদিত হয় তবে পৃষ্ঠাটি লোড হওয়ার পরে এটি কোনও স্থানধারক উপাদান ব্যবহার করতে এবং এটি জাভাস্ক্রিপ্টের সাথে গতিশীলভাবে প্রতিস্থাপন করতে হবে। যাইহোক, এটি টিওএসের বিরুদ্ধে হতে পারে বলে মনে হচ্ছে। আরও বিশদ জন্য এই থ্রেড দেখুন ।
আপনি কোনও স্থানধারক ব্যবহার করতে পারেন, অ্যাডসেন্স কোডটি কল করতে পারেন এবং তারপরে বিজ্ঞাপনের সাথে স্থানধারকটি স্যুইচ করতে পারেন। আমি আমার সাইটে এরকম কিছু ব্যবহার করছি:
if ( ad1 = document.getElementById('ad-top') )
{
ad2 = document.getElementById('banner_tmp468');
ad1.appendChild(ad2);
ad2.style.display = 'block';
}
গুগল এমনকি এটি করার পরামর্শ দেয় যখন তারা বলে যে আপনার HTML কোডে আপনার সবচেয়ে গুরুত্বপূর্ণ বিজ্ঞাপন অবস্থানটি থাকা উচিত। আপনি যদি এটি সম্পাদন করতে চান তবে আপনাকে আপনার পৃষ্ঠার শীর্ষে (ভিজ্যুয়াল) শীর্ষে কম গুরুত্বপূর্ণ বিজ্ঞাপন ইউনিট স্থানান্তর করতে জেএস বা সিএসএস ব্যবহার করতে হবে।
তবে আমি যতদূর জানি অ্যাডসেন্স ইতিমধ্যে সংযোজনীয়ভাবে বিজ্ঞাপনগুলি সরবরাহ করে। আমি খুব কমই এটি পৃষ্ঠা লোডিং ব্লক করতে দেখেছি। যদিও এই সম্পর্কে নিশ্চিত না।
যেহেতু গুগল বলছে "ওয়েবকে দ্রুততর করতে দেয়" আমি উপরের কোডটি গুগল বিজ্ঞাপনগুলি দৃশ্যমান হলেই লোড করতে পরিবর্তন করি। কোডটি কেবল একটি গুগল স্থানের বিজ্ঞাপনের জন্য "যেমন রয়েছে" তেমন কাজ করে তবে আমি মনে করি আপনি আরও বিজ্ঞাপনের জন্য এটিকে সহজেই সংশোধন করতে পারেন। অন্যান্য কোডের সাথে আলাদা
div
আমি পরে বিজ্ঞাপনগুলি রাখি তা দিয়ে শুরু করা।
<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>
আমি এটি পরীক্ষা করে দেখেছি এবং সমস্ত ব্রাউজারের সাথে কাজ করছি, আমি কেবল আরও নিরাপদ থাকতে jQuery ব্যবহার করি যা আমি ব্রাউজারগুলিকে কঠিন এড়াতে চাই।
পিএস, আমি গুগল প্লাস এবং ফেসবুক এবং সেই আইটেমগুলিতে লোড করার জন্য একই জাতীয় কোড তৈরি করেছি কারণ বেশিরভাগ সময় লোড হয়।
এটি করার আর কোনও প্রয়োজন নেই। গুগল অ্যাডসেন্সের শো_এডএস.জে এখন কিছুটা অ্যাসিনক্রোনাস। আপনি অফিশিয়াল ব্লগে বেহাল বিবরণ সম্পর্কে আরও পড়তে পারেন:
আপনার ওয়েব, তাড়াতাড়ি অর্ধেক দ্বিতীয়
বিজ্ঞাপন কোড পরিবর্তন করার দরকার নেই।
document.write function
এবং পরে এটি পুনরুদ্ধার করে তা খুব আকর্ষণীয় । কেবলমাত্র খারাপ দিকটিই আমি ভাবছি যে গুগল অ্যাডসেন্স টিএসএস এই ধরণের জিনিসগুলি করার অনুমতি দেয়?