ব্যানার বিজ্ঞাপন সেট-আপ করা

প্ল্যাটফর্ম বেছে নিন: Android iOS Unity Flutter Android (Legacy)

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

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

পূর্বশর্ত

চালিয়ে যাওয়ার আগে, Google Mobile Ads Unity Plugin সেট-আপ করুন।

সবসময় টেস্ট বিজ্ঞাপন দিয়ে পরীক্ষা করুন

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

তবে, আপনি Ad Manager ওয়েব ইন্টারফেসে কোনও অ্যাপ রেজিস্টার করার পরে এবং আপনার অ্যাপে ব্যবহার করার জন্য নিজের বিজ্ঞাপন ইউনিট আইডি তৈরি করার পরে, ডেভেলপমেন্টের সময় স্পষ্টভাবে আপনার ডিভাইসকে টেস্ট ডিভাইস হিসেবে কনফিগার করুন।

/21775744923/example/interstitial

Google Mobile Ads Unity Plugin চালু করুন

বিজ্ঞাপন লোড করার আগে, আপনার অ্যাপকে Google Mobile Ads Unity Plugin কল করে MobileAds.Initialize() ইনিশিয়ালাইজ করুন। এটি শুধুমাত্র একবারই করতে হবে, আদর্শভাবে অ্যাপ লঞ্চ করার সময়।

using GoogleMobileAds;
using GoogleMobileAds.Api;

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    public void Start()
    {
        // Initialize Google Mobile Ads Unity Plugin.
        MobileAds.Initialize((InitializationStatus initStatus) =>
        {
            // This callback is called once the MobileAds SDK is initialized.
        });
    }
}

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

BannerView উদাহরণ

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

ব্যানার ভিউ তৈরি করা

ব্যানার ভিউ ব্যবহার করার প্রথম ধাপ হল, ব্যানার ভিউয়ের একটি ইনস্ট্যান্স তৈরি করা।

// Create a 320x50 banner at top of the screen.
adManagerBannerView = new AdManagerBannerView("AD_UNIT_ID", AdSize.Banner, AdPosition.Top);

আপনার বিজ্ঞাপন ইউনিট আইডির সাথে AD_UNIT_ID পরিবর্তন করুন।

AdManagerBannerView-এর কনস্ট্রাক্টরের নিম্নলিখিত প্যারামিটার আছে:

  • adUnitId: লোড করার জন্য ব্যানার বিজ্ঞাপনের বিজ্ঞাপন ইউনিট আইডি।
  • AdSize: আপনি যে ব্যানারের সাইজ ব্যবহার করতে চান।
  • AdPosition: ব্যানার ভিউ যেখানে প্লেস করতে হবে সেই পজিশন।

(ঐচ্ছিক) কাস্টম পজিশন সহ ব্যানার ভিউ তৈরি করা

AdPosition ভ্যালু যা অফার করে তার চেয়ে স্ক্রিনে ব্যানার ভিউ কোথায় প্লেস করা হবে তার উপর আরও বেশি কন্ট্রোল পেতে, x- এবং y-কোঅর্ডিনেটকে প্যারামিটার হিসেবে ব্যবহার করে এমন কনস্ট্রাক্টর ব্যবহার করুন:

// Create a 320x50 banner views at coordinate (0,50) on screen.
adManagerBannerView = new AdManagerBannerView("AD_UNIT_ID", AdSize.Banner, 0, 50);

কনস্ট্রাক্টরে পাস করা x এবং y ভ্যালুতে ব্যানার ভিউয়ের উপরের বাঁদিকের কোণটি পজিশন করা হয়, যেখানে স্ক্রিনের উপরের বাঁদিক হল অরিজিন।

(ঐচ্ছিক) কাস্টম সাইজের ব্যানার ভিউ তৈরি করা

AdSize কনস্ট্যান্ট ব্যবহার করা ছাড়াও, আপনি নিজের বিজ্ঞাপনের জন্য কাস্টম সাইজ নির্দিষ্ট করতে পারবেন:

// Create a 250x250 banner at the bottom of the screen.
AdSize adSize = new AdSize(250, 250);
adManagerBannerView = new AdManagerBannerView("AD_UNIT_ID", adSize, AdPosition.Bottom);

(ঐচ্ছিক) একাধিক বিজ্ঞাপনের সাইজ

Ad Manager আপনাকে বিজ্ঞাপনের একাধিক সাইজ নির্দিষ্ট করতে দেয় যা AdManagerBannerView-এ পরিবেশন করার জন্য উপযুক্ত হতে পারে। SDK-তে এই ফিচার প্রয়োগ করার আগে, আলাদা আলাদা সাইজের ক্রিয়েটিভের সাথে যুক্ত একই বিজ্ঞাপন ইউনিটকে টার্গেট করে একটি লাইন আইটেম তৈরি করুন।

আপনার অ্যাপে, একাধিক AdSize প্যারামিটার ValidAdSizes-এ পাস করুন:

// Create a 250x250 banner at the bottom of the screen.
adManagerBannerView = new AdManagerBannerView("AD_UNIT_ID", AdSize.Banner, AdPosition.Top);

// Add multiple ad sizes.
adManagerBannerView.ValidAdSizes = new List<AdSize>
{
    AdSize.Banner,
    new AdSize(120, 20),
    new AdSize(250, 250),
};

রিফ্রেশ করার সময় AdManagerAdView-এর সাইজ পরিবর্তন হলে, আপনার লেআউটকে নতুন সাইজের সাথে অটোমেটিক মানিয়ে নিতে হবে। AdManagerAdView ডিফল্ট হিসেবে প্রথম প্যারামিটারে পাস করা সাইজ ব্যবহার করে যতক্ষণ না পরবর্তী বিজ্ঞাপন ফিরে আসে।

ব্যানার বিজ্ঞাপন লোড করা

AdManagerBannerView সেট-আপ করা হয়ে গেলে, AdManagerBannerView ক্লাসে LoadAd() পদ্ধতি ব্যবহার করে একটি বিজ্ঞাপন লোড করুন। এটি একটি প্যারামিটার নেয় যা রানটাইম তথ্য ধরে রাখে, যেমন টার্গেটিং তথ্য, বাদ দেওয়ার লেবেল এবং প্রকাশকের প্রদান করা আইডি।

বিজ্ঞাপন লোড করতে, একটি AdManagerAdRequest তৈরি করুন এবং এটি LoadAd() মেথডে পাস করুন।

// Send a request to load an ad into the banner view.
adManagerBannerView.LoadAd(new AdManagerAdRequest());

ব্যানার ভিউ ইভেন্ট শোনা

আপনার বিজ্ঞাপনের আচরণ কাস্টমাইজ করতে, আপনি বিজ্ঞাপনের লাইফসাইকেলে বিভিন্ন ইভেন্টের সাথে হুক করতে পারেন, যেমন লোডিং, খোলা বা বন্ধ করা। এইসব ইভেন্ট শোনার জন্য, একটি ডেলিগেট রেজিস্টার করুন:

adManagerBannerView.OnBannerAdLoaded += () =>
{
    // Raised when an ad is loaded into the banner view.
};
adManagerBannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
{
    // Raised when an ad fails to load into the banner view.
};
adManagerBannerView.OnAdPaid += (AdValue adValue) =>
{
    // Raised when the ad is estimated to have earned money.
};
adManagerBannerView.OnAdImpressionRecorded += () =>
{
    // Raised when an impression is recorded for an ad.
};
adManagerBannerView.OnAdClicked += () =>
{
    // Raised when a click is recorded for an ad.
};
adManagerBannerView.OnAdFullScreenContentOpened += () =>
{
    // Raised when an ad opened full screen content.
};
adManagerBannerView.OnAdFullScreenContentClosed += () =>
{
    // Raised when the ad closed full screen content.
};

ব্যানার ভিউ ধ্বংস করা

ব্যানারটি ধ্বংস করতে, রিসোর্স রিলিজ করার জন্য Destroy() মেথড কল করুন:

if (adManagerBannerView != null)
{
    // Always destroy the banner view when no longer needed.
    adManagerBannerView.Destroy();
    adManagerBannerView = null;
}

যেসব ব্যানার লোড করা যায় না, সেগুলির ক্ষেত্রে আমরা সাজেস্ট করি যে নতুন ব্যানার তৈরি না করে ব্যানারটি রিফ্রেশ করুন। বিস্তারিত জানতে, বিজ্ঞাপন রিফ্রেশ করুন লিঙ্কে দেখুন।

বিজ্ঞাপন রিফ্রেশ করা

আপনি যদি রিফ্রেশ করার জন্য বিজ্ঞাপন ইউনিট কনফিগার করে থাকেন, তাহলে বিজ্ঞাপন লোড না হলে আপনাকে অন্য বিজ্ঞাপনের অনুরোধ করতে হবে না। Google Mobile Ads Unity Plugin Ad Manager UI-তে আপনার উল্লেখ করা যেকোনও রিফ্রেশ রেটকে সম্মান করে। আপনি রিফ্রেশ করার সুবিধা চালু না করে থাকলে, নতুন অনুরোধ করুন। বিজ্ঞাপন ইউনিট রিফ্রেশ করা সংক্রান্ত আরও বিবরণের জন্য, যেমন রিফ্রেশ রেট সেট করা, দেখুন মোবাইল অ্যাপে বিজ্ঞাপনের জন্য রিফ্রেশ রেট।

বড় অ্যাডাপ্টিভ ব্যানার, স্ক্রল না করা যায় এমন লেআউটের জন্য ডিজাইন করা বড় ফর্ম্যাট প্রদান করে। সাধারণ অ্যাঙ্কর করা অ্যাডাপ্টিভ ব্যানারের তুলনায়, এই ব্যানারগুলি আরও বেশি উচ্চতা (স্ক্রিনের উচ্চতার ২০% পর্যন্ত, ৫০ থেকে ১৫০ ডিপি) নিতে পারে। এই বর্ধিত স্পেস ভিডিও কন্টেন্টের জন্য অপ্টিমাইজ করা হয়েছে।

নিচে দেওয়া সারণীতে স্ট্যান্ডার্ড ব্যানার সাইজের তালিকা দেওয়া হল:

dp-তে সাইজ (প্রস্থ x উচ্চতা) বিবরণ উপলভ্যতা AdSize কনস্ট্যান্ট
৩২০x৫০ স্ট্যান্ডার্ড ব্যানার ফোন বা ট্যাবলেটগুলি BANNER
৩২০x১০০ বড় ব্যানার ফোন বা ট্যাবলেটগুলি LARGE_BANNER
৩০০x২৫০ IAB মাঝারি আয়তক্ষেত্র ফোন বা ট্যাবলেটগুলি MEDIUM_RECTANGLE
৪৬৮x৬০ IAB ফুল-সাইজ ব্যানার ট্যাবলেট FULL_BANNER
৭২৮x৯০ IAB লিডারবোর্ড ট্যাবলেট LEADERBOARD
প্রদত্ত প্রস্থ x অ্যাডাপ্টিভ উচ্চতা অ্যাডাপ্টিভ ব্যানার ফোন বা ট্যাবলেটগুলি প্রযোজ্য নয়
স্ক্রিনের প্রস্থ x ৩২|৫০|৯০ স্মার্ট ব্যানার ফোন বা ট্যাবলেটগুলি SMART_BANNER
স্মার্ট ব্যানার-এর পরিবর্তে ব্যবহার করার জন্য তৈরি করা অ্যাডাপ্টিভ ব্যানার সম্পর্কে আরও জানুন।

অ্যাপ ইভেন্ট

অ্যাপ ইভেন্ট আপনাকে এমন বিজ্ঞাপন তৈরি করতে দেয় যা অ্যাপ কোডে মেসেজ পাঠাতে পারে। অ্যাপ তখন এইসব মেসেজের উপর ভিত্তি করে অ্যাকশন নিতে পারে।

আপনি AppEvent ব্যবহার করে Ad Manager-এর নির্দিষ্ট অ্যাপ ইভেন্ট শুনতে পারবেন। বিজ্ঞাপনের লাইফসাইকেলে যেকোনও সময়, এমনকি লোড করার আগে এইসব ইভেন্ট ঘটতে পারে।

বিজ্ঞাপনে অ্যাপ ইভেন্ট ঘটলে OnAppEventReceived ইস্যু করা হয়। আপনার কোডে এই ইভেন্ট কীভাবে হ্যান্ডেল করবেন তার একটি উদাহরণ এখানে দেওয়া হল:

adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
    Debug.Log($"Received app event from the ad: {args.Name}, {args.Data}.");
};

এখানে একটি উদাহরণ দেওয়া হল, যেখানে দেখানো হয়েছে যে কীভাবে আপনার অ্যাপের ব্যাকগ্রাউন্ড কালার পরিবর্তন করতে হয় যা কালার নামের অ্যাপ ইভেন্টের উপর নির্ভর করে:

adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
    if (args.Name == "color")
    {
        Color color;
        if (ColorUtility.TryParseHtmlString(args.Data, out color))
        {
            renderer.material.color = color;
        }
    }
};

এবং, এখানে সংশ্লিষ্ট ক্রিয়েটিভ দেওয়া হল যেটি কালার অ্যাপ ইভেন্ট পাঠায়:

<html>
<head>
  <script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
  <script>
    document.addEventListener("DOMContentLoaded", function() {
      // Send a color=green event when ad loads.
      admob.events.dispatchAppEvent("color", "green");

      document.getElementById("ad").addEventListener("click", function() {
        // Send a color=blue event when ad is clicked.
        admob.events.dispatchAppEvent("color", "blue");
      });
    });
  </script>
  <style>
    #ad {
      width: 320px;
      height: 50px;
      top: 0;
      left: 0;
      font-size: 24pt;
      font-weight: bold;
      position: absolute;
      background: black;
      color: white;
      text-align: center;
    }
  </style>
</head>
<body>
  <div id="ad">Carpe diem!</div>
</body>
</html>

অতিরিক্ত রিসোর্স