ব্যানার বিজ্ঞাপন হল আয়তক্ষেত্রাকার ছবি বা টেক্সট বিজ্ঞাপন যা স্ক্রিনে একটি স্থান দখল করে। ব্যবহারকারীরা অ্যাপের সাথে ইন্টারঅ্যাক্ট করার সময় তারা স্ক্রিনে থাকে এবং নির্দিষ্ট সময়ের পরে স্বয়ংক্রিয়ভাবে রিফ্রেশ করতে পারে। আপনি যদি মোবাইল বিজ্ঞাপনে নতুন হন, তাহলে শুরু করার জন্য এগুলি একটি দুর্দান্ত জায়গা৷ কেস স্টাডি ।
এই নির্দেশিকা আপনাকে দেখায় কিভাবে AdMob থেকে একটি ইউনিটি অ্যাপে ব্যানার বিজ্ঞাপনগুলিকে একীভূত করতে হয়৷ কোড স্নিপেট এবং নির্দেশাবলী ছাড়াও, এতে ব্যানারগুলিকে সঠিকভাবে আকার দেওয়ার এবং অতিরিক্ত সংস্থানগুলির লিঙ্কগুলি সম্পর্কে তথ্যও রয়েছে৷
পূর্বশর্ত
সম্পূর্ণ শুরু করুন । আপনার ইউনিটি অ্যাপে ইতিমধ্যেই Google মোবাইল বিজ্ঞাপন ইউনিটি প্লাগইন আমদানি করা উচিত।
একটি ব্যানারভিউ তৈরি করুন
একটি ব্যানার প্রদর্শনের দিকে প্রথম ধাপ হল একটি BannerView
সাথে সংযুক্ত একটি C# স্ক্রিপ্টে একটি ব্যানারভিউ অবজেক্ট তৈরি GameObject
।
ইউনিটি এডিটর ব্যবহার করে সহজে বিজ্ঞাপন ইন্টিগ্রেশনের জন্য, নতুন অ্যাড প্লেসমেন্ট বিটা ব্যবহার করে দেখুন।
using System;
using UnityEngine;
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
private BannerView bannerView;
...
public void Start()
{
// Initialize the Google Mobile Ads SDK.
MobileAds.Initialize(initStatus => { });
this.RequestBanner();
}
private void RequestBanner()
{
#if UNITY_ANDROID
string adUnitId = "ca-app-pub-3940256099942544/6300978111";
#elif UNITY_IPHONE
string adUnitId = "ca-app-pub-3940256099942544/2934735716";
#else
string adUnitId = "unexpected_platform";
#endif
// Create a 320x50 banner at the top of the screen.
this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);
}
}
একটি BannerView
এর কনস্ট্রাক্টরের নিম্নলিখিত পরামিতি রয়েছে:
-
adUnitId
- AdMob বিজ্ঞাপন ইউনিট ID যেখান থেকেBannerView
বিজ্ঞাপন লোড করবে। -
AdSize
- আপনি যে AdMob বিজ্ঞাপনের আকার ব্যবহার করতে চান (বিশদ বিবরণের জন্য ব্যানারের আকারের সাথে পরামর্শ করুন)। -
AdPosition
- যে অবস্থানে ব্যানার বিজ্ঞাপন স্থাপন করা উচিত।AdPosition
বৈধ বিজ্ঞাপন অবস্থানের মান তালিকাভুক্ত করে।
প্ল্যাটফর্মের উপর নির্ভর করে বিভিন্ন বিজ্ঞাপন ইউনিট কীভাবে ব্যবহার করা হয় তা লক্ষ করা গুরুত্বপূর্ণ। iOS-এ বিজ্ঞাপনের অনুরোধ করার জন্য আপনাকে একটি iOS বিজ্ঞাপন ইউনিট এবং Android-এ অনুরোধ করার জন্য একটি Android বিজ্ঞাপন ইউনিট ব্যবহার করতে হবে।
(ঐচ্ছিক) কাস্টম বিজ্ঞাপন অবস্থান
AdPosition
মানের দ্বারা অফার করার চেয়ে একটি BannerView
স্ক্রিনে কোথায় রাখা হয় তার উপর বৃহত্তর নিয়ন্ত্রণের জন্য, BannerView
কনস্ট্রাক্টর ব্যবহার করুন যাতে প্যারামিটার হিসাবে x- এবং y-কোঅর্ডিনেট রয়েছে:
// Create a 320x50 banner ad at coordinate (0,50) on screen.
BannerView bannerView = new BannerView(adUnitId, AdSize.Banner, 0, 50);
BannerView
-এর উপরের-বাম কোণটি কনস্ট্রাক্টরের কাছে পাঠানো x এবং y মানগুলিতে অবস্থান করা হবে, যেখানে মূলটি স্ক্রিনের উপরের-বাম দিকে।
(ঐচ্ছিক) কাস্টম বিজ্ঞাপনের আকার
একটি AdSize ধ্রুবক ব্যবহার করার পাশাপাশি, আপনি আপনার বিজ্ঞাপনের জন্য একটি কাস্টম আকারও নির্দিষ্ট করতে পারেন:
AdSize adSize = new AdSize(250, 250);
BannerView bannerView = new BannerView(adUnitId, adSize, AdPosition.Bottom);
সর্বদা পরীক্ষার বিজ্ঞাপন দিয়ে পরীক্ষা করুন
উপরের নমুনা কোডটিতে একটি বিজ্ঞাপন ইউনিট আইডি রয়েছে এবং আপনি এটি দিয়ে বিজ্ঞাপনের অনুরোধ করতে পারবেন। এটি বিশেষভাবে প্রতিটি অনুরোধের জন্য উত্পাদন বিজ্ঞাপনের পরিবর্তে পরীক্ষার বিজ্ঞাপনগুলি ফেরত দেওয়ার জন্য কনফিগার করা হয়েছে, যা এটি ব্যবহার করা নিরাপদ করে তোলে৷
যাইহোক, একবার আপনি AdMob UI-তে একটি অ্যাপ নিবন্ধন করে এবং আপনার অ্যাপে ব্যবহারের জন্য আপনার নিজস্ব বিজ্ঞাপন ইউনিট আইডি তৈরি করলে, আপনি যখন বিকাশ করছেন তখন আপনাকে স্পষ্টভাবে আপনার ডিভাইসটিকে পরীক্ষামূলক ডিভাইস হিসাবে কনফিগার করতে হবে। এই অত্যন্ত গুরুত্বপূর্ণ. আসল বিজ্ঞাপনগুলি দিয়ে পরীক্ষা করা (এমনকি যদি আপনি সেগুলিতে কখনও ট্যাপ না করেন) AdMob নীতির বিরুদ্ধে এবং আপনার অ্যাকাউন্ট স্থগিত হতে পারে৷ বিকাশ করার সময় আপনি কীভাবে সর্বদা পরীক্ষামূলক বিজ্ঞাপনগুলি পান তা নিশ্চিত করতে পারেন সে সম্পর্কে তথ্যের জন্য পরীক্ষা বিজ্ঞাপনগুলি পড়ুন।
একটি বিজ্ঞাপন লোড করুন
BannerView
একবার চালু হলে, পরবর্তী ধাপ হল একটি বিজ্ঞাপন লোড করা। ব্যানারভিউ ক্লাসে BannerView
loadAd()
পদ্ধতিতে এটি করা হয়েছে। এটি একটি AdRequest
আর্গুমেন্ট নেয়, যা একটি একক বিজ্ঞাপন অনুরোধ সম্পর্কে রানটাইম তথ্য (যেমন টার্গেটিং তথ্য) ধারণ করে।
এখানে একটি উদাহরণ রয়েছে যা দেখায় কিভাবে একটি বিজ্ঞাপন লোড করতে হয়:
... private void RequestBanner() { #if UNITY_ANDROID string adUnitId = "ca-app-pub-3940256099942544/6300978111"; #elif UNITY_IPHONE string adUnitId = "ca-app-pub-3940256099942544/2934735716"; #else string adUnitId = "unexpected_platform"; #endif // Create a 320x50 banner at the top of the screen. this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top); // Create an empty ad request. AdRequest request = new AdRequest.Builder().Build(); // Load the banner with the request. this.bannerView.LoadAd(request); } ...
এটাই! আপনার অ্যাপ এখন AdMob থেকে ব্যানার বিজ্ঞাপন প্রদর্শনের জন্য প্রস্তুত।
বিজ্ঞাপন ইভেন্ট
আপনার বিজ্ঞাপনের আচরণকে আরও কাস্টমাইজ করতে, আপনি বিজ্ঞাপনের জীবনচক্রের বেশ কয়েকটি ইভেন্টের সাথে যুক্ত করতে পারেন: লোড করা, খোলা, বন্ধ করা এবং আরও অনেক কিছু। নীচে দেখানো হিসাবে উপযুক্ত EventHandler
এর জন্য একজন প্রতিনিধি নিবন্ধন করে এই ইভেন্টগুলির জন্য শুনুন।
... using System; using UnityEngine; using GoogleMobileAds.Api; ... public class GoogleMobileAdsDemoScript : MonoBehaviour { private BannerView bannerView; public void Start() { this.RequestBanner(); } private void RequestBanner() { #if UNITY_ANDROID string adUnitId = "ca-app-pub-3940256099942544/6300978111"; #elif UNITY_IPHONE string adUnitId = "ca-app-pub-3940256099942544/2934735716"; #else string adUnitId = "unexpected_platform"; #endif this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top); // Called when an ad request has successfully loaded. this.bannerView.OnAdLoaded += this.HandleOnAdLoaded; // Called when an ad request failed to load. this.bannerView.OnAdFailedToLoad += this.HandleOnAdFailedToLoad; // Called when an ad is clicked. this.bannerView.OnAdOpening += this.HandleOnAdOpened; // Called when the user returned from the app after an ad click. this.bannerView.OnAdClosed += this.HandleOnAdClosed; // Called when the ad click caused the user to leave the application. this.bannerView.OnAdLeavingApplication += this.HandleOnAdLeavingApplication; // Create an empty ad request. AdRequest request = new AdRequest.Builder().Build(); // Load the banner with the request. this.bannerView.LoadAd(request); } public void HandleOnAdLoaded(object sender, EventArgs args) { MonoBehaviour.print("HandleAdLoaded event received"); } public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args) { MonoBehaviour.print("HandleFailedToReceiveAd event received with message: " + args.Message); } public void HandleOnAdOpened(object sender, EventArgs args) { MonoBehaviour.print("HandleAdOpened event received"); } public void HandleOnAdClosed(object sender, EventArgs args) { MonoBehaviour.print("HandleAdClosed event received"); } public void HandleOnAdLeavingApplication(object sender, EventArgs args) { MonoBehaviour.print("HandleAdLeavingApplication event received"); } }
OnAdFailedToLoad
ইভেন্টে বিশেষ ইভেন্ট আর্গুমেন্ট রয়েছে। এটি ত্রুটি বর্ণনা করে একটি Message
সহ HandleAdFailedToLoadEventArgs
এর একটি উদাহরণ পাস করে:
public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
MonoBehaviour.print("Banner failed to load: " + args.Message);
// Handle the ad failed to load event.
};
বিজ্ঞাপন ইভেন্ট | বর্ণনা |
---|---|
OnAdLoaded | একটি বিজ্ঞাপন লোড করা শেষ হলে OnAdLoaded ইভেন্টটি সম্পাদিত হয়। |
OnAdFailedToLoad | একটি বিজ্ঞাপন লোড হতে ব্যর্থ হলে OnAdFailedToLoad ইভেন্টটি চালু করা হয়। Message প্যারামিটার বর্ণনা করে যে ব্যর্থতার ধরন ঘটেছে। |
OnAdOpening | এই পদ্ধতিটি ব্যবহার করা হয় যখন ব্যবহারকারী একটি বিজ্ঞাপনে ট্যাপ করে। আপনি যদি ক্লিকথ্রু ট্র্যাক করার জন্য একটি বিশ্লেষণ প্যাকেজ ব্যবহার করেন, এটি একটি রেকর্ড করার জন্য একটি ভাল জায়গা। |
OnAdClosed | যখন কোনো ব্যবহারকারী কোনো বিজ্ঞাপনের গন্তব্য URL দেখার পর অ্যাপে ফিরে আসেন, তখন এই পদ্ধতিটি চালু করা হয়। আপনার অ্যাপ স্থগিত ক্রিয়াকলাপগুলি পুনরায় শুরু করতে বা নিজেকে মিথস্ক্রিয়ার জন্য প্রস্তুত করতে প্রয়োজনীয় অন্য কোনও কাজ সম্পাদন করতে এটি ব্যবহার করতে পারে। |
OnAdLeavingApplication | এই পদ্ধতিটি চালু করা হয় onAdOpened এর পরে, যখন একজন ব্যবহারকারী ক্লিক করলে বর্তমান অ্যাপের পটভূমিতে অন্য অ্যাপ (যেমন Google Play store) খোলে। |
ব্যানার মাপ
নীচের টেবিলে স্ট্যান্ডার্ড ব্যানার মাপ তালিকাভুক্ত করা হয়েছে।
dp তে আকার (WxH) | বর্ণনা | উপস্থিতি | বিজ্ঞাপনের আকার ধ্রুবক |
---|---|---|---|
320x50 | স্ট্যান্ডার্ড ব্যানার | ফোন এবং ট্যাবলেট | BANNER |
320x100 | বড় ব্যানার | ফোন এবং ট্যাবলেট | LARGE_BANNER |
300x250 | IAB মাঝারি আয়তক্ষেত্র | ফোন এবং ট্যাবলেট | MEDIUM_RECTANGLE |
468x60 | IAB পূর্ণ আকারের ব্যানার | ট্যাবলেট | FULL_BANNER |
728x90 | আইএবি লিডারবোর্ড | ট্যাবলেট | LEADERBOARD |
প্রদত্ত প্রস্থ x অভিযোজিত উচ্চতা | অভিযোজিত ব্যানার | ফোন এবং ট্যাবলেট | N/A |
স্ক্রিনের প্রস্থ x 32|50|90 | স্মার্ট ব্যানার | ফোন এবং ট্যাবলেট | SMART_BANNER |
স্মার্ট ব্যানার প্রতিস্থাপনের উদ্দেশ্যে অভিযোজিত ব্যানার সম্পর্কে আরও জানুন। |
ব্যানার বিজ্ঞাপন পরিষ্কার করুন
যখন আপনি একটি BannerView
দিয়ে শেষ করেন, তখন এটিতে আপনার রেফারেন্স ড্রপ করার আগে Destroy()
পদ্ধতিতে কল করতে ভুলবেন না:
bannerView.Destroy();
এটি প্লাগইনটিকে অবহিত করে যে বস্তুটি আর ব্যবহার করা হয় না এবং এটি দখল করা মেমরি পুনরায় দাবি করা যেতে পারে। এই পদ্ধতি কল করতে ব্যর্থতার ফলে মেমরি লিক হয়।