1. ভূমিকা
এই কোডল্যাবে, আপনি ইউনিটি অ্যাপে একটি AdMob অ্যাপ খোলা বিজ্ঞাপন প্রয়োগ করেন।
আপনি কি নির্মাণ করবেন
এই কোডল্যাবটি Google মোবাইল বিজ্ঞাপন ইউনিটি প্লাগইন ব্যবহার করে একটি ইউনিটি অ্যাপে একটি AdMob অ্যাপ খোলা বিজ্ঞাপন বাস্তবায়নের মাধ্যমে আপনাকে গাইড করে।
এই কোডল্যাবের মাধ্যমে কাজ করার সময় যদি আপনার কোনো সমস্যা (কোড বাগ, ব্যাকরণগত ত্রুটি, অস্পষ্ট শব্দ ইত্যাদি) থাকে, তাহলে কোডল্যাবের নিচের, বাম কোণে একটি ভুল প্রতিবেদন করুন লিঙ্কটি ব্যবহার করে সমস্যাটি রিপোর্ট করুন।
আপনি কি শিখবেন
- কিভাবে Google মোবাইল বিজ্ঞাপন ইউনিটি প্লাগইন কনফিগার করবেন
- একটি ইউনিটি অ্যাপে একটি অ্যাপ খোলা বিজ্ঞাপন কীভাবে প্রয়োগ করবেন
আপনি কি প্রয়োজন হবে
- ইউনিটি 2018.4 বা তার পরে
- Xcode 12 বা তার পরে এবং CocoaPods (iOS এ স্থাপন করতে)
AdMob-এর সাথে আপনার অভিজ্ঞতার স্তরকে আপনি কীভাবে রেট করবেন?
2. উন্নয়ন পরিবেশ সেট আপ করুন
কোডটি ডাউনলোড করুন
আপনি জিপ ফাইলটি ডাউনলোড করার পরে, এর বিষয়বস্তু বের করুন। আপনার admob-appopen-unity-main
নামে একটি ফোল্ডার থাকবে।
বিকল্পভাবে, আপনি কমান্ড লাইন থেকে GitHub সংগ্রহস্থল ক্লোন করতে পারেন:
$ git clone https://github.com/googlecodelabs/admob-appopen-unity
সংগ্রহস্থলে দুটি ফোল্ডার রয়েছে:
starter: স্টার্টিং কোড যা আপনি এই কোডল্যাবে তৈরি করবেন।
সম্পূর্ণ: এই কোডল্যাবের জন্য সম্পূর্ণ কোড।
3. AdMob অ্যাপ এবং বিজ্ঞাপন ইউনিট সেট আপ করুন
যেহেতু ইউনিটি একটি মাল্টি-প্ল্যাটফর্ম SDK, তাই আপনাকে AdMob-এ Android এবং iOS উভয়ের জন্য একটি অ্যাপ এবং বিজ্ঞাপন ইউনিট যোগ করতে হবে।
Android এর জন্য সেট আপ করুন
Android এর জন্য সেট আপ করতে, আপনাকে একটি Android অ্যাপ যোগ করতে হবে এবং বিজ্ঞাপন ইউনিট তৈরি করতে হবে।
একটি অ্যান্ড্রয়েড অ্যাপ যোগ করুন
- AdMob কনসোলে , Apps মেনু থেকে ADD APP এ ক্লিক করুন।
- প্ল্যাটফর্ম হিসাবে অ্যান্ড্রয়েড নির্বাচন করুন। যখন আপনাকে জিজ্ঞাসা করা হয় যে অ্যাপটি কি সমর্থিত অ্যাপ স্টোরে তালিকাভুক্ত হয়েছে? , NO তে ক্লিক করুন।
- অ্যাপ নামের ক্ষেত্রে
AdMob app open ad
লিখুন। - এই কোডল্যাবটি সম্পূর্ণ করার জন্য ব্যবহারকারীর মেট্রিক্স সক্ষম করার প্রয়োজন নেই। যাইহোক, আমরা আপনাকে এটি করার পরামর্শ দিই কারণ এটি আপনাকে ব্যবহারকারীর আচরণকে আরও বিশদে বুঝতে দেয়। প্রক্রিয়াটি সম্পূর্ণ করতে ADD এ ক্লিক করুন।
একটি বিজ্ঞাপন ইউনিট তৈরি করুন
- AdMob কনসোলের অ্যাপস মেনু থেকে AdMob অ্যাপ ওপেন অ্যাড অ্যাপ (Android) বেছে নিন।
- বিজ্ঞাপন ইউনিট মেনু ক্লিক করুন.
|
একটি নতুন বিজ্ঞাপন ইউনিট বিজ্ঞাপন পরিবেশন করতে সক্ষম হতে সাধারণত কয়েক ঘন্টা সময় লাগে।
আপনি যদি অবিলম্বে বিজ্ঞাপনের আচরণ পরীক্ষা করতে চান, তাহলে Android অ্যাপ আইডি/বিজ্ঞাপন ইউনিট আইডি এবং iOS অ্যাপ আইডি/বিজ্ঞাপন ইউনিট আইডি টেবিলে তালিকাভুক্ত পরীক্ষার অ্যাপ আইডি এবং বিজ্ঞাপন ইউনিট আইডি ব্যবহার করুন।
iOS এর জন্য সেট আপ করুন
iOS এর জন্য সেট আপ করতে, আপনাকে একটি iOS অ্যাপ যোগ করতে হবে এবং বিজ্ঞাপন ইউনিট তৈরি করতে হবে।
একটি iOS অ্যাপ যোগ করুন
- AdMob কনসোলে , Apps মেনু থেকে ADD APP এ ক্লিক করুন।
- প্ল্যাটফর্ম হিসাবে iOS নির্বাচন করুন। যখন আপনাকে জিজ্ঞাসা করা হয় যে অ্যাপটি কি সমর্থিত অ্যাপ স্টোরে তালিকাভুক্ত হয়েছে? , NO তে ক্লিক করুন।
- অ্যাপ নামের ক্ষেত্রে
AdMob app open ad
লিখুন। - এই কোডল্যাবটি সম্পূর্ণ করার জন্য ব্যবহারকারীর মেট্রিক্স সক্ষম করার প্রয়োজন নেই। যাইহোক, আমরা আপনাকে এটি করার পরামর্শ দিই কারণ এটি আপনাকে ব্যবহারকারীর আচরণকে আরও বিশদে বুঝতে দেয়। প্রক্রিয়াটি সম্পূর্ণ করতে ADD এ ক্লিক করুন।
একটি বিজ্ঞাপন ইউনিট তৈরি করুন
- AdMob কনসোলের অ্যাপস মেনু থেকে AdMob ইনলাইন বিজ্ঞাপন অ্যাপ (iOS) বেছে নিন।
- বিজ্ঞাপন ইউনিট মেনু ক্লিক করুন.
|
একটি নতুন বিজ্ঞাপন ইউনিট বিজ্ঞাপন পরিবেশন করতে সক্ষম হতে সাধারণত কয়েক ঘন্টা সময় লাগে।
আপনি যদি অবিলম্বে বিজ্ঞাপনের আচরণ পরীক্ষা করতে চান, তাহলে নিম্নলিখিত টেবিলে তালিকাভুক্ত পরীক্ষা অ্যাপ আইডি এবং বিজ্ঞাপন ইউনিট আইডি ব্যবহার করুন।
ঐচ্ছিক: পরীক্ষা AdMob অ্যাপ এবং বিজ্ঞাপন ইউনিট ব্যবহার করুন
আপনি নিজে থেকে একটি নতুন অ্যাপ্লিকেশন এবং বিজ্ঞাপন ইউনিট তৈরি করার পরিবর্তে কোডল্যাব অনুসরণ করতে চাইলে, আপনি নিম্নলিখিত টেবিলে তালিকাভুক্ত AdMob অ্যাপ আইডি এবং বিজ্ঞাপন ইউনিট আইডি ব্যবহার করতে পারেন।
অ্যান্ড্রয়েড অ্যাপ আইডি/বিজ্ঞাপন ইউনিট আইডি
আইটেম | অ্যাপ আইডি/বিজ্ঞাপন ইউনিট আইডি |
AdMob অ্যাপ আইডি | |
বিজ্ঞাপন ইউনিট আইডি | |
iOS অ্যাপ আইডি/বিজ্ঞাপন ইউনিট আইডি
আইটেম | অ্যাপ আইডি/বিজ্ঞাপন ইউনিট আইডি |
AdMob অ্যাপ আইডি | |
বিজ্ঞাপন ইউনিট আইডি | |
পরীক্ষার বিজ্ঞাপনগুলি সম্পর্কে আরও তথ্যের জন্য, Android পরীক্ষার বিজ্ঞাপন এবং iOS পরীক্ষার বিজ্ঞাপন বিকাশকারী ডকুমেন্টেশন দেখুন৷
4. Google মোবাইল বিজ্ঞাপন ইউনিটি প্লাগইন যোগ করুন
Google মোবাইল বিজ্ঞাপন ইউনিটি প্লাগইনকে একীভূত করা হল AdMob বিজ্ঞাপন প্রদর্শন এবং উপার্জনের দিকে প্রথম পদক্ষেপ৷
মোবাইল বিজ্ঞাপন ইউনিটি প্লাগইন ডাউনলোড করুন
Google মোবাইল বিজ্ঞাপন ইউনিটি প্লাগইন ইউনিটি ডেভেলপারদের সহজেই Android এবং iOS অ্যাপে Google মোবাইল বিজ্ঞাপন পরিবেশন করতে সক্ষম করে। প্লাগইনটি আপনার ইউনিটি প্রকল্পে C# স্ক্রিপ্ট দ্বারা ব্যবহৃত বিজ্ঞাপনের অনুরোধ করার জন্য একটি C# ইন্টারফেস প্রদান করে।
প্লাগইনটির জন্য ইউনিটি প্যাকেজ ডাউনলোড করতে নীচের লিঙ্কটি ব্যবহার করুন।
স্টার্টার প্রকল্প খুলুন
- ইউনিটি হাব চালু করুন।
- প্রকল্প ট্যাবে, ADD বোতামে ক্লিক করুন।
- ফোল্ডারে নেভিগেট করুন যেখানে আপনি সেট আপ ডেভেলপমেন্ট এনভায়রনমেন্ট ধাপে ডাউনলোড করা কোডটি বের করেছেন।
- স্টার্টার ফোল্ডার খুলুন।
- আপনি প্রকল্পের তালিকায় স্টার্টার প্রকল্পটি দেখতে পাবেন। ইউনিটি এডিটরে এটি খুলতে প্রকল্পটিতে ক্লিক করুন।
মোবাইল বিজ্ঞাপন ইউনিটি প্লাগইন আমদানি করুন
- ইউনিটি এডিটরে, মেনু থেকে সম্পদ > আমদানি প্যাকেজ > কাস্টম প্যাকেজ নির্বাচন করুন।
- আগের ধাপে ডাউনলোড করা
GoogleMobileAds-{VERSION}.unitypackage
নির্বাচন করুন। - নিশ্চিত করুন যে সমস্ত ফাইল নির্বাচন করা হয়েছে এবং আমদানি ক্লিক করুন।
আপনার AdMob অ্যাপ আইডি সেট করুন
- ইউনিটি এডিটরে, মেনু থেকে সম্পদ > Google মোবাইল বিজ্ঞাপন > সেটিংস নির্বাচন করুন।
- প্রতিটি ক্ষেত্রে আপনার Android এবং iOS AdMob অ্যাপ আইডি লিখুন। আপনি যদি নিজে থেকে একটি নতুন অ্যাপ্লিকেশন এবং বিজ্ঞাপন ইউনিট তৈরি করার পরিবর্তে কোডল্যাব অনুসরণ করতে চান, তাহলে নিম্নরূপ পরীক্ষা AdMob অ্যাপ আইডি লিখুন।
5. একটি ইউটিলিটি ক্লাস তৈরি করুন
স্ক্রিপ্ট ফোল্ডারের অধীনে 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;
}));
}
}
6. বিজ্ঞাপনটি লোড/দেখাতে দৃশ্যটি আপডেট করুন
দৃশ্যটি শুরু হলে একটি অ্যাপ খোলা বিজ্ঞাপন লোড করতে MainScene
ক্লাসে Start()
পদ্ধতি আপডেট করুন।
অ্যাপ ফোরগ্রাউন্ডিং ইভেন্টগুলি সম্পর্কে অবহিত হওয়ার জন্য, আমরা AppStateEventNotifier singleton শোনার পরামর্শ দিই। 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();
}
}
}
তাই তো! একটি ডিভাইস বা এমুলেটরে প্রকল্পটি তৈরি করুন এবং চালান। অ্যাপটি চালু হয়ে গেলে, বিজ্ঞাপনটি সম্পূর্ণরূপে লোড হওয়ার অনুমতি দেওয়ার জন্য কয়েক সেকেন্ড অপেক্ষা করুন।
তারপরে, আপনি অন্য অ্যাপস/হোম স্ক্রীন থেকে অ্যাপে ফিরে গেলে, অ্যাপ খোলা বিজ্ঞাপনটি নীচের মত প্রদর্শিত হবে।
7. সব সম্পন্ন!
আপনি কোডল্যাব সম্পূর্ণ করেছেন। আপনি এই কোডল্যাবের জন্য সম্পূর্ণ কোড খুঁজে পেতে পারেন সম্পূর্ণ ফোল্ডার।