অ্যাসিঙ্ক্রোনাস গুগল অ্যাডসেন্স ব্যবহার করা কি অ-ব্লক করা সম্ভব?


11

আমি জানি যে গুগল অ্যানালিটিক্স ব্যবহারের একটি অ্যাসিনক্রোনাস পদ্ধতি রয়েছে তবে অ্যাডসেন্সের জন্য কি একই রকম কিছু রয়েছে? আমার বর্তমান অনুসন্ধানগুলি থেকে আমি কোনওটি খুঁজে পাচ্ছি না - আমি ভাবছিলাম যে এখানে একটি সাধারণ কৌশল মিস করছি কিনা?

উত্তর:


6

এটি এটি করে:

<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> 

এই ব্লগ আইটেমটি দেখুন " গুগল অ্যাডসেস অ্যাসিঙ্ক (অ্যাসিনক্রোনাস) " মূলত আমি অ্যাড কোডটি সত্যিকারের অ্যাসিঙ্ক চালানোর উপায় খুঁজে পেয়েছি ..


1
লিঙ্কটিতে সরবরাহিত স্মার্ট সমাধানের জন্য +1। এটি স্ট্যান্ডার্ডটিকে যেভাবে ব্যাকআপ করে document.write functionএবং পরে এটি পুনরুদ্ধার করে তা খুব আকর্ষণীয় । কেবলমাত্র খারাপ দিকটিই আমি ভাবছি যে গুগল অ্যাডসেন্স টিএসএস এই ধরণের জিনিসগুলি করার অনুমতি দেয়?
মার্কো ডেমাইও

ধারণার জন্য +1, আমি এটি নিচ্ছি এবং এটিকে আরও ভালভাবে তৈরি করে এখানে পোস্ট করব। আমি এই ধারণাটি জিএস_গগলএডএডএডসেন্স সার্ভিসটিকে অন্য ধারণা দিয়ে কাজ করতে ব্যর্থ হয়েছি।
এরিস্টস

5

হ্যাঁ, একটি উপায় আছে - 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>

আমরা আমাদের সমস্ত স্লট অ্যাডস্লট আইডির মাধ্যমে পূরণ করি, তাই আমরা কোনও পিএসএ দেখছি না।


1
আপনি কি এই সম্পর্কে গুগলে যোগাযোগ করার বিষয়ে আরও বিশদ সরবরাহ করতে পারেন? আমি আমার অ্যাডসেন্স অ্যাকাউন্টে এটি সম্পর্কে কিছুই দেখতে পাচ্ছি না।
ভার্চুওসি মিডিয়া

এছাড়াও, আমি জানতে আগ্রহী হই যে বিজ্ঞাপন ইউনিটগুলি এখনও প্রাসঙ্গিক বিজ্ঞাপন সরবরাহ করে বা কেবল পিএসএ এবং আপনি কীভাবে এই সমস্যাটি ঘটিয়েছিলেন around
ভার্চুওসি মিডিয়া

আসলে, আমরা আমাদের সমস্ত স্লট অ্যাডস্লট আইডির মাধ্যমে পূরণ করি, তাই আমরা কোনও পিএসএ দেখছি না।
অলিভার

এই পদ্ধতিটি ব্যবহার করার সময়, আমি পাই GA_googleFillSlotWithSize ত্রুটি সংজ্ঞায়িত নয়
টিমো হুভিনেন

@ ইউরিকোলভস্কি: দেখে মনে হচ্ছে গুগলের স্ক্রিপ্টটি ঠিকমতো লোড হচ্ছে না। আমার সম্পাদনা 2 দেখুন: আপনার এই পদ্ধতির জন্য গুগলের সাথে আবেদন করতে হতে পারে।
অলিভার

2

তারা বর্তমানে অপশনটি দেয় না, যতদূর আমি দেখতে পাচ্ছি। আপনার সেরা বিকল্পটি, যদি এটি গুগল টিওএস দ্বারা অনুমোদিত হয় তবে পৃষ্ঠাটি লোড হওয়ার পরে এটি কোনও স্থানধারক উপাদান ব্যবহার করতে এবং এটি জাভাস্ক্রিপ্টের সাথে গতিশীলভাবে প্রতিস্থাপন করতে হবে। যাইহোক, এটি টিওএসের বিরুদ্ধে হতে পারে বলে মনে হচ্ছে। আরও বিশদ জন্য এই থ্রেড দেখুন ।


2

আপনি কোনও স্থানধারক ব্যবহার করতে পারেন, অ্যাডসেন্স কোডটি কল করতে পারেন এবং তারপরে বিজ্ঞাপনের সাথে স্থানধারকটি স্যুইচ করতে পারেন। আমি আমার সাইটে এরকম কিছু ব্যবহার করছি:

if ( ad1 = document.getElementById('ad-top') )
{
    ad2 = document.getElementById('banner_tmp468');
    ad1.appendChild(ad2);
    ad2.style.display = 'block';
}

গুগল এমনকি এটি করার পরামর্শ দেয় যখন তারা বলে যে আপনার HTML কোডে আপনার সবচেয়ে গুরুত্বপূর্ণ বিজ্ঞাপন অবস্থানটি থাকা উচিত। আপনি যদি এটি সম্পাদন করতে চান তবে আপনাকে আপনার পৃষ্ঠার শীর্ষে (ভিজ্যুয়াল) শীর্ষে কম গুরুত্বপূর্ণ বিজ্ঞাপন ইউনিট স্থানান্তর করতে জেএস বা সিএসএস ব্যবহার করতে হবে।

তবে আমি যতদূর জানি অ্যাডসেন্স ইতিমধ্যে সংযোজনীয়ভাবে বিজ্ঞাপনগুলি সরবরাহ করে। আমি খুব কমই এটি পৃষ্ঠা লোডিং ব্লক করতে দেখেছি। যদিও এই সম্পর্কে নিশ্চিত না।


0

যেহেতু গুগল বলছে "ওয়েবকে দ্রুততর করতে দেয়" আমি উপরের কোডটি গুগল বিজ্ঞাপনগুলি দৃশ্যমান হলেই লোড করতে পরিবর্তন করি। কোডটি কেবল একটি গুগল স্থানের বিজ্ঞাপনের জন্য "যেমন রয়েছে" তেমন কাজ করে তবে আমি মনে করি আপনি আরও বিজ্ঞাপনের জন্য এটিকে সহজেই সংশোধন করতে পারেন। অন্যান্য কোডের সাথে আলাদা

  • বিজ্ঞাপনগুলি লোড করুন যদি এটি ব্যবহারকারীর কাছে দৃশ্যমান থাকে
  • বিজ্ঞাপনগুলি লোড করে এগুলি একটি ডিভিতে রাখুন (পৃষ্ঠার শেষে নয়)
  • সমস্ত ব্রাউজারের সাথে কাজ করে কারণ আমি প্রয়োজনীয় সমস্ত আইটেম লোড করি (কেবল প্রথম নয়)

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 ব্যবহার করি যা আমি ব্রাউজারগুলিকে কঠিন এড়াতে চাই।

পিএস, আমি গুগল প্লাস এবং ফেসবুক এবং সেই আইটেমগুলিতে লোড করার জন্য একই জাতীয় কোড তৈরি করেছি কারণ বেশিরভাগ সময় লোড হয়।


0

এটি করার আর কোনও প্রয়োজন নেই। গুগল অ্যাডসেন্সের শো_এডএস.জে এখন কিছুটা অ্যাসিনক্রোনাস। আপনি অফিশিয়াল ব্লগে বেহাল বিবরণ সম্পর্কে আরও পড়তে পারেন:

আপনার ওয়েব, তাড়াতাড়ি অর্ধেক দ্বিতীয়

বিজ্ঞাপন কোড পরিবর্তন করার দরকার নেই।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.