এই নির্দেশিকাটি আপনাকে দেখায় কিভাবে Google Mobile Ads Unity প্লাগইনের Ad Placements বৈশিষ্ট্যটি ব্যবহার করে আপনার অ্যাপের জন্য বিজ্ঞাপন তৈরি এবং প্রদর্শন করবেন।
পূর্বশর্ত
ইউনিটি ২০১৭.৪ বা তার বেশি।
GMA ইউনিটি প্লাগইনের প্রাথমিক বিল্ডটি ডাউনলোড এবং আমদানি করুন।
ইউনিটি এডিটরে আপনার AdMob অ্যাপ আইডি সেট করুন ।
গুগল মোবাইল বিজ্ঞাপন ইউনিটি প্লাগইন শুরু করুন
বিজ্ঞাপন লোড করার আগে, Action<InitializationStatus> কলব্যাক দিয়ে MobileAds.Initialize() এ কল করে Google Mobile Ads Unity Plugin আরম্ভ করুন। এটি শুধুমাত্র একবার করতে হবে, আদর্শভাবে অ্যাপ লঞ্চের সময়।
using GoogleMobileAds.Api;
using System.Collections.Generic;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
...
public void Start()
{
// Initialize Google Mobile Ads Unity Plugin.
MobileAds.Initialize((initStatus) =>
{
// SDK initialization is complete
});
...
}
}
বিজ্ঞাপনের প্লেসমেন্ট তৈরি করা
গুগল মোবাইল বিজ্ঞাপনের মাধ্যমে ব্যানার প্রদর্শনের প্রথম ধাপ হল একটি বিজ্ঞাপন প্লেসমেন্ট তৈরি এবং কনফিগার করা। আপনি ইউনিটি এডিটরে অ্যাসেট > গুগল মোবাইল বিজ্ঞাপন > বিজ্ঞাপন প্লেসমেন্ট থেকে ব্যানার, ইন্টারস্টিশিয়াল, অথবা রিওয়ার্ডেড ফর্ম্যাটের একটি বিজ্ঞাপন প্লেসমেন্ট নির্বাচন করতে পারেন। এরপর তিনটি ডেমো বিজ্ঞাপন প্লেসমেন্ট সেট আপ করা হয় এবং ব্যবহারের জন্য প্রস্তুত।


একটি নতুন বিজ্ঞাপন প্লেসমেন্ট যোগ করতে, তালিকার শেষে "নতুন প্লেসমেন্ট যোগ করুন" বোতামে ক্লিক করুন। আপনি ইন্সপেক্টর ভিউ থেকে বিজ্ঞাপন প্লেসমেন্ট কনফিগার করতে পারেন।
বিজ্ঞাপন প্লেসমেন্ট কনফিগারেশন
প্রতিটি স্থানের নিম্নলিখিত বৈশিষ্ট্য রয়েছে:
- স্থান নির্ধারণের নাম
- স্থানের নাম। কোনও দৃশ্যে বিজ্ঞাপন সেট আপ করার সময় স্থান চিহ্নিত করতে ব্যবহৃত হয়।
- বিজ্ঞাপনের ফর্ম্যাট
- ব্যানার, পুরস্কৃত, ইন্টারস্টিশিয়াল। বিজ্ঞাপনের ধরণ।
- বিজ্ঞাপন ইউনিট আইডি
- Android এবং iOS এর জন্য আপনার ব্যানার বিজ্ঞাপন ইউনিট আইডি প্রদান করুন। আপনাকে কমপক্ষে একটি বিজ্ঞাপন ইউনিট আইডি প্রদান করতে হবে।
- দৃশ্য জুড়ে অবিচল
- টিক চিহ্ন দেওয়া হলে, দৃশ্যের পরিবর্তন নির্বিশেষে ব্যানারটি স্ক্রিনে টিকে থাকবে (
DontDestroyOnLoadএর মতোই আচরণ)। - স্বয়ংক্রিয় লোড সক্ষম করা হয়েছে
- টিক চিহ্ন দেওয়া হলে, বিজ্ঞাপন স্থাপনের সাথে সম্পর্কিত কোনও দৃশ্য লোড হলে একটি বিজ্ঞাপন স্বয়ংক্রিয়ভাবে লোড হবে।
নিচের স্ক্রিনশটটিতে My Awesome Banner নামের একটি বিজ্ঞাপন প্লেসমেন্টের উদাহরণ দেখানো হয়েছে।

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

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

আপনি GameObject এর নাম পরিবর্তন করে প্লেসমেন্টের নাম পরিবর্তন করতে পারেন। নিচের স্ক্রিনশটটিতে Banner Ad নামের একটি AdGameObject এর উদাহরণ দেখানো হয়েছে।

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

-
BannerAdGameObjectকনফিগারেশন (শুধুমাত্র ব্যানার)
- আকার - আপনি যে ব্যানারটি ব্যবহার করতে চান তার আকার নির্বাচন করুন।
- অ্যাঙ্কর্ড অ্যাডাপ্টিভ ব্যানার আরও কয়েকটি বিকল্প প্রদান করে:
- ওরিয়েন্টেশন - বিজ্ঞাপনের উচ্চতা গণনা করতে ব্যবহৃত ডিভাইস ওরিয়েন্টেশন নির্বাচন করুন।
- পূর্ণ পর্দার প্রস্থ ব্যবহার করুন - চেক করা হলে, ব্যানারটি পূর্ণ পর্দার প্রস্থ দখল করবে। আপনি যদি পূর্ণ পর্দার প্রস্থ ব্যবহার করুন বিকল্পটি আনচেক করেন তবে আপনি পর্দার % প্রস্থ (50~99%) সামঞ্জস্য করতে পারেন।
- কাস্টম আপনাকে ব্যানারের প্রস্থ এবং উচ্চতা প্রদান করতে দেয়।
- অ্যাঙ্কর্ড অ্যাডাপ্টিভ ব্যানার আরও কয়েকটি বিকল্প প্রদান করে:
- বিজ্ঞাপনের অবস্থান - ব্যানারটি কোথায় স্থাপন করা উচিত তা নির্বাচন করুন।
কলব্যাক
আপনি বিজ্ঞাপন কলব্যাকের সাথে সঙ্গতিপূর্ণ ফাংশনগুলি বাস্তবায়ন করতে পারেন। উদাহরণস্বরূপ, যদি আপনি একটি ব্যানার বিজ্ঞাপন লোড না হলে পরিচালনা করতে চান:
বিজ্ঞাপন কলব্যাকের সাথে সামঞ্জস্যপূর্ণ একটি ফাংশন তৈরি করুন।
public void OnBannerAdFailedToLoad(string reason) { Debug.Log("Banner ad failed to load: " + reason); }উপরের ফাংশনটি ধারণকারী স্ক্রিপ্টটি দৃশ্যের যেকোনো GameObject-এর সাথে সংযুক্ত করুন।
+ বোতামে ক্লিক করুন, তারপর যে GameObject-এর সাথে স্ক্রিপ্টটি সংযুক্ত করেছেন সেটি টেনে এনে ফেলে দিন।

আপনি যে ফাংশনটি বিজ্ঞাপন কলব্যাকের সাথে লিঙ্ক করতে চান তা নির্বাচন করুন। প্যারামিটারাইজড বিজ্ঞাপন কলব্যাকের জন্য, ডায়নামিক ভেরিয়েবল গ্রহণ করার জন্য ফাংশনটি নির্বাচন করুন যাতে আপনি 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();
...
}
...
}
যদি BannerAd নামে একটি 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 যোগ করুন এবং Auto Load Enabled বৈশিষ্ট্যটি চালু করুন, যাতে দৃশ্য লোড হওয়ার সাথে সাথে বিজ্ঞাপনটি স্বয়ংক্রিয়ভাবে লোড হয়।
এরপর, নিশ্চিত করুন যে আপনি নিম্নলিখিত পদ্ধতি ব্যবহার করে SDK চালু করেছেন। মনে রাখবেন যে SDK চালু করতে ভুলে গেলে AdGameObject-এর অটো লোড বৈশিষ্ট্যটি কাজ করবে না।
তারপর 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();
});
}
...
}
"পুরস্কৃত বিজ্ঞাপন দেখুন" বোতামের অবস্থা হ্যান্ডেল করুন
বিজ্ঞাপন প্লেসমেন্ট ব্যবহার করে "পুরস্কৃত বিজ্ঞাপন দেখুন" বোতামটি কীভাবে সক্ষম করবেন তার একটি উদাহরণ এখানে দেওয়া হল।
দৃশ্যে একটি Button GameObject (এই উদাহরণে Button নামে পরিচিত) যোগ করুন, যা একটি পুরস্কৃত বিজ্ঞাপন প্রদর্শন করতে ব্যবহৃত হবে। আমরা এই বোতামটি কেবল তখনই উপলব্ধ করব যখন একটি পুরস্কৃত বিজ্ঞাপন উপলব্ধ থাকবে।

Start() পদ্ধতিতে, Button এর সক্রিয় অবস্থা false তে পরিবর্তন করুন। এর ফলে বোতামটি দৃশ্য থেকে অদৃশ্য হয়ে যাবে।
public class MainScene : MonoBehaviour
{
...
void Start()
{
GameObject.Find("Button").SetActive(false);
...
}
}
দৃশ্যে একটি RewardedAdGameObject যোগ করুন এবং ড্রপডাউন থেকে AdMob ডেমো Rewarded Ad Ad Placement নির্বাচন করুন।
RewardedAdGameObject ইন্সপেক্টরের কলব্যাক বিভাগের অধীনে, On Ad Loaded() থেকে + বোতামে ক্লিক করে একটি পুরস্কৃত বিজ্ঞাপন লোড হলে ফাংশনটি কল করা সম্ভব করুন।

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

এই কলব্যাক বিভাগে, আপনি এমন একটি ইভেন্টের লিঙ্ক আপ করতে পারেন যা RewardedAd.OnUserEarnedReward ইভেন্টটি চালু হলে কল করা হবে। আরও বিস্তারিত জানার জন্য, এই বিভাগটি দেখুন।
এরপর, ক্লিক করলে পুরস্কৃত বিজ্ঞাপন দেখানোর জন্য বোতামটি তৈরি করুন। বোতাম ইন্সপেক্টরের On Click() কলব্যাক বিভাগ থেকে, + বোতামে ক্লিক করুন এবং Rewarded Ad Placement GameObject (এই উদাহরণে Rewarded Ad নামে পরিচিত) কে None (Object) ক্ষেত্রে টেনে আনুন।

তারপর, 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 স্ক্রিপ্টটি সংযুক্ত করুন। এই উদাহরণে, এটি প্রধান ক্যামেরা GameObject-এর সাথে সংযুক্ত।

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

পূর্ববর্তী ধাপে যোগ করা Main Camera GameObject টি None (Object) ফিল্ডে টেনে এনে ছেড়ে দিন। ড্রপডাউন থেকে কল করার জন্য একটি ফাংশন নির্বাচন করুন। No Function > RewardedTestScript > OnUserEarnedReward এ ক্লিক করুন।

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