নোঙর করা অভিযোজিত ব্যানার

অভিযোজিত ব্যানার হল প্রতিক্রিয়াশীল বিজ্ঞাপনের পরবর্তী প্রজন্ম, প্রতিটি ডিভাইসের জন্য বিজ্ঞাপনের আকার অপ্টিমাইজ করে পারফরম্যান্সকে সর্বোচ্চ করে। স্মার্ট ব্যানারগুলিতে উন্নতি করা, যা শুধুমাত্র নির্দিষ্ট উচ্চতা সমর্থন করে, অভিযোজিত ব্যানারগুলি আপনাকে বিজ্ঞাপনের প্রস্থ নির্দিষ্ট করতে দেয় এবং সর্বোত্তম বিজ্ঞাপনের আকার নির্ধারণ করতে এটি ব্যবহার করে৷

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

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

পূর্বশর্ত

কখন অভিযোজিত ব্যানার ব্যবহার করবেন

অভিযোজিত ব্যানারগুলিকে ইন্ডাস্ট্রি স্ট্যান্ডার্ড 320x50 ব্যানার সাইজ এবং স্মার্ট ব্যানার ফর্ম্যাট উভয়ের জন্য ড্রপ-ইন প্রতিস্থাপনের জন্য ডিজাইন করা হয়েছে যা তারা স্থানান্তর করে।

এই ব্যানারের আকারগুলি সাধারণত অ্যাঙ্কর করা ব্যানার হিসাবে ব্যবহৃত হয়, যা সাধারণত স্ক্রিনের উপরে বা নীচে লক করা থাকে।

এই ধরনের অ্যাঙ্কর করা ব্যানারগুলির জন্য, অভিযোজিত ব্যানার ব্যবহার করার সময় আকৃতির অনুপাত একটি আদর্শ 320x50 বিজ্ঞাপনের অনুরূপ হবে, যা নীচের তিনটি উদাহরণে দেখা যাবে:


320x50 ব্যানার

অভিযোজিত ব্যানার

স্মার্ট ব্যানার

অভিযোজিত ব্যানার উপলব্ধ স্ক্রীন আকারের আরও ভাল ব্যবহার করে। উপরন্তু, একটি স্মার্ট ব্যানারের তুলনায়, একটি অভিযোজিত ব্যানার একটি ভাল পছন্দ কারণ:

  • এটি প্রস্থকে পূর্ণ স্ক্রীন হতে বাধ্য করার পরিবর্তে, আপনি যে প্রস্থ প্রদান করেন তা ব্যবহার করে, iOS-এ নিরাপদ এলাকার জন্য আপনাকে অ্যাকাউন্ট করতে সক্ষম করে এবং অ্যান্ড্রয়েডে কাটআউটগুলি প্রদর্শন করে৷

  • এটি বিভিন্ন আকারের ডিভাইস জুড়ে একটি ধ্রুবক উচ্চতা থাকার পরিবর্তে নির্দিষ্ট ডিভাইসের জন্য একটি সর্বোত্তম উচ্চতা নির্বাচন করে, ডিভাইসের খণ্ডিতকরণের প্রভাবগুলি হ্রাস করে।

বাস্তবায়ন নোট

আপনার অ্যাপে অভিযোজিত ব্যানার প্রয়োগ করার সময়, নিম্নলিখিত বিষয়গুলি মনে রাখবেন:

  • বিজ্ঞাপনটি যে দৃশ্যে স্থাপন করা হবে তার প্রস্থ আপনাকে অবশ্যই জানতে হবে এবং এটি ডিভাইসের প্রস্থ এবং প্রযোজ্য যে কোনো নিরাপদ এলাকা বা কাটআউটগুলিকে বিবেচনায় রাখতে হবে
  • নিশ্চিত করুন যে আপনার বিজ্ঞাপন দেখার পটভূমি AdMob নীতির সাথে সঙ্গতিপূর্ণ হওয়ার জন্য অস্বচ্ছ হয় যখন ছোট বিজ্ঞাপনের আকারগুলি বিজ্ঞাপনের স্লট পূরণ করে না।
  • আপনি Google মোবাইল বিজ্ঞাপন ইউনিটি প্লাগইনের সর্বশেষ সংস্করণ ব্যবহার করছেন তা নিশ্চিত করুন। মধ্যস্থতার জন্য, প্রতিটি মধ্যস্থতা অ্যাডাপ্টারের সর্বশেষ সংস্করণ ব্যবহার করুন।
  • অভিযোজিত ব্যানারের আকারগুলি সম্পূর্ণ উপলব্ধ প্রস্থ ব্যবহার করার সময় সর্বোত্তমভাবে কাজ করার জন্য ডিজাইন করা হয়েছে। বেশিরভাগ ক্ষেত্রে, এটি ব্যবহার করা ডিভাইসের স্ক্রিনের সম্পূর্ণ প্রস্থ হবে। একাউন্টে প্রযোজ্য নিরাপদ এলাকা নিতে ভুলবেন না.
  • অ্যাডাপ্টিভ অ্যাডসাইজ API ব্যবহার করার সময় Google মোবাইল বিজ্ঞাপন SDK প্রদত্ত প্রস্থের জন্য একটি অপ্টিমাইজ করা বিজ্ঞাপনের উচ্চতা সহ ব্যানারটিকে আকার দেবে।
  • অভিযোজিতের জন্য একটি বিজ্ঞাপনের আকার পেতে তিনটি পদ্ধতি রয়েছে: ল্যান্ডস্কেপের জন্য 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/ad-manager/mobile-ads-sdk/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 থেকে প্রাসঙ্গিক ফাংশনটি ব্যবহার করুন।