১. ভূমিকা
এই কোডল্যাবে, আপনি একটি ইউনিটি অ্যাপে AdMob অ্যাপের মাধ্যমে বিজ্ঞাপন খোলার বিষয়টি বাস্তবায়ন করবেন।
আপনি যা তৈরি করবেন
এই কোডল্যাবটি আপনাকে গুগল মোবাইল অ্যাডস ইউনিটি প্লাগইন ব্যবহার করে একটি ইউনিটি অ্যাপে অ্যাডমব অ্যাপ ওপেন অ্যাড বাস্তবায়ন করার পদ্ধতি ধাপে ধাপে দেখাবে।

এই কোডল্যাবটি করার সময় যদি আপনার কোনো সমস্যা (কোড বাগ, ব্যাকরণগত ভুল, অস্পষ্ট শব্দচয়ন ইত্যাদি) হয়, তাহলে কোডল্যাবের নিচের বাম কোণে থাকা 'Report a mistake' লিঙ্কটি ব্যবহার করে সমস্যাটি জানান।
আপনি যা শিখবেন
- গুগল মোবাইল অ্যাডস ইউনিটি প্লাগইন কীভাবে কনফিগার করবেন
- ইউনিটি অ্যাপে কীভাবে অ্যাপ ওপেন অ্যাড প্রয়োগ করবেন
আপনার যা যা লাগবে
- ইউনিটি ২০১৮.৪ বা তার পরবর্তী সংস্করণ
- Xcode 12 বা তার পরবর্তী সংস্করণ এবং CocoaPods (iOS-এ ডেপ্লয় করার জন্য)
AdMob নিয়ে আপনার অভিজ্ঞতার স্তরকে আপনি কীভাবে মূল্যায়ন করবেন?
২. উন্নয়ন পরিবেশ সেট আপ করুন
কোডটি ডাউনলোড করুন
জিপ ফাইলটি ডাউনলোড করার পর, এর ভেতরের ফাইলগুলো এক্সট্র্যাক্ট করুন। আপনি admob-appopen-unity-main নামের একটি ফোল্ডার পাবেন।
বিকল্পভাবে, আপনি কমান্ড লাইন থেকে গিটহাব রিপোজিটরিটি ক্লোন করতে পারেন:
$ git clone https://github.com/googlecodelabs/admob-appopen-unity
রিপোজিটরিটিতে দুটি ফোল্ডার রয়েছে:
স্টার্টার: এই কোডল্যাবে আপনি যে প্রাথমিক কোডটি তৈরি করবেন।
সম্পূর্ণ: এই কোডল্যাবের কোড সম্পন্ন হয়েছে।
৩. AdMob অ্যাপ এবং বিজ্ঞাপন ইউনিট সেট আপ করুন
ইউনিটি একটি মাল্টি-প্ল্যাটফর্ম SDK হওয়ায়, AdMob-এ আপনাকে Android এবং iOS উভয়ের জন্যই একটি অ্যাপ ও অ্যাড ইউনিট যোগ করতে হবে।
অ্যান্ড্রয়েডের জন্য সেট আপ করুন
অ্যান্ড্রয়েডের জন্য সেট আপ করতে, আপনাকে একটি অ্যান্ড্রয়েড অ্যাপ যোগ করতে হবে এবং বিজ্ঞাপন ইউনিট তৈরি করতে হবে।
একটি অ্যান্ড্রয়েড অ্যাপ যোগ করুন
- AdMob কনসোলে , অ্যাপস মেনু থেকে অ্যাড অ্যাপ (ADD APP)- এ ক্লিক করুন।
- প্ল্যাটফর্ম হিসেবে অ্যান্ড্রয়েড নির্বাচন করুন। যখন আপনাকে জিজ্ঞাসা করা হবে ‘অ্যাপটি কি কোনো সমর্থিত অ্যাপ স্টোরে তালিকাভুক্ত?’ , তখন ‘না’ ক্লিক করুন।
- অ্যাপের নামের ফিল্ডে
AdMob app open ad। - এই কোডল্যাবটি সম্পন্ন করার জন্য ইউজার মেট্রিক্স চালু করা আবশ্যক নয়। তবে, আমরা আপনাকে এটি করার পরামর্শ দিই, কারণ এটি আপনাকে ব্যবহারকারীর আচরণ আরও বিস্তারিতভাবে বুঝতে সাহায্য করবে। প্রক্রিয়াটি সম্পন্ন করতে 'ADD'-এ ক্লিক করুন।
একটি বিজ্ঞাপন ইউনিট তৈরি করুন
- AdMob কনসোলের অ্যাপস মেনু থেকে AdMob অ্যাপ (অ্যান্ড্রয়েড) নির্বাচন করে বিজ্ঞাপন অ্যাপটি খুলুন ।
- বিজ্ঞাপন ইউনিট মেনুতে ক্লিক করুন।
|
|
একটি নতুন বিজ্ঞাপন ইউনিটের বিজ্ঞাপন দেখানো শুরু করতে সাধারণত কয়েক ঘণ্টা সময় লাগে।
আপনি যদি বিজ্ঞাপনটির আচরণ তাৎক্ষণিকভাবে পরীক্ষা করতে চান, তাহলে Android অ্যাপ আইডি/অ্যাড ইউনিট আইডি এবং iOS অ্যাপ আইডি/অ্যাড ইউনিট আইডি টেবিলে তালিকাভুক্ত টেস্ট অ্যাপ আইডি এবং অ্যাড ইউনিট আইডিগুলো ব্যবহার করুন।
iOS এর জন্য সেট আপ করুন
iOS-এর জন্য সেট আপ করতে, আপনাকে একটি iOS অ্যাপ যোগ করতে হবে এবং বিজ্ঞাপন ইউনিট তৈরি করতে হবে।
একটি iOS অ্যাপ যোগ করুন
- AdMob কনসোলে , অ্যাপস মেনু থেকে অ্যাড অ্যাপ (ADD APP)- এ ক্লিক করুন।
- প্ল্যাটফর্ম হিসেবে iOS নির্বাচন করুন। যখন আপনাকে জিজ্ঞাসা করা হবে ‘অ্যাপটি কি কোনো সমর্থিত অ্যাপ স্টোরে তালিকাভুক্ত?’ , তখন ‘না’ ক্লিক করুন।
- অ্যাপের নামের ফিল্ডে
AdMob app open ad। - এই কোডল্যাবটি সম্পন্ন করার জন্য ইউজার মেট্রিক্স চালু করা আবশ্যক নয়। তবে, আমরা আপনাকে এটি করার পরামর্শ দিই, কারণ এটি আপনাকে ব্যবহারকারীর আচরণ আরও বিস্তারিতভাবে বুঝতে সাহায্য করবে। প্রক্রিয়াটি সম্পন্ন করতে 'ADD'-এ ক্লিক করুন।
একটি বিজ্ঞাপন ইউনিট তৈরি করুন
- AdMob কনসোলের অ্যাপস মেনু থেকে AdMob ইনলাইন বিজ্ঞাপন অ্যাপ (iOS) নির্বাচন করুন।
- বিজ্ঞাপন ইউনিট মেনুতে ক্লিক করুন।
|
|
একটি নতুন বিজ্ঞাপন ইউনিটের বিজ্ঞাপন দেখানো শুরু করতে সাধারণত কয়েক ঘণ্টা সময় লাগে।
আপনি যদি বিজ্ঞাপনটির আচরণ তাৎক্ষণিকভাবে পরীক্ষা করতে চান, তাহলে নিচের সারণিতে তালিকাভুক্ত টেস্ট অ্যাপ আইডি এবং অ্যাড ইউনিট আইডিগুলো ব্যবহার করুন।
ঐচ্ছিক: পরীক্ষামূলক AdMob অ্যাপ এবং বিজ্ঞাপন ইউনিটগুলো ব্যবহার করুন।
যদি আপনি নিজে থেকে নতুন অ্যাপ্লিকেশন এবং অ্যাড ইউনিট তৈরি করার পরিবর্তে কোডল্যাবটি অনুসরণ করতে চান, তাহলে আপনি নিম্নলিখিত সারণিগুলিতে তালিকাভুক্ত টেস্ট অ্যাডমব অ্যাপ আইডি এবং অ্যাড ইউনিট আইডিগুলি ব্যবহার করতে পারেন।
অ্যান্ড্রয়েড অ্যাপ আইডি/বিজ্ঞাপন ইউনিট আইডি
আইটেম | অ্যাপ আইডি/বিজ্ঞাপন ইউনিট আইডি |
AdMob অ্যাপ আইডি | |
বিজ্ঞাপন ইউনিট আইডি | |
iOS অ্যাপ আইডি/বিজ্ঞাপন ইউনিট আইডি
আইটেম | অ্যাপ আইডি/বিজ্ঞাপন ইউনিট আইডি |
AdMob অ্যাপ আইডি | |
বিজ্ঞাপন ইউনিট আইডি | |
টেস্ট অ্যাড সম্পর্কে আরও তথ্যের জন্য, অ্যান্ড্রয়েড টেস্ট অ্যাড এবং আইওএস টেস্ট অ্যাড ডেভেলপার ডকুমেন্টেশন দেখুন।
৪. গুগল মোবাইল অ্যাডস ইউনিটি প্লাগইনটি যোগ করুন
AdMob বিজ্ঞাপন প্রদর্শন এবং আয় করার প্রথম ধাপ হলো Google Mobile Ads Unity প্লাগইনটি ইন্টিগ্রেট করা।
মোবাইল বিজ্ঞাপন ইউনিটি প্লাগইনটি ডাউনলোড করুন
গুগল মোবাইল অ্যাডস ইউনিটি প্লাগইনটি ইউনিটি ডেভেলপারদের অ্যান্ড্রয়েড এবং আইওএস অ্যাপে সহজেই গুগল মোবাইল অ্যাডস পরিবেশন করতে সক্ষম করে। এই প্লাগইনটি অ্যাডের অনুরোধ করার জন্য একটি C# ইন্টারফেস প্রদান করে, যা আপনার ইউনিটি প্রোজেক্টের C# স্ক্রিপ্ট দ্বারা ব্যবহৃত হয়।
প্লাগইনটির ইউনিটি প্যাকেজ ডাউনলোড করতে নিচের লিঙ্কটি ব্যবহার করুন।
স্টার্টার প্রজেক্টটি খুলুন
- ইউনিটি হাব চালু করুন।
- প্রজেক্টস ট্যাবে, অ্যাড বাটনে ক্লিক করুন।
- 'ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করুন' ধাপে আপনি যে ফোল্ডারে ডাউনলোড করা কোডটি এক্সট্র্যাক্ট করেছিলেন, সেখানে যান।
- স্টার্টার ফোল্ডারটি খুলুন।
- আপনি প্রজেক্ট লিস্টে স্টার্টার প্রজেক্টটি দেখতে পাবেন। ইউনিটি এডিটরে এটি খোলার জন্য প্রজেক্টটিতে ক্লিক করুন।
মোবাইল বিজ্ঞাপন ইউনিটি প্লাগইন আমদানি করুন
- ইউনিটি এডিটরে, মেনু থেকে Assets > Import Package > Custom Package নির্বাচন করুন।
- পূর্ববর্তী ধাপে ডাউনলোড করা
GoogleMobileAds-{VERSION}.unitypackageটি নির্বাচন করুন। - সবগুলো ফাইল সিলেক্ট করা আছে কিনা তা নিশ্চিত করুন এবং ইম্পোর্ট (Import) বাটনে ক্লিক করুন।
আপনার AdMob অ্যাপ আইডি সেট করুন
- ইউনিটি এডিটরে, মেনু থেকে অ্যাসেটস > গুগল মোবাইল অ্যাডস > সেটিংস নির্বাচন করুন।
- প্রতিটি ফিল্ডে আপনার অ্যান্ড্রয়েড এবং আইওএস অ্যাডমব অ্যাপ আইডি লিখুন। আপনি যদি নিজে থেকে নতুন অ্যাপ্লিকেশন এবং অ্যাড ইউনিট তৈরি করার পরিবর্তে কোডল্যাবটি অনুসরণ করতে চান, তাহলে নিম্নলিখিতভাবে টেস্ট অ্যাডমব অ্যাপ আইডিটি লিখুন।

৫. একটি ইউটিলিটি ক্লাস তৈরি করুন
Scripts ফোল্ডারের অধীনে AppOpenAdManager নামে একটি নতুন ক্লাস তৈরি করুন। এই ক্লাসটি প্রতিটি প্ল্যাটফর্মের জন্য লোড হওয়া বিজ্ঞাপন এবং বিজ্ঞাপন ইউনিট আইডি ট্র্যাক করার জন্য একটি ইনস্ট্যান্স ভেরিয়েবল পরিচালনা করে।
AppOpenAdManager.cs
using System;
using GoogleMobileAds.Api;
using UnityEngine;
public class AppOpenAdManager
{
#if UNITY_ANDROID
// Test ad unit ID: ca-app-pub-3940256099942544/3419835294
private const string AD_UNIT_ID = "<YOUR_ANDROID_APPOPEN_AD_UNIT_ID>";
#elif UNITY_IOS
// Test ad unit ID: ca-app-pub-3940256099942544/5662855259
private const string AD_UNIT_ID = "<YOUR_IOS_APPOPEN_AD_UNIT_ID>";
#else
private const string AD_UNIT_ID = "unexpected_platform";
#endif
private static AppOpenAdManager instance;
private AppOpenAd ad;
private bool isShowingAd = false;
public static AppOpenAdManager Instance
{
get
{
if (instance == null)
{
instance = new AppOpenAdManager();
}
return instance;
}
}
private bool IsAdAvailable
{
get
{
return ad != null;
}
}
public void LoadAd()
{
// TODO: Load an app open ad.
}
}
একটি বিজ্ঞাপন লোড করুন
স্ট্যাটিক AppOpenAd.LoadAd() মেথড ব্যবহার করে একটি বিজ্ঞাপন লোড করা হয়। লোড মেথডটির জন্য একটি অ্যাড ইউনিট আইডি, একটি ScreenOrientation মোড, একটি AdRequest অবজেক্ট এবং একটি কমপ্লিশন হ্যান্ডলার প্রয়োজন হয়, যা বিজ্ঞাপন লোডিং সফল বা ব্যর্থ হলে কল করা হয়।
লোড করা AppOpenAd অবজেক্টটি কমপ্লিশন হ্যান্ডলারে একটি প্যারামিটার হিসেবে প্রদান করা হয়। নিম্নলিখিতভাবে LoadAd() মেথডটি ইমপ্লিমেন্ট করুন।
AppOpenAdManager.cs
public class AppOpenAdManager
{
...
public void LoadAd()
{
AdRequest request = new AdRequest.Builder().Build();
// Load an app open ad for portrait orientation
AppOpenAd.LoadAd(AD_UNIT_ID, ScreenOrientation.Portrait, request, ((appOpenAd, error) =>
{
if (error != null)
{
// Handle the error.
Debug.LogFormat("Failed to load the ad. (reason: {0})", error.LoadAdError.GetMessage());
return;
}
// App open ad is loaded.
ad = appOpenAd;
}));
}
}
বিজ্ঞাপনটি দেখান
বিজ্ঞাপন দেখানোর আগে, প্রতিটি বিজ্ঞাপন ইভেন্ট শোনার জন্য প্রত্যেক ইভেন্ট হ্যান্ডলারকে রেজিস্টার করুন।
AppOpenAdManager.cs
public class AppOpenAdManager
{
...
public void ShowAdIfAvailable()
{
if (!IsAdAvailable || isShowingAd)
{
return;
}
ad.OnAdDidDismissFullScreenContent += HandleAdDidDismissFullScreenContent;
ad.OnAdFailedToPresentFullScreenContent += HandleAdFailedToPresentFullScreenContent;
ad.OnAdDidPresentFullScreenContent += HandleAdDidPresentFullScreenContent;
ad.OnAdDidRecordImpression += HandleAdDidRecordImpression;
ad.OnPaidEvent += HandlePaidEvent;
ad.Show();
}
private void HandleAdDidDismissFullScreenContent(object sender, EventArgs args)
{
Debug.Log("Closed app open ad");
// Set the ad to null to indicate that AppOpenAdManager no longer has another ad to show.
ad = null;
isShowingAd = false;
LoadAd();
}
private void HandleAdFailedToPresentFullScreenContent(object sender, AdErrorEventArgs args)
{
Debug.LogFormat("Failed to present the ad (reason: {0})", args.AdError.GetMessage());
// Set the ad to null to indicate that AppOpenAdManager no longer has another ad to show.
ad = null;
LoadAd();
}
private void HandleAdDidPresentFullScreenContent(object sender, EventArgs args)
{
Debug.Log("Displayed app open ad");
isShowingAd = true;
}
private void HandleAdDidRecordImpression(object sender, EventArgs args)
{
Debug.Log("Recorded ad impression");
}
private void HandlePaidEvent(object sender, AdValueEventArgs args)
{
Debug.LogFormat("Received paid event. (currency: {0}, value: {1}",
args.AdValue.CurrencyCode, args.AdValue.Value);
}
}
বিজ্ঞাপনের মেয়াদ শেষ হওয়ার বিষয়টি বিবেচনা করুন
অ্যাপে খোলা বিজ্ঞাপনের রেফারেন্সগুলো চার ঘণ্টা পর মেয়াদোত্তীর্ণ হয়ে যাবে। অনুরোধের সময়ের চার ঘণ্টার বেশি সময় পরে প্রদর্শিত বিজ্ঞাপনগুলো আর বৈধ থাকবে না এবং সেগুলো থেকে কোনো আয় নাও হতে পারে।
মেয়াদোত্তীর্ণ বিজ্ঞাপন যাতে প্রদর্শিত না হয়, তা নিশ্চিত করতে AppOpenAdManager এর IsAdAvailable প্রপার্টিটি পরিবর্তন করুন, যা আপনার বিজ্ঞাপন লোড হওয়ার পর থেকে কতক্ষণ অতিবাহিত হয়েছে তা পরীক্ষা করবে। এরপর, বিজ্ঞাপনটি এখনও বৈধ আছে কিনা তা যাচাই করতে ওই মেথডটি ব্যবহার করুন।
AppOpenAdManager.cs
public class AppOpenAdManager
{
...
// TODO: Add loadTime field
private DateTime loadTime;
private bool IsAdAvailable
{
get
{
// TODO: Consider ad expiration
return ad != null && (System.DateTime.UtcNow - loadTime).TotalHours < 4;
}
}
public void LoadAd()
{
if (IsAdAvailable)
{
return;
}
AdRequest request = new AdRequest.Builder().Build();
AppOpenAd.LoadAd(AD_UNIT_ID, ScreenOrientation.Portrait, request, ((appOpenAd, error) =>
{
if (error != null)
{
Debug.LogFormat("Failed to load the ad. (reason: {0})", error.LoadAdError.GetMessage());
return;
}
ad = appOpenAd;
Debug.Log("App open ad loaded");
// TODO: Keep track of time when the ad is loaded.
loadTime = DateTime.UtcNow;
}));
}
}
৬. বিজ্ঞাপনটি লোড বা দেখানোর জন্য দৃশ্যটি আপডেট করুন।
সিনটি শুরু হওয়ার সাথে সাথে একটি অ্যাপ খোলার বিজ্ঞাপন লোড করার জন্য MainScene ক্লাসের Start() মেথডটি আপডেট করুন।
অ্যাপ ফোরগ্রাউন্ডিং ইভেন্টের নোটিফিকেশন পাওয়ার জন্য, আমরা AppStateEventNotifier সিঙ্গেলটনটি লিসেন করার পরামর্শ দিই। AppStateEventNotifier.AppStateChanged ডেলিগেটটি ইমপ্লিমেন্ট করার মাধ্যমে, আপনার অ্যাপ লঞ্চ এবং ফোরগ্রাউন্ডিং ইভেন্ট সম্পর্কে অ্যালার্ট পাবে এবং বিজ্ঞাপন দেখাতে সক্ষম হবে।
MainScene.cs
using GoogleMobileAds.Api;
using GoogleMobileAds.Common;
using UnityEngine;
public class MainScene : MonoBehaviour
{
public void Start()
{
// TODO: Request an app open ad.
MobileAds.Initialize((initStatus) =>
{
AppOpenAdManager.Instance.LoadAd();
AppStateEventNotifier.AppStateChanged += OnAppStateChanged;
});
}
public void OnAppStateChanged(AppState state)
{
if (state == AppState.Foreground)
{
// TODO: Show an app open ad if available.
AppOpenAdManager.Instance.ShowAdIfAvailable();
}
}
}
ব্যাস! একটি ডিভাইস বা এমুলেটরে প্রজেক্টটি বিল্ড করে রান করুন। অ্যাপটি চালু হয়ে গেলে, বিজ্ঞাপনটি পুরোপুরি লোড হওয়ার জন্য কয়েক সেকেন্ড অপেক্ষা করুন।
এরপরে, আপনি অন্য অ্যাপ বা হোম স্ক্রিন থেকে অ্যাপটিতে ফিরে আসলেই, নিচে দেখানো ছবির মতো অ্যাপ খোলার বিজ্ঞাপনটি প্রদর্শিত হবে।

৭. সব হয়ে গেছে!
আপনি কোডল্যাবটি সম্পন্ন করেছেন। এই কোডল্যাবের সম্পূর্ণ কোডটি আপনি এখানে খুঁজে পাবেন।
সম্পূর্ণ ফোল্ডার।
