ऐंकर किए गए अडैप्टिव बैनर

अडैप्टिव बैनर, रिस्पॉन्सिव विज्ञापनों (ज़रूरत के हिसाब से ढल जाने वाले विज्ञापन) की अगली-पीढ़ी की टेक्नोलॉजी हैं. परफ़ॉर्मेंस को बेहतर बनाने के लिए किया जा सकता है. स्मार्ट बैनर की तुलना में अडैप्टिव बैनर बेहतर होते हैं. स्मार्ट बैनर में सिर्फ़ तय ऊंचाई वाले विज्ञापन दिखाए जा सकते हैं, जबकि अडैप्टिव बैनर में विज्ञापन की चौड़ाई तय की जा सकती है. साथ ही, इस चौड़ाई का इस्तेमाल करके विज्ञापन का सबसे सही साइज़ तय किया जा सकता है.

विज्ञापन का सबसे अच्छा साइज़ चुनने के लिए, अडैप्टिव बैनर इसके बजाय, किसी तय आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) का इस्तेमाल करते हैं निश्चित हाइट. इससे ऐसे बैनर विज्ञापन बनते हैं जो सभी डिवाइस की स्क्रीन का एक सा हिस्सा घेरते हैं. इसकी वजह से, विज्ञापन की परफ़ॉर्मेंस बेहतर होती है.

ध्यान दें कि अडैप्टिव बैनर के साथ काम करते समय, वे हमेशा दिए गए डिवाइस और चौड़ाई के लिए स्थिर आकार. आपके लेआउट की जांच करने के बाद किसी डिवाइस की मदद से, आप यह पक्का कर सकते हैं कि विज्ञापन का साइज़ नहीं बदलेगा. हालांकि, बैनर क्रिएटिव का साइज़, अलग-अलग डिवाइसों पर बदल सकता है. इस वजह से, हमारा सुझाव है कि आपका लेआउट, विज्ञापन की ऊंचाई में होने वाले बदलाव के हिसाब से होना चाहिए. बहुत कम मामलों में, हो सकता है कि फ़ुल अडैप्टिव साइज़ न भरा जाए और स्टैंडर्ड साइज़ क्रिएटिव इस स्लॉट के बीच में होना चाहिए.

ज़रूरी शर्तें

अडैप्टिव बैनर का इस्तेमाल कब करना चाहिए

अडैप्टिव बैनर, इस तरह से डिज़ाइन किए गए हैं कि वे इंडस्ट्री में आम तौर पर आने वाले बदलावों की जगह ले सकें 320x50 का स्टैंडर्ड बैनर साइज़ और स्मार्ट बैनर फ़ॉर्मैट.

इन बैनर साइज़ का इस्तेमाल आम तौर पर, ऐंकर बैनर के तौर पर किया जाता है. ये आम तौर पर, स्क्रीन पर सबसे ऊपर या सबसे नीचे लॉक किया गया हो.

ऐंकर किए गए ऐसे बैनर के लिए, अडैप्टिव बैनर का इस्तेमाल करने का आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) इतना होगा यह किसी मानक 320x50 विज्ञापन के जैसा होता है, जैसा कि तीन उदाहरणों में देखा जा सकता है नीचे दिया गया है:


320x50 बैनर

अडैप्टिव बैनर

स्मार्ट बैनर

अडैप्टिव बैनर, उपलब्ध स्क्रीन साइज़ का बेहतर तरीके से इस्तेमाल करता है. इसके अलावा, स्मार्ट बैनर की तुलना में, अडैप्टिव बैनर एक बेहतर विकल्प है, क्योंकि:

  • यह चौड़ाई को ज़बरदस्ती पूरा करने के बजाय, आपकी दी गई किसी भी चौड़ाई का इस्तेमाल करता है इसकी मदद से, iOS पर सुरक्षित जगह के बारे में पता लगाया जा सकता है. साथ ही, कटआउट दिखाया जा सकता है Android पर देखें.

  • यह अलग-अलग साइज़ के डिवाइसों के लिए एक जैसी ऊंचाई के बजाय, किसी खास डिवाइस के लिए सबसे सही ऊंचाई चुनता है. इससे डिवाइस के अलग-अलग फ़्रैगमेंटेशन के असर को कम किया जा सकता है.

लागू करने से जुड़े नोट

अपने ऐप्लिकेशन में अडैप्टिव बैनर लागू करते समय, इन बातों का ध्यान रखें:

  • आपको उस व्यू की चौड़ाई पता होनी चाहिए, जिसमें विज्ञापन दिखाया जाएगा, और इसे डिवाइस की चौड़ाई और किसी भी सुरक्षित क्षेत्र को ध्यान में रखना चाहिए या ऐसे कटआउट दिखेंगे जो लागू हों.
  • पक्का करें कि आपके विज्ञापन व्यू के बैकग्राउंड की जानकारी साफ़ तौर पर न दी गई हो जब छोटे विज्ञापन साइज़ के विज्ञापन से बेहतर नतीजे मिलते हैं, तब AdMob की नीतियों से विज्ञापन स्लॉट नहीं भरता.
  • पक्का करें कि Google Mobile Ads Unity के सबसे नए वर्शन का इस्तेमाल किया जा रहा है प्लग इन. मीडिएशन के लिए, हर मीडिएशन अडैप्टर के नए वर्शन का इस्तेमाल करें.
  • अडैप्टिव बैनर के साइज़ इस तरह से डिज़ाइन किए गए हैं कि वे पूरी तरह से उपलब्ध चौड़ाई. ज़्यादातर मामलों में, यह का उपयोग कर रहे हैं. उन जगहों का भी ध्यान रखें जहां सुरक्षा सुविधाएं लागू होती हैं.
  • Google Mobile Ads SDK, ऑप्टिमाइज़ की गई विज्ञापन ऊंचाई के साथ बैनर का साइज़ तय करेगा अडैप्टिव AdSize API का इस्तेमाल करते समय दी गई चौड़ाई के लिए.
  • अडैप्टिव के हिसाब से विज्ञापन का साइज़ पाने के तीन तरीके हैं: लैंडस्केप के लिए AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth, पोर्ट्रेट के लिए AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth और AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth एक्ज़ीक्यूशन के समय, मौजूदा ओरिएंटेशन.
  • दिए गए डिवाइस पर, दी गई चौड़ाई के लिए लौटाया गया आकार हमेशा इसलिए, किसी डिवाइस पर अपने लेआउट की जांच करने के बाद, आपको यह भी पक्का कर लें कि विज्ञापन का साइज़ नहीं बदलेगा.
  • ऐंकर किए गए बैनर की ऊंचाई कभी भी 15% से कम नहीं होनी चाहिए डिवाइस की ऊंचाई या 90 डेंसिटी, अलग-अलग पिक्सल में और 50 से कम नहीं होनी चाहिए डेंसिटी इंडिपेंडेंट पिक्सल.
  • फ़ुल-विड्थ बैनर के लिए, किसी खास चौड़ाई की जानकारी देने के बजाय, AdSize.FullWidth फ़्लैग का इस्तेमाल किया जा सकता है.

क्विकस्टार्ट

अडैप्टिव ऐंकर बैनर को लागू करने के लिए यह तरीका अपनाएं.

  1. अडैप्टिव बैनर वाले विज्ञापन का साइज़ पाएं. आपको मिलने वाले साइज़ का इस्तेमाल, अनुरोध करने के लिए किया जाएगा अडैप्टिव बैनर पर, अडैप्टिव बैनर इस्तेमाल किया जा सकता है. अडैप्टिव विज्ञापन साइज़ पाने के लिए, पक्का करें कि:
    1. डिवाइस की चौड़ाई को सघनता के हिसाब से अलग-अलग पिक्सल में इस्तेमाल करें या सेट करें अपनी चौड़ाई सेट करें. Screen.width जैसे यूनिटी एपीआई कुल पिक्सल दिखाते हैं. इसलिए, आपको ये काम करने होंगे डिवाइस के स्केल से भाग दें (MobileAds.Utils.GetDeviceScale() से फिर से उपलब्ध कराया जा सकता है).
    2. पूरी चौड़ाई वाले बैनर के लिए, AdSize.FullWidth फ़्लैग का इस्तेमाल करें.
    3. विज्ञापन साइज़ क्लास के लिए, सही स्टैटिक तरीके का इस्तेमाल करें, जैसे AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(width) ताकि मौजूदा ओरिएंटेशन के हिसाब से AdSize ऑब्जेक्ट मिल सके.
  2. अपने विज्ञापन यूनिट आईडी, अडैप्टिव साइज़, औरBannerView आपके विज्ञापन के लिए प्रासंगिक स्थिति.
  3. विज्ञापन अनुरोध ऑब्जेक्ट बनाएं और LoadAd() तरीके का इस्तेमाल करके अपना बैनर लोड करें आपके तैयार विज्ञापन व्यू की तरह ही, जैसा कि आप किसी सामान्य बैनर अनुरोध पर करते हैं.

कोड का उदाहरण

यहां एक स्क्रिप्ट का उदाहरण दिया गया है, जो हर पेज के हिसाब से अडैप्टिव बैनर को लोड और फिर से लोड करती है सुरक्षित जगह को ध्यान में रखते हुए, स्क्रीन की चौड़ाई:

using UnityEngine;
using System;
using GoogleMobileAds.Api;

public class AdaptiveBannerSample : MonoBehaviour
{
    private BannerView _bannerView;

    // Use this for initialization
    void Start()
    {
        // Set your test devices.
        // https://developers.google.com/admob/unity/test-ads
        RequestConfiguration requestConfiguration = new RequestConfiguration
        {
            TestDeviceIds = new List<string>
            {
                AdRequest.TestDeviceSimulator,
                // Add your test device IDs (replace with your own device IDs).
                #if UNITY_IPHONE
                "96e23e80653bb28980d3f40beb58915c"
                #elif UNITY_ANDROID
                "75EF8D155528C04DACBBA6F36F433035"
                #endif
            }
        };
        MobileAds.SetRequestConfiguration(requestConfiguration);

        // Initialize the Google Mobile Ads SDK.
        MobileAds.Initialize((InitializationStatus status) => 
        {
            RequestBanner();
        });
    }

    public void OnGUI()
    {
        GUI.skin.label.fontSize = 60;
        Rect textOutputRect = new Rect(
          0.15f * Screen.width,
          0.25f * Screen.height,
          0.7f * Screen.width,
          0.3f * Screen.height);
        GUI.Label(textOutputRect, "Adaptive Banner Example");
    }

    private void RequestBanner()
    {
        // These ad units are configured to always serve test ads.
        #if UNITY_EDITOR
            string adUnitId = "unused";
        #elif UNITY_ANDROID
            string adUnitId = "ca-app-pub-3212738706492790/6113697308";
        #elif UNITY_IPHONE
            string adUnitId = "ca-app-pub-3212738706492790/5381898163";
        #else
            string adUnitId = "unexpected_platform";
        #endif

        // Clean up banner ad before creating a new one.
        if (_bannerView != null)
        {
            _bannerView.Destroy();
        }

        AdSize adaptiveSize =
                AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(AdSize.FullWidth);

        _bannerView = new BannerView(adUnitId, adaptiveSize, AdPosition.Bottom);

        // Register for ad events.
        _bannerView.OnBannerAdLoaded += OnBannerAdLoaded;
        _bannerView.OnBannerAdLoadFailed += OnBannerAdLoadFailed;

        AdRequest adRequest = new AdRequest();

        // Load a banner ad.
        _bannerView.LoadAd(adRequest);
    }

    #region Banner callback handlers

    private void OnBannerAdLoaded(object sender, EventArgs args)
    {
        Debug.Log("Banner view loaded an ad with response : "
                 + _bannerView.GetResponseInfo());
        Debug.Log("Ad Height: {0}, width: {1}",
                _bannerView.GetHeightInPixels(),
                _bannerView.GetWidthInPixels());
    }

    private void OnBannerAdLoadFailed(LoadAdError error)
    {
        Debug.LogError("Banner view failed to load an ad with error : "
                + error);
    }

    #endregion
}

यहां फ़ंक्शन AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth का इस्तेमाल किया गया है मौजूदा इंटरफ़ेस के लिए ऐंकर पोज़िशन में बैनर का साइज़ पाने के लिए स्क्रीन की दिशा. दिए गए ओरिएंटेशन में ऐंकर बैनर को पहले से लोड करने के लिए, AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth का सही फ़ंक्शन और AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth.