বিজ্ঞাপন বসানো

এই নির্দেশিকা আপনাকে দেখায় কিভাবে আপনার অ্যাপের জন্য বিজ্ঞাপন তৈরি এবং প্রদর্শন করতে Google মোবাইল বিজ্ঞাপন ইউনিটি প্লাগইনের বিজ্ঞাপন প্লেসমেন্ট বৈশিষ্ট্য ব্যবহার করতে হয়।

পূর্বশর্ত

Google মোবাইল বিজ্ঞাপন SDK শুরু করুন৷

বিজ্ঞাপন লোড করার আগে, একটি Action<InitializationStatus> কলব্যাক সহ MobileAds.Initialize() কল করে মোবাইল বিজ্ঞাপন SDK শুরু করুন। এটি শুধুমাত্র একবার করা দরকার, আদর্শভাবে অ্যাপ লঞ্চের সময়।

using GoogleMobileAds.Api;
using System.Collections.Generic;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    ...
    public void Start()
    {
        // Initialize the Mobile Ads SDK.
        MobileAds.Initialize((initStatus) =>
        {
            // SDK initialization is complete
        });
        ...
    }
}

বিজ্ঞাপন প্লেসমেন্ট তৈরি করা

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

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

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

প্রতিটি স্থাপনের নিম্নলিখিত বৈশিষ্ট্য রয়েছে:

বসানোর নাম
নিয়োগের নাম। একটি দৃশ্যে বিজ্ঞাপন সেট আপ করার সময় স্থান নির্ধারণ করতে ব্যবহৃত হয়।
বিজ্ঞাপন বিন্যাস
ব্যানার, পুরস্কৃত, ইন্টারস্টিশিয়াল। বিজ্ঞাপনের ধরন।
বিজ্ঞাপন ইউনিট আইডি
Android এবং iOS এর জন্য আপনার ব্যানার বিজ্ঞাপন ইউনিট ID প্রদান করুন। আপনাকে অন্তত একটি বিজ্ঞাপন ইউনিট আইডি প্রদান করতে হবে।
দৃশ্য জুড়ে অবিরাম
চেক করা হলে, দৃশ্যের পরিবর্তন নির্বিশেষে ব্যানারটি স্ক্রিনে টিকে থাকবে ( DontDestroyOnLoad এর মতো একই আচরণ)।
স্বয়ংক্রিয় লোড সক্ষম
চেক করা হলে, বিজ্ঞাপন প্লেসমেন্টের সাথে যুক্ত একটি দৃশ্য লোড হলে একটি বিজ্ঞাপন স্বয়ংক্রিয়ভাবে লোড হবে।

নিম্নলিখিত স্ক্রিনশটটি My Awesome ব্যানার নামে একটি বিজ্ঞাপন প্লেসমেন্টের একটি উদাহরণ দেখায়৷

দৃশ্যে একটি AdGameObject যোগ করা হচ্ছে

আপনি Unity Editor-এ GameObject > Google Mobile Ads ব্যবহার করে আপনার দৃশ্যে ব্যানার, ইন্টারস্টিশিয়াল বা পুরস্কৃত ফরম্যাটের জন্য একটি AdGameObject যোগ করতে পারেন। সক্রিয় দৃশ্যে একটি স্থান যোগ করতে বিন্যাস নির্বাচন করুন।

একবার আপনি দৃশ্যে একটি AdGameObject যোগ করলে, আপনি ইউনিটি এডিটরের হায়ারার্কি ভিউতে বিজ্ঞাপনের প্রতিনিধিত্বকারী একটি GameObject দেখতে পাবেন।

আপনি গেমঅবজেক্টের নাম পরিবর্তন করে প্লেসমেন্টের নাম পরিবর্তন করতে পারেন। নিচের স্ক্রিনশটটি ব্যানার অ্যাড নামের একটি AdGameObject-এর উদাহরণ দেখায়।

AdGameObject সেটিংস

আপনি অ্যাড গেম অবজেক্ট (স্ক্রিপ্ট) কম্পোনেন্টের সেটিংসে ইন্সপেক্টর ভিউ থেকে আপনার দৃশ্যে AdGameObject কনফিগার করতে পারেন।

বিজ্ঞাপন বসানো

কনফিগার করা প্লেসমেন্টের ড্রপ-ডাউন তালিকা থেকে বিজ্ঞাপন বসানো নির্বাচন করুন। তালিকায় শুধুমাত্র সঠিক ফরম্যাটের বিজ্ঞাপন ইউনিট থাকবে। উদাহরণস্বরূপ, ব্যানার বিজ্ঞাপন গেম অবজেক্টের জন্য ড্রপডাউন শুধুমাত্র কনফিগার করা ব্যানার বিজ্ঞাপন প্লেসমেন্ট দেখাবে।

BannerAdGameObject কনফিগারেশন (শুধুমাত্র ব্যানার)

  • আকার - আপনি যে ব্যানারটি ব্যবহার করতে চান তার আকার নির্বাচন করুন।
    • অ্যাঙ্করড অ্যাডাপটিভ ব্যানার আরও কয়েকটি বিকল্প সরবরাহ করে:
      • ওরিয়েন্টেশন - বিজ্ঞাপনের উচ্চতা গণনা করতে ব্যবহৃত ডিভাইসের অভিযোজন নির্বাচন করুন।
      • পূর্ণ স্ক্রীন প্রস্থ ব্যবহার করুন - চেক করা হলে, ব্যানারটি পূর্ণ স্ক্রীনের প্রস্থ দখল করবে। আপনি স্ক্রীনের % প্রস্থ (50~99%) সামঞ্জস্য করতে পারেন যদি আপনি ব্যবহার পূর্ণ স্ক্রীন প্রস্থ বিকল্পটি আনচেক করেন।
    • কাস্টম আপনাকে ব্যানারের প্রস্থ এবং উচ্চতা প্রদান করতে দেয়।
  • বিজ্ঞাপনের অবস্থান - ব্যানারটি যেখানে স্থাপন করা উচিত সেটি নির্বাচন করুন।

কলব্যাক

আপনি বিজ্ঞাপন কলব্যাকগুলির সাথে সম্পর্কিত ফাংশনগুলি বাস্তবায়ন করতে পারেন৷ উদাহরণস্বরূপ, আপনি যদি ব্যানার বিজ্ঞাপন লোড হতে ব্যর্থ হলে পরিচালনা করতে চান:

  1. বিজ্ঞাপন কলব্যাকের সাথে সামঞ্জস্যপূর্ণ একটি ফাংশন তৈরি করুন।

    public void OnBannerAdFailedToLoad(string reason) {
        Debug.Log("Banner ad failed to load: " + reason);
    }
    
  2. দৃশ্যের যেকোনো গেমঅবজেক্টে উপরের ফাংশনটি ধারণ করে স্ক্রিপ্টটি সংযুক্ত করুন।

  3. + বোতামে ক্লিক করুন, তারপরে আপনি স্ক্রিপ্টটি সংযুক্ত করেছেন এমন GameObjectটিকে টেনে আনুন এবং ফেলে দিন।

  4. যে ফাংশনটি আপনি বিজ্ঞাপন কলব্যাকের সাথে লিঙ্ক করতে চান সেটি নির্বাচন করুন। প্যারামিটারাইজড বিজ্ঞাপন কলব্যাকের জন্য, ডায়নামিক ভেরিয়েবল গ্রহণ করার জন্য ফাংশনটি নির্বাচন করুন যাতে আপনি SDK থেকে প্যারামিটার মান পেতে পারেন।

স্ক্রিপ্ট থেকে AdGameObject ব্যবহার করুন

স্ক্রিপ্ট থেকে AdGameObject উদাহরণ পান

সমস্ত AdGameObject অবজেক্টের সুবিধার পদ্ধতি LoadAd() আছে। এটি একটি সাধারণ, লক্ষ্যবিহীন AdRequest সহ একটি বিজ্ঞাপন লোড করবে। টার্গেটিং প্রয়োগ করতে, আপনার নিজের কনফিগার করা বিজ্ঞাপন অনুরোধ ব্যবহার করে LoadAd(AdRequest adRequest) ব্যবহার করা উচিত।

একটি AdGameObject এর উদাহরণ পেতে প্রতিটি বিন্যাসের জন্য নিম্নলিখিত পদ্ধতিটি ব্যবহার করুন:

MobileAds.Instance.GetAd<BannerAdGameObject>("AD_GAMEOBJECT_NAME");

ফিরে আসা BannerAdGameObject অবজেক্টের সুবিধার পদ্ধতি রয়েছে Hide() এবং Show()

কৌশলে

MobileAds.Instance.GetAd<InterstitialAdGameObject>("AD_GAMEOBJECT_NAME");

ফিরে আসা InterstitialAdGameObject অবজেক্টের একটি সুবিধার পদ্ধতি আছে ShowIfLoaded()

পুরস্কৃত

MobileAds.Instance.GetAd<RewardedAdGameObject>("AD_GAMEOBJECT_NAME");

ফিরে আসা RewardedAdGameObject অবজেক্টের একটি সুবিধাজনক পদ্ধতি আছে ShowIfLoaded()

উদাহরণস্বরূপ, আপনি একটি BannerAdGameObject এর একটি উদাহরণ পেতে পারেন এবং এটিকে নিম্নরূপ লোড করতে পারেন:

using UnityEngine;

using GoogleMobileAds.Api;
using GoogleMobileAds.Placement;

public class BannerTestScript : MonoBehaviour
{
    BannerAdGameObject bannerAd;

    void Start()
    {
        bannerAd = MobileAds.Instance
            .GetAd<BannerAdGameObject>("AD_GAMEOBJECT_NAME");

        bannerAd.LoadAd();
        ...
    }
    ...
}

যদি ব্যানারএড নামে একটি BannerAdGameObject থাকে তবে আপনি এটির একটি উদাহরণ পেতে পারেন:

MobileAds.Instance.GetAd<BannerAdGameObject>("BannerAd");

AdGameObject-এ অন্তর্নিহিত বিজ্ঞাপন বস্তু অ্যাক্সেস করুন

এই স্নিপেটগুলি দেখায় কিভাবে AdGameObject-এর সাথে যুক্ত অন্তর্নিহিত বিজ্ঞাপন অবজেক্ট অ্যাক্সেস করতে হয়।

BannerAdGameObject bannerAd = MobileAds.Instance
    .GetAd<BannerAdGameObject>("AD_GAMEOBJECT_NAME");

// Access BannerView object
BannerView bannerView = bannerAd.BannerView;

কৌশলে

InterstitialAdGameObject interstitialAdGameObject = MobileAds.Instance
    .GetAd<InterstitialAdGameObject>("AD_GAMEOBJECT_NAME");

// Access InterstitialAd object
InterstitialAd interstitialAd = interstitialAdGameObject.InterstitialAd;

পুরস্কৃত

RewardedAdGameObject rewardedAdGameObject = MobileAds.Instance
    .Get<RewardedAdGameObject>("AD_GAMEOBJECT_NAME");

// Access RewardedAd object
RewardedAd rewardedAd = rewardedAdGameObject.RewardedAd;

উদাহরণ

একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন দেখান

একটি AdGameObject ব্যবহার করে একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন লোড করতে এবং দেখানোর জন্য কীভাবে একটি গেম কনফিগার করতে হয় তার একটি উদাহরণ এখানে রয়েছে৷

দৃশ্যটিতে একটি InterstitialAdGameObject যোগ করুন এবং স্বয়ংক্রিয় লোড সক্ষম বৈশিষ্ট্যটি চালু করুন, যাতে দৃশ্যটি লোড হওয়ার সময় বিজ্ঞাপনটি স্বয়ংক্রিয়ভাবে লোড হয়৷

এরপরে, নিশ্চিত করুন যে আপনি নিম্নরূপ ব্যবহার করে SDK শুরু করেছেন। মনে রাখবেন যে AdGameObject-এ অটো লোড বৈশিষ্ট্যটি কাজ করবে না যদি আপনি SDK শুরু করতে ভুলে যান।

তারপর InterstitialAdGameObject.ShowIfLoaded() ফাংশন কল করে একটি স্ক্রীন ট্রানজিশনের মধ্যে একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন প্রদর্শন করুন। নিচের কোডটি দৃশ্য পরিবর্তনের মধ্যে একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন প্রদর্শনের একটি উদাহরণ দেখায়।

using UnityEngine;
using UnityEngine.SceneManagement;

using GoogleMobileAds.Api;
using GoogleMobileAds.Placement;

public class MainScene : MonoBehaviour
{
    InterstitialAdGameObject interstitialAd;

    void Start()
    {
        interstitialAd = MobileAds.Instance
            .GetAd<InterstitialAdGameObject>("interstitial");

        MobileAds.Initialize((initStatus) => {
            Debug.Log("Initialized MobileAds");
        });
    }

    public void OnClickShowGameSceneButton()
    {
        // Display an interstitial ad
        interstitialAd.ShowIfLoaded();

        // Load a scene named "GameScene"
        SceneManager.LoadScene("GameScene");
    }
}

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

আপনি যদি ম্যানুয়ালি একটি বিজ্ঞাপনের অনুরোধ করতে চান, তাহলে বিজ্ঞাপন প্লেসমেন্ট পরিদর্শক থেকে অটো লোড বৈশিষ্ট্যটি অক্ষম করুন এবং এর পরিবর্তে InterstitialAdGameObject.LoadAd() ফাংশনটি কল করুন৷ নিম্নলিখিত কোড স্নিপেটটি দেখায় কিভাবে ম্যানুয়ালি একটি বিজ্ঞাপনের জন্য অনুরোধ করতে হয়।

public class MainScene : MonoBehaviour
{
    InterstitialAdGameObject interstitialAd;

    void Start()
    {
        interstitialAd = MobileAds.Instance
            .GetAdGameObject<InterstitialAdGameObject>("interstitial");

        MobileAds.Initialize((initStatus) => {
            Debug.Log("MobileAds initialized");

            // Load an interstitial ad after the SDK initialization is complete
            interstitialAd.LoadAd();
        });
    }
    ...
}

"পুরস্কারপ্রাপ্ত বিজ্ঞাপন দেখুন" বোতামের অবস্থা হ্যান্ডেল করুন

বিজ্ঞাপন বসানো ব্যবহার করে একটি "পুরস্কারপ্রাপ্ত বিজ্ঞাপন দেখুন" বোতাম কীভাবে সক্ষম করবেন তার একটি উদাহরণ এখানে দেওয়া হল।

দৃশ্যে একটি বোতাম গেমঅবজেক্ট (এই উদাহরণে বোতাম নামে) যোগ করুন, যা একটি পুরস্কৃত বিজ্ঞাপন প্রদর্শন করতে ব্যবহার করা হবে। একটি পুরস্কৃত বিজ্ঞাপন উপলব্ধ হলেই আমরা এই বোতামটি উপলব্ধ করব৷

Start() পদ্ধতিতে, বোতামের সক্রিয় অবস্থাকে false পরিবর্তন করুন। এটি বোতামটি দৃশ্য থেকে অদৃশ্য হয়ে যাবে।

public class MainScene : MonoBehaviour
{
    ...
    void Start()
    {
        GameObject.Find("Button").SetActive(false);
        ...
    }
}

দৃশ্যে একটি RewardedAdGameObject যোগ করুন এবং ড্রপডাউন থেকে AdMob ডেমো পুরস্কৃত বিজ্ঞাপন বিজ্ঞাপন প্লেসমেন্ট নির্বাচন করুন।

RewardedAdGameObject ইন্সপেক্টরের কলব্যাক বিভাগের অধীনে, একটি পুরস্কৃত বিজ্ঞাপন লোড করার সময় ফাংশনটি কল করা সক্ষম করতে On Ad Loaded() থেকে + বোতামে ক্লিক করুন।

None (অবজেক্ট) ফিল্ডে আপনি আগের ধাপে যোগ করা বোতাম গেমঅবজেক্টটিকে টেনে আনুন এবং ড্রপ করুন। ড্রপডাউন থেকে কল করার জন্য একটি ফাংশন নির্বাচন করুন। No Function > GameObject > SetActive(bool) ক্লিক করুন, তারপর চেকবক্সে ক্লিক করুন যাতে এটি একটি প্যারামিটার হিসাবে true পাঠায় ( SetActive(true) কল করে)।

এই কলব্যাক বিভাগে, আপনি একটি ইভেন্ট লিঙ্ক করতে পারেন যা RewardedAd.OnUserEarnedReward ইভেন্টটি চালু হলে কল করা হবে। আরো বিস্তারিত জানার জন্য, এই বিভাগে পড়ুন.

এরপরে, ক্লিক করার সময় একটি পুরস্কৃত বিজ্ঞাপন প্রদর্শন করতে বোতামটি তৈরি করুন। বোতাম পরিদর্শকের অন ক্লিক() কলব্যাক বিভাগ থেকে, + বোতামে ক্লিক করুন এবং রিওয়ার্ডেড অ্যাড প্লেসমেন্ট গেমঅবজেক্ট (এই উদাহরণে পুরস্কৃত বিজ্ঞাপনের নাম) None (অবজেক্ট) ফিল্ডে টেনে আনুন।

তারপর, RewardedAdGameObject.ShowIfLoaded() ফাংশনটি বোতামের On Click() কলব্যাকের সাথে সংযুক্ত করুন।

সবশেষে, SDK আরম্ভ করতে ভুলবেন না। নিম্নলিখিত কোড স্নিপেট এই উদাহরণে ব্যবহৃত দৃশ্যের জন্য সম্পূর্ণ কোড:

using UnityEngine;

using GoogleMobileAds.Api;

public class MainScene : MonoBehaviour
{
    void Start()
    {
        GameObject.Find("Button").SetActive(false);

        MobileAds.Initialize((initStatus) => {
            Debug.Log("Initialized MobileAds");
        });
    }
}

একবার আপনি প্রজেক্ট চালালে, পুরস্কৃত বিজ্ঞাপন লোড হয়ে গেলে এবং দেখানোর জন্য প্রস্তুত হলে আপনি দৃশ্যে প্রদর্শিত বোতামটি দেখতে পাবেন।

RewardedAdGameObject এর জন্য একটি পুরস্কার কলব্যাক কনফিগার করুন

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

একটি নতুন স্ক্রিপ্ট তৈরি করুন এবং একটি ফাংশন সংজ্ঞায়িত করুন যা নিম্নরূপ একটি প্যারামিটার হিসাবে Reward গ্রহণ করে।

using UnityEngine;
using GoogleMobileAds.Api;

class RewardedTestScript : MonoBehaviour {
    ...
    public void OnUserEarnedReward(Reward reward) {
        Debug.Log("OnUserEarnedReward: reward=" +
            reward.Type + ", amount=" + reward.Amount);
    }
    ...
}

দৃশ্যের যেকোনো GameObject (Ad Placement GameObject বাদে) এর সাথে RewardedTestScript স্ক্রিপ্ট সংযুক্ত করুন। এই উদাহরণে, এটি প্রধান ক্যামেরা গেমঅবজেক্টের সাথে সংযুক্ত।

দৃশ্যে একটি RewardedAdGameObject যোগ করুন। তারপর, RewardedAdGameObject ইন্সপেক্টরের কলব্যাক বিভাগের অধীনে, ব্যবহারকারীর অর্জিত পুরষ্কার (পুরষ্কার) এর + বোতামে ক্লিক করুন যাতে কোনও ব্যবহারকারীকে পুরস্কার দেওয়া হলে কল করা ফাংশনটি সক্ষম হয়।

মূল ক্যামেরা গেমঅবজেক্টটি টেনে আনুন এবং ড্রপ করুন যা আপনি পূর্ববর্তী ধাপে None (অবজেক্ট) ক্ষেত্রে যোগ করেছেন। ড্রপডাউন থেকে কল করার জন্য একটি ফাংশন নির্বাচন করুন। No Function > RewardedTestScript > OnUserEarnedReward এ ক্লিক করুন।

একবার আপনি প্রজেক্ট চালান এবং একটি পুরস্কৃত বিজ্ঞাপন দেখলে, RewardedTestScript.OnUserEarnedReward() ডাকা হবে যখন বিজ্ঞাপনের সাথে ইন্টারঅ্যাক্ট করার জন্য আপনাকে পুরস্কৃত করা হবে।