ইন্টারস্টিশিয়াল বিজ্ঞাপন হল পূর্ণ-স্ক্রীন বিজ্ঞাপন যা তাদের হোস্ট অ্যাপের ইন্টারফেস কভার করে। এগুলি সাধারণত একটি অ্যাপের প্রবাহের প্রাকৃতিক ট্রানজিশন পয়েন্টে প্রদর্শিত হয়, যেমন একটি গেমের স্তরগুলির মধ্যে বিরতির সময়। যখন একটি অ্যাপ একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন দেখায়, ব্যবহারকারীর পছন্দ থাকে বিজ্ঞাপনটিতে ট্যাপ করে তার গন্তব্যে চালিয়ে যেতে বা এটি বন্ধ করে অ্যাপে ফিরে যেতে পারে। কেস স্টাডি ।
এই নির্দেশিকাটি ব্যাখ্যা করে যে কীভাবে একটি ইউনিটি অ্যাপে ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলিকে একীভূত করতে হয়।
পূর্বশর্ত
- শুরু করুন গাইডটি সম্পূর্ণ করুন।
একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন তৈরি করুন
একটি ইন্টারস্টিশিয়াল প্রদর্শনের দিকে প্রথম ধাপ হল একটি GameObject
এর সাথে সংযুক্ত একটি স্ক্রিপ্টে একটি InterstitialAd
অবজেক্ট তৈরি করা।
using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;
private void RequestInterstitial()
{
#if UNITY_ANDROID
string adUnitId = "ca-app-pub-3940256099942544/1033173712";
#elif UNITY_IPHONE
string adUnitId = "ca-app-pub-3940256099942544/4411468910";
#else
string adUnitId = "unexpected_platform";
#endif
// Initialize an InterstitialAd.
this.interstitial = new InterstitialAd(adUnitId);
}
InterstitialAd
এর কনস্ট্রাক্টরের নিম্নলিখিত প্যারামিটার রয়েছে:
-
adUnitId
- AdMob বিজ্ঞাপন ইউনিট ID যেখান থেকেInterstitialAd
বিজ্ঞাপন লোড করা উচিত।
প্ল্যাটফর্মের উপর নির্ভর করে বিভিন্ন বিজ্ঞাপন ইউনিট কীভাবে ব্যবহার করা হয় তা লক্ষ করা গুরুত্বপূর্ণ। iOS-এ বিজ্ঞাপনের অনুরোধ করার জন্য আপনাকে একটি iOS বিজ্ঞাপন ইউনিট এবং Android-এ অনুরোধ করার জন্য একটি Android বিজ্ঞাপন ইউনিট ব্যবহার করতে হবে।
সর্বদা পরীক্ষার বিজ্ঞাপন দিয়ে পরীক্ষা করুন
উপরের নমুনা কোডটিতে একটি বিজ্ঞাপন ইউনিট আইডি রয়েছে এবং আপনি এটি দিয়ে বিজ্ঞাপনের অনুরোধ করতে পারবেন। এটি বিশেষভাবে প্রতিটি অনুরোধের জন্য উত্পাদন বিজ্ঞাপনের পরিবর্তে পরীক্ষার বিজ্ঞাপনগুলি ফেরত দেওয়ার জন্য কনফিগার করা হয়েছে, যা এটি ব্যবহার করা নিরাপদ করে তোলে।
যাইহোক, একবার আপনি AdMob UI-তে একটি অ্যাপ নিবন্ধন করে এবং আপনার অ্যাপে ব্যবহারের জন্য আপনার নিজস্ব বিজ্ঞাপন ইউনিট আইডি তৈরি করলে, আপনি যখন বিকাশ করছেন তখন আপনাকে স্পষ্টভাবে আপনার ডিভাইসটিকে একটি পরীক্ষামূলক ডিভাইস হিসাবে কনফিগার করতে হবে। এই অত্যন্ত গুরুত্বপূর্ণ. আসল বিজ্ঞাপনগুলি দিয়ে পরীক্ষা করা (এমনকি যদি আপনি সেগুলিতে কখনও ট্যাপ না করেন) AdMob নীতির বিরুদ্ধে এবং আপনার অ্যাকাউন্ট স্থগিত হতে পারে৷ বিকাশ করার সময় আপনি কীভাবে সর্বদা পরীক্ষামূলক বিজ্ঞাপনগুলি পান তা নিশ্চিত করতে পারেন সে সম্পর্কে তথ্যের জন্য পরীক্ষা বিজ্ঞাপনগুলি দেখুন৷
একটি বিজ্ঞাপন লোড করুন
একবার InterstitialAd
ইনস্ট্যান্টিশিয়েট হয়ে গেলে, পরবর্তী ধাপ হল একটি বিজ্ঞাপন লোড করা। এটি InterstitialAd
ক্লাসে loadAd()
পদ্ধতির মাধ্যমে করা হয়েছে। এটি একটি AdRequest
আর্গুমেন্ট নেয়, যা একটি একক বিজ্ঞাপন অনুরোধ সম্পর্কে রানটাইম তথ্য (যেমন টার্গেটিং তথ্য) ধারণ করে।
এখানে একটি উদাহরণ রয়েছে যা দেখায় কিভাবে একটি বিজ্ঞাপন লোড করতে হয়:
using GoogleMobileAds.Api; ... private InterstitialAd interstitial; private void RequestInterstitial() { #if UNITY_ANDROID string adUnitId = "ca-app-pub-3940256099942544/1033173712"; #elif UNITY_IPHONE string adUnitId = "ca-app-pub-3940256099942544/4411468910"; #else string adUnitId = "unexpected_platform"; #endif // Initialize an InterstitialAd. this.interstitial = new InterstitialAd(adUnitId); // Create an empty ad request. AdRequest request = new AdRequest.Builder().Build(); // Load the interstitial with the request. this.interstitial.LoadAd(request); }
বিজ্ঞাপন দেখান
একটি অ্যাপের প্রবাহে স্বাভাবিক বিরতির সময় ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি প্রদর্শিত হওয়া উচিত। একটি গেমের স্তরগুলির মধ্যে একটি ভাল উদাহরণ, বা ব্যবহারকারী একটি টাস্ক সম্পূর্ণ করার পরে। একটি ইন্টারস্টিশিয়াল দেখানোর জন্য, এটি লোড করা হয়েছে কিনা যাচাই করতে isLoaded()
পদ্ধতি ব্যবহার করুন, তারপর show()
কল করুন।
পূর্ববর্তী কোড উদাহরণ থেকে ইন্টারস্টিশিয়াল বিজ্ঞাপনটি একটি গেমের শেষে দেখানো হতে পারে, যেমনটি নীচে দেখানো হয়েছে।
private void GameOver()
{
if (this.interstitial.IsLoaded()) {
this.interstitial.Show();
}
}
বিজ্ঞাপন ঘটনা
আপনার বিজ্ঞাপনের আচরণকে আরও কাস্টমাইজ করতে, আপনি বিজ্ঞাপনের জীবনচক্রের বেশ কয়েকটি ইভেন্টের সাথে যুক্ত করতে পারেন: লোড করা, খোলা, বন্ধ করা এবং আরও অনেক কিছু। নীচে দেখানো হিসাবে উপযুক্ত EventHandler
জন্য একজন প্রতিনিধি নিবন্ধন করে এই ইভেন্টগুলির জন্য শুনুন।
using GoogleMobileAds.Api; ... private InterstitialAd interstitial; private void RequestInterstitial() { #if UNITY_ANDROID string adUnitId = "ca-app-pub-3940256099942544/1033173712"; #elif UNITY_IPHONE string adUnitId = "ca-app-pub-3940256099942544/4411468910"; #else string adUnitId = "unexpected_platform"; #endif // Initialize an InterstitialAd. this.interstitial = new InterstitialAd(adUnitId); // Called when an ad request has successfully loaded. this.interstitial.OnAdLoaded += HandleOnAdLoaded; // Called when an ad request failed to load. this.interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad; // Called when an ad is shown. this.interstitial.OnAdOpening += HandleOnAdOpening; // Called when the ad is closed. this.interstitial.OnAdClosed += HandleOnAdClosed; // Create an empty ad request. AdRequest request = new AdRequest.Builder().Build(); // Load the interstitial with the request. this.interstitial.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 HandleOnAdOpening(object sender, EventArgs args) { MonoBehaviour.print("HandleAdOpening event received"); } public void HandleOnAdClosed(object sender, EventArgs args) { MonoBehaviour.print("HandleAdClosed event received"); }
OnAdFailedToLoad
ইভেন্টে বিশেষ ইভেন্ট আর্গুমেন্ট রয়েছে। এটি ত্রুটি বর্ণনা করে একটি Message
সহ HandleAdFailedToLoadEventArgs
এর একটি উদাহরণ পাস করে:
public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
print("Interstitial failed to load: " + args.Message);
// Handle the ad failed to load event.
}
বিজ্ঞাপন ইভেন্ট | বর্ণনা |
---|---|
OnAdLoaded | একটি বিজ্ঞাপন লোড করা শেষ হলে OnAdLoaded ইভেন্টটি সম্পাদিত হয়। |
OnAdFailedToLoad | OnAdFailedToLoad ইভেন্টটি চালু করা হয় যখন একটি বিজ্ঞাপন লোড হতে ব্যর্থ হয়। Message প্যারামিটার বর্ণনা করে যে ব্যর্থতার ধরন ঘটেছে। |
OnAdOpening | এই পদ্ধতিটি ব্যবহার করা হয় যখন বিজ্ঞাপনটি প্রদর্শিত হয়, ডিভাইসের স্ক্রীন জুড়ে। |
OnAdClosed | ব্যবহারকারীর ক্লোজ আইকনে ট্যাপ করা বা ব্যাক বোতাম ব্যবহার করার কারণে ইন্টারস্টিশিয়াল বিজ্ঞাপন বন্ধ হয়ে গেলে এই পদ্ধতিটি চালু করা হয়। যদি আপনার অ্যাপ তার অডিও আউটপুট বা গেম লুপ পজ করে থাকে, তাহলে এটি আবার শুরু করার জন্য এটি একটি দুর্দান্ত জায়গা। |
ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি পরিষ্কার করুন
যখন আপনি একটি InterstitialAd
দিয়ে শেষ করেন, তখন আপনার রেফারেন্স ড্রপ করার আগে Destroy()
পদ্ধতিতে কল করতে ভুলবেন না:
interstitial.Destroy();
এটি প্লাগইনটিকে অবহিত করে যে বস্তুটি আর ব্যবহার করা হয় না এবং এটি যে মেমরিটি দখল করে তা পুনরায় দাবি করা যেতে পারে। এই পদ্ধতি কল করতে ব্যর্থতার ফলে মেমরি লিক হয়।
কিছু সেরা অনুশীলন
- ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি আপনার অ্যাপের জন্য সঠিক ধরনের বিজ্ঞাপন কিনা তা বিবেচনা করুন।
- ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি প্রাকৃতিক ট্রানজিশন পয়েন্ট সহ অ্যাপগুলিতে সবচেয়ে ভাল কাজ করে। একটি অ্যাপের মধ্যে একটি টাস্কের সমাপ্তি, যেমন একটি চিত্র ভাগ করা বা একটি গেম স্তর সম্পূর্ণ করা, এমন একটি বিন্দু তৈরি করে। যেহেতু ব্যবহারকারী কর্মে বিরতির আশা করছেন, তাই তাদের অভিজ্ঞতা ব্যাহত না করে একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন উপস্থাপন করা সহজ। আপনার অ্যাপের কর্মপ্রবাহের কোন পয়েন্টে আপনি ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি প্রদর্শন করবেন এবং ব্যবহারকারী কীভাবে প্রতিক্রিয়া জানাবে তা আপনি বিবেচনা করেছেন তা নিশ্চিত করুন৷
- একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন প্রদর্শন করার সময় ক্রিয়াটি বিরতি দিতে ভুলবেন না৷
- বিভিন্ন ধরনের ইন্টারস্টিশিয়াল বিজ্ঞাপন রয়েছে: পাঠ্য, ছবি, ভিডিও এবং আরও অনেক কিছু। এটি নিশ্চিত করা গুরুত্বপূর্ণ যে যখন আপনার অ্যাপ একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন প্রদর্শন করে, তখন এটি বিজ্ঞাপনটিকে সেগুলির সুবিধা নেওয়ার জন্য কিছু সংস্থানগুলির ব্যবহার স্থগিত করে। উদাহরণস্বরূপ, যখন আপনি একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন প্রদর্শন করার জন্য কল করেন, তখন আপনার অ্যাপ দ্বারা উত্পাদিত যেকোন অডিও আউটপুটকে বিরতি দিতে ভুলবেন না। আপনি
onAdClosed()
ইভেন্ট হ্যান্ডলারে সাউন্ড বাজানো আবার শুরু করতে পারেন, যখন ব্যবহারকারী বিজ্ঞাপনের সাথে ইন্টারঅ্যাক্ট করা শেষ করবে তখন এটি চালু করা হবে। এছাড়াও, বিজ্ঞাপনটি প্রদর্শিত হওয়ার সময় অস্থায়ীভাবে কোনো তীব্র গণনার কাজ (যেমন একটি গেম লুপ) বন্ধ করার কথা বিবেচনা করুন। এটি নিশ্চিত করবে যে ব্যবহারকারী ধীরগতির বা প্রতিক্রিয়াশীল গ্রাফিক্স বা তোতলানো ভিডিও অনুভব করবেন না। - পর্যাপ্ত লোডিং সময়ের জন্য অনুমতি দিন।
- আপনি একটি উপযুক্ত সময়ে ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি প্রদর্শন করছেন তা নিশ্চিত করা যেমন গুরুত্বপূর্ণ, তেমনি ব্যবহারকারীকে সেগুলি লোড করার জন্য অপেক্ষা করতে হবে না তা নিশ্চিত করাও গুরুত্বপূর্ণ৷
loadAd()
কল করে আগে থেকে বিজ্ঞাপনটি লোড করা হলে আপনিshow()
কল করতে চান তা নিশ্চিত করতে পারেন যে আপনার অ্যাপে একটি সম্পূর্ণরূপে লোড হওয়া ইন্টারস্টিশিয়াল বিজ্ঞাপন রয়েছে যখন একটি প্রদর্শনের সময় আসে। - বিজ্ঞাপন দিয়ে ব্যবহারকারীকে প্লাবিত করবেন না।
- যদিও আপনার অ্যাপে ইন্টারস্টিশিয়াল বিজ্ঞাপনের ফ্রিকোয়েন্সি বাড়ানোকে রাজস্ব বাড়ানোর একটি দুর্দান্ত উপায় বলে মনে হতে পারে, এটি ব্যবহারকারীর অভিজ্ঞতা এবং কম ক্লিকথ্রু রেটকেও হ্রাস করতে পারে। নিশ্চিত করুন যে ব্যবহারকারীরা এত ঘন ঘন বাধাগ্রস্ত হয় না যে তারা আর আপনার অ্যাপের ব্যবহার উপভোগ করতে পারবে না।
অতিরিক্ত সম্পদ
নমুনা
- HelloWorld উদাহরণ — সমস্ত বিজ্ঞাপন ফর্ম্যাটের একটি ন্যূনতম বাস্তবায়ন
সাফল্যের গল্প
,ইন্টারস্টিশিয়াল বিজ্ঞাপন হল পূর্ণ-স্ক্রীন বিজ্ঞাপন যা তাদের হোস্ট অ্যাপের ইন্টারফেস কভার করে। এগুলি সাধারণত একটি অ্যাপের প্রবাহের প্রাকৃতিক ট্রানজিশন পয়েন্টে প্রদর্শিত হয়, যেমন একটি গেমের স্তরগুলির মধ্যে বিরতির সময়। যখন একটি অ্যাপ একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন দেখায়, ব্যবহারকারীর পছন্দ থাকে বিজ্ঞাপনটিতে ট্যাপ করে তার গন্তব্যে চালিয়ে যেতে বা এটি বন্ধ করে অ্যাপে ফিরে যেতে পারে। কেস স্টাডি ।
এই নির্দেশিকাটি ব্যাখ্যা করে যে কীভাবে একটি ইউনিটি অ্যাপে ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলিকে একীভূত করতে হয়।
পূর্বশর্ত
- শুরু করুন গাইডটি সম্পূর্ণ করুন।
একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন তৈরি করুন
একটি ইন্টারস্টিশিয়াল প্রদর্শনের দিকে প্রথম ধাপ হল একটি GameObject
এর সাথে সংযুক্ত একটি স্ক্রিপ্টে একটি InterstitialAd
অবজেক্ট তৈরি করা।
using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;
private void RequestInterstitial()
{
#if UNITY_ANDROID
string adUnitId = "ca-app-pub-3940256099942544/1033173712";
#elif UNITY_IPHONE
string adUnitId = "ca-app-pub-3940256099942544/4411468910";
#else
string adUnitId = "unexpected_platform";
#endif
// Initialize an InterstitialAd.
this.interstitial = new InterstitialAd(adUnitId);
}
InterstitialAd
এর কনস্ট্রাক্টরের নিম্নলিখিত প্যারামিটার রয়েছে:
-
adUnitId
- AdMob বিজ্ঞাপন ইউনিট ID যেখান থেকেInterstitialAd
বিজ্ঞাপন লোড করা উচিত।
প্ল্যাটফর্মের উপর নির্ভর করে বিভিন্ন বিজ্ঞাপন ইউনিট কীভাবে ব্যবহার করা হয় তা লক্ষ করা গুরুত্বপূর্ণ। iOS-এ বিজ্ঞাপনের অনুরোধ করার জন্য আপনাকে একটি iOS বিজ্ঞাপন ইউনিট এবং Android-এ অনুরোধ করার জন্য একটি Android বিজ্ঞাপন ইউনিট ব্যবহার করতে হবে।
সর্বদা পরীক্ষার বিজ্ঞাপন দিয়ে পরীক্ষা করুন
উপরের নমুনা কোডটিতে একটি বিজ্ঞাপন ইউনিট আইডি রয়েছে এবং আপনি এটি দিয়ে বিজ্ঞাপনের অনুরোধ করতে পারবেন। এটি বিশেষভাবে প্রতিটি অনুরোধের জন্য উত্পাদন বিজ্ঞাপনের পরিবর্তে পরীক্ষার বিজ্ঞাপনগুলি ফেরত দেওয়ার জন্য কনফিগার করা হয়েছে, যা এটি ব্যবহার করা নিরাপদ করে তোলে।
যাইহোক, একবার আপনি AdMob UI-তে একটি অ্যাপ নিবন্ধন করে এবং আপনার অ্যাপে ব্যবহারের জন্য আপনার নিজস্ব বিজ্ঞাপন ইউনিট আইডি তৈরি করলে, আপনি যখন বিকাশ করছেন তখন আপনাকে স্পষ্টভাবে আপনার ডিভাইসটিকে একটি পরীক্ষামূলক ডিভাইস হিসাবে কনফিগার করতে হবে। এই অত্যন্ত গুরুত্বপূর্ণ. আসল বিজ্ঞাপনগুলি দিয়ে পরীক্ষা করা (এমনকি যদি আপনি সেগুলিতে কখনও ট্যাপ না করেন) AdMob নীতির বিরুদ্ধে এবং আপনার অ্যাকাউন্ট স্থগিত হতে পারে৷ বিকাশ করার সময় আপনি কীভাবে সর্বদা পরীক্ষামূলক বিজ্ঞাপনগুলি পান তা নিশ্চিত করতে পারেন সে সম্পর্কে তথ্যের জন্য পরীক্ষা বিজ্ঞাপনগুলি দেখুন৷
একটি বিজ্ঞাপন লোড করুন
একবার InterstitialAd
ইনস্ট্যান্টিশিয়েট হয়ে গেলে, পরবর্তী ধাপ হল একটি বিজ্ঞাপন লোড করা। এটি InterstitialAd
ক্লাসে loadAd()
পদ্ধতির মাধ্যমে করা হয়েছে। এটি একটি AdRequest
আর্গুমেন্ট নেয়, যা একটি একক বিজ্ঞাপন অনুরোধ সম্পর্কে রানটাইম তথ্য (যেমন টার্গেটিং তথ্য) ধারণ করে।
এখানে একটি উদাহরণ রয়েছে যা দেখায় কিভাবে একটি বিজ্ঞাপন লোড করতে হয়:
using GoogleMobileAds.Api; ... private InterstitialAd interstitial; private void RequestInterstitial() { #if UNITY_ANDROID string adUnitId = "ca-app-pub-3940256099942544/1033173712"; #elif UNITY_IPHONE string adUnitId = "ca-app-pub-3940256099942544/4411468910"; #else string adUnitId = "unexpected_platform"; #endif // Initialize an InterstitialAd. this.interstitial = new InterstitialAd(adUnitId); // Create an empty ad request. AdRequest request = new AdRequest.Builder().Build(); // Load the interstitial with the request. this.interstitial.LoadAd(request); }
বিজ্ঞাপন দেখান
একটি অ্যাপের প্রবাহে স্বাভাবিক বিরতির সময় ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি প্রদর্শিত হওয়া উচিত। একটি গেমের স্তরগুলির মধ্যে একটি ভাল উদাহরণ, বা ব্যবহারকারী একটি টাস্ক সম্পূর্ণ করার পরে। একটি ইন্টারস্টিশিয়াল দেখানোর জন্য, এটি লোড করা হয়েছে কিনা যাচাই করতে isLoaded()
পদ্ধতি ব্যবহার করুন, তারপর show()
কল করুন।
পূর্ববর্তী কোড উদাহরণ থেকে ইন্টারস্টিশিয়াল বিজ্ঞাপনটি একটি গেমের শেষে দেখানো হতে পারে, যেমনটি নীচে দেখানো হয়েছে।
private void GameOver()
{
if (this.interstitial.IsLoaded()) {
this.interstitial.Show();
}
}
বিজ্ঞাপন ঘটনা
আপনার বিজ্ঞাপনের আচরণকে আরও কাস্টমাইজ করতে, আপনি বিজ্ঞাপনের জীবনচক্রের বেশ কয়েকটি ইভেন্টের সাথে যুক্ত করতে পারেন: লোড করা, খোলা, বন্ধ করা এবং আরও অনেক কিছু। নীচে দেখানো হিসাবে উপযুক্ত EventHandler
জন্য একজন প্রতিনিধি নিবন্ধন করে এই ইভেন্টগুলির জন্য শুনুন।
using GoogleMobileAds.Api; ... private InterstitialAd interstitial; private void RequestInterstitial() { #if UNITY_ANDROID string adUnitId = "ca-app-pub-3940256099942544/1033173712"; #elif UNITY_IPHONE string adUnitId = "ca-app-pub-3940256099942544/4411468910"; #else string adUnitId = "unexpected_platform"; #endif // Initialize an InterstitialAd. this.interstitial = new InterstitialAd(adUnitId); // Called when an ad request has successfully loaded. this.interstitial.OnAdLoaded += HandleOnAdLoaded; // Called when an ad request failed to load. this.interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad; // Called when an ad is shown. this.interstitial.OnAdOpening += HandleOnAdOpening; // Called when the ad is closed. this.interstitial.OnAdClosed += HandleOnAdClosed; // Create an empty ad request. AdRequest request = new AdRequest.Builder().Build(); // Load the interstitial with the request. this.interstitial.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 HandleOnAdOpening(object sender, EventArgs args) { MonoBehaviour.print("HandleAdOpening event received"); } public void HandleOnAdClosed(object sender, EventArgs args) { MonoBehaviour.print("HandleAdClosed event received"); }
OnAdFailedToLoad
ইভেন্টে বিশেষ ইভেন্ট আর্গুমেন্ট রয়েছে। এটি ত্রুটি বর্ণনা করে একটি Message
সহ HandleAdFailedToLoadEventArgs
এর একটি উদাহরণ পাস করে:
public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
print("Interstitial failed to load: " + args.Message);
// Handle the ad failed to load event.
}
বিজ্ঞাপন ইভেন্ট | বর্ণনা |
---|---|
OnAdLoaded | একটি বিজ্ঞাপন লোড করা শেষ হলে OnAdLoaded ইভেন্টটি সম্পাদিত হয়। |
OnAdFailedToLoad | OnAdFailedToLoad ইভেন্টটি চালু করা হয় যখন একটি বিজ্ঞাপন লোড হতে ব্যর্থ হয়। Message প্যারামিটার বর্ণনা করে যে ব্যর্থতার ধরন ঘটেছে। |
OnAdOpening | এই পদ্ধতিটি ব্যবহার করা হয় যখন বিজ্ঞাপনটি প্রদর্শিত হয়, ডিভাইসের স্ক্রীন জুড়ে। |
OnAdClosed | ব্যবহারকারীর ক্লোজ আইকনে ট্যাপ করা বা ব্যাক বোতাম ব্যবহার করার কারণে ইন্টারস্টিশিয়াল বিজ্ঞাপন বন্ধ হয়ে গেলে এই পদ্ধতিটি চালু করা হয়। যদি আপনার অ্যাপ তার অডিও আউটপুট বা গেম লুপ পজ করে থাকে, তাহলে এটি আবার শুরু করার জন্য এটি একটি দুর্দান্ত জায়গা। |
ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি পরিষ্কার করুন
যখন আপনি একটি InterstitialAd
দিয়ে শেষ করেন, তখন আপনার রেফারেন্স ড্রপ করার আগে Destroy()
পদ্ধতিতে কল করতে ভুলবেন না:
interstitial.Destroy();
এটি প্লাগইনটিকে অবহিত করে যে বস্তুটি আর ব্যবহার করা হয় না এবং এটি যে মেমরিটি দখল করে তা পুনরায় দাবি করা যেতে পারে। এই পদ্ধতি কল করতে ব্যর্থতার ফলে মেমরি লিক হয়।
কিছু সেরা অনুশীলন
- ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি আপনার অ্যাপের জন্য সঠিক ধরনের বিজ্ঞাপন কিনা তা বিবেচনা করুন।
- ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি প্রাকৃতিক ট্রানজিশন পয়েন্ট সহ অ্যাপগুলিতে সবচেয়ে ভাল কাজ করে। একটি অ্যাপের মধ্যে একটি টাস্কের সমাপ্তি, যেমন একটি চিত্র ভাগ করা বা একটি গেম স্তর সম্পূর্ণ করা, এমন একটি বিন্দু তৈরি করে। যেহেতু ব্যবহারকারী কর্মে বিরতির আশা করছেন, তাই তাদের অভিজ্ঞতা ব্যাহত না করে একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন উপস্থাপন করা সহজ। আপনার অ্যাপের কর্মপ্রবাহের কোন পয়েন্টে আপনি ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি প্রদর্শন করবেন এবং ব্যবহারকারী কীভাবে প্রতিক্রিয়া জানাবে তা আপনি বিবেচনা করেছেন তা নিশ্চিত করুন৷
- একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন প্রদর্শন করার সময় ক্রিয়াটি বিরতি দিতে ভুলবেন না৷
- বিভিন্ন ধরনের ইন্টারস্টিশিয়াল বিজ্ঞাপন রয়েছে: পাঠ্য, ছবি, ভিডিও এবং আরও অনেক কিছু। এটি নিশ্চিত করা গুরুত্বপূর্ণ যে যখন আপনার অ্যাপ একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন প্রদর্শন করে, তখন এটি বিজ্ঞাপনটিকে সেগুলির সুবিধা নেওয়ার জন্য কিছু সংস্থানগুলির ব্যবহার স্থগিত করে। উদাহরণস্বরূপ, যখন আপনি একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন প্রদর্শন করার জন্য কল করেন, তখন আপনার অ্যাপ দ্বারা উত্পাদিত যেকোন অডিও আউটপুটকে বিরতি দিতে ভুলবেন না। আপনি
onAdClosed()
ইভেন্ট হ্যান্ডলারে সাউন্ড বাজানো আবার শুরু করতে পারেন, যখন ব্যবহারকারী বিজ্ঞাপনের সাথে ইন্টারঅ্যাক্ট করা শেষ করবে তখন এটি চালু করা হবে। এছাড়াও, বিজ্ঞাপনটি প্রদর্শিত হওয়ার সময় অস্থায়ীভাবে কোনো তীব্র গণনার কাজ (যেমন একটি গেম লুপ) বন্ধ করার কথা বিবেচনা করুন। এটি নিশ্চিত করবে যে ব্যবহারকারী ধীরগতির বা প্রতিক্রিয়াশীল গ্রাফিক্স বা তোতলানো ভিডিও অনুভব করবেন না। - পর্যাপ্ত লোডিং সময়ের জন্য অনুমতি দিন।
- আপনি একটি উপযুক্ত সময়ে ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি প্রদর্শন করছেন তা নিশ্চিত করা যেমন গুরুত্বপূর্ণ, তেমনি ব্যবহারকারীকে সেগুলি লোড করার জন্য অপেক্ষা করতে হবে না তা নিশ্চিত করাও গুরুত্বপূর্ণ৷
loadAd()
কল করে আগে থেকে বিজ্ঞাপনটি লোড করা হলে আপনিshow()
কল করতে চান তা নিশ্চিত করতে পারেন যে আপনার অ্যাপে একটি সম্পূর্ণরূপে লোড হওয়া ইন্টারস্টিশিয়াল বিজ্ঞাপন রয়েছে যখন একটি প্রদর্শনের সময় আসে। - বিজ্ঞাপন দিয়ে ব্যবহারকারীকে প্লাবিত করবেন না।
- যদিও আপনার অ্যাপে ইন্টারস্টিশিয়াল বিজ্ঞাপনের ফ্রিকোয়েন্সি বাড়ানোকে রাজস্ব বাড়ানোর একটি দুর্দান্ত উপায় বলে মনে হতে পারে, এটি ব্যবহারকারীর অভিজ্ঞতা এবং কম ক্লিকথ্রু রেটকেও হ্রাস করতে পারে। নিশ্চিত করুন যে ব্যবহারকারীরা এত ঘন ঘন বাধাগ্রস্ত হয় না যে তারা আর আপনার অ্যাপের ব্যবহার উপভোগ করতে পারবে না।
অতিরিক্ত সম্পদ
নমুনা
- HelloWorld উদাহরণ — সমস্ত বিজ্ঞাপন ফর্ম্যাটের একটি ন্যূনতম বাস্তবায়ন
সাফল্যের গল্প
,ইন্টারস্টিশিয়াল বিজ্ঞাপন হল পূর্ণ-স্ক্রীন বিজ্ঞাপন যা তাদের হোস্ট অ্যাপের ইন্টারফেস কভার করে। এগুলি সাধারণত একটি অ্যাপের প্রবাহের প্রাকৃতিক ট্রানজিশন পয়েন্টে প্রদর্শিত হয়, যেমন একটি গেমের স্তরগুলির মধ্যে বিরতির সময়। যখন একটি অ্যাপ একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন দেখায়, ব্যবহারকারীর পছন্দ থাকে বিজ্ঞাপনটিতে ট্যাপ করে তার গন্তব্যে চালিয়ে যেতে বা এটি বন্ধ করে অ্যাপে ফিরে যেতে পারে। কেস স্টাডি ।
এই নির্দেশিকাটি ব্যাখ্যা করে যে কীভাবে একটি ইউনিটি অ্যাপে ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলিকে একীভূত করতে হয়।
পূর্বশর্ত
- শুরু করুন গাইডটি সম্পূর্ণ করুন।
একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন তৈরি করুন
একটি ইন্টারস্টিশিয়াল প্রদর্শনের দিকে প্রথম ধাপ হল একটি GameObject
এর সাথে সংযুক্ত একটি স্ক্রিপ্টে একটি InterstitialAd
অবজেক্ট তৈরি করা।
using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;
private void RequestInterstitial()
{
#if UNITY_ANDROID
string adUnitId = "ca-app-pub-3940256099942544/1033173712";
#elif UNITY_IPHONE
string adUnitId = "ca-app-pub-3940256099942544/4411468910";
#else
string adUnitId = "unexpected_platform";
#endif
// Initialize an InterstitialAd.
this.interstitial = new InterstitialAd(adUnitId);
}
InterstitialAd
এর কনস্ট্রাক্টরের নিম্নলিখিত প্যারামিটার রয়েছে:
-
adUnitId
- AdMob বিজ্ঞাপন ইউনিট ID যেখান থেকেInterstitialAd
বিজ্ঞাপন লোড করা উচিত।
প্ল্যাটফর্মের উপর নির্ভর করে বিভিন্ন বিজ্ঞাপন ইউনিট কীভাবে ব্যবহার করা হয় তা লক্ষ করা গুরুত্বপূর্ণ। iOS-এ বিজ্ঞাপনের অনুরোধ করার জন্য আপনাকে একটি iOS বিজ্ঞাপন ইউনিট এবং Android-এ অনুরোধ করার জন্য একটি Android বিজ্ঞাপন ইউনিট ব্যবহার করতে হবে।
সর্বদা পরীক্ষার বিজ্ঞাপন দিয়ে পরীক্ষা করুন
উপরের নমুনা কোডটিতে একটি বিজ্ঞাপন ইউনিট আইডি রয়েছে এবং আপনি এটি দিয়ে বিজ্ঞাপনের অনুরোধ করতে পারবেন। এটি বিশেষভাবে প্রতিটি অনুরোধের জন্য উত্পাদন বিজ্ঞাপনের পরিবর্তে পরীক্ষার বিজ্ঞাপনগুলি ফেরত দেওয়ার জন্য কনফিগার করা হয়েছে, যা এটি ব্যবহার করা নিরাপদ করে তোলে।
যাইহোক, একবার আপনি AdMob UI-তে একটি অ্যাপ নিবন্ধন করে এবং আপনার অ্যাপে ব্যবহারের জন্য আপনার নিজস্ব বিজ্ঞাপন ইউনিট আইডি তৈরি করলে, আপনি যখন বিকাশ করছেন তখন আপনাকে স্পষ্টভাবে আপনার ডিভাইসটিকে একটি পরীক্ষামূলক ডিভাইস হিসাবে কনফিগার করতে হবে। এই অত্যন্ত গুরুত্বপূর্ণ. আসল বিজ্ঞাপনগুলি দিয়ে পরীক্ষা করা (এমনকি যদি আপনি সেগুলিতে কখনও ট্যাপ না করেন) AdMob নীতির বিরুদ্ধে এবং আপনার অ্যাকাউন্ট স্থগিত হতে পারে৷ বিকাশ করার সময় আপনি কীভাবে সর্বদা পরীক্ষামূলক বিজ্ঞাপনগুলি পান তা নিশ্চিত করতে পারেন সে সম্পর্কে তথ্যের জন্য পরীক্ষা বিজ্ঞাপনগুলি দেখুন৷
একটি বিজ্ঞাপন লোড করুন
একবার InterstitialAd
ইনস্ট্যান্টিশিয়েট হয়ে গেলে, পরবর্তী ধাপ হল একটি বিজ্ঞাপন লোড করা। এটি InterstitialAd
ক্লাসে loadAd()
পদ্ধতির মাধ্যমে করা হয়েছে। এটি একটি AdRequest
আর্গুমেন্ট নেয়, যা একটি একক বিজ্ঞাপন অনুরোধ সম্পর্কে রানটাইম তথ্য (যেমন টার্গেটিং তথ্য) ধারণ করে।
এখানে একটি উদাহরণ রয়েছে যা দেখায় কিভাবে একটি বিজ্ঞাপন লোড করতে হয়:
using GoogleMobileAds.Api; ... private InterstitialAd interstitial; private void RequestInterstitial() { #if UNITY_ANDROID string adUnitId = "ca-app-pub-3940256099942544/1033173712"; #elif UNITY_IPHONE string adUnitId = "ca-app-pub-3940256099942544/4411468910"; #else string adUnitId = "unexpected_platform"; #endif // Initialize an InterstitialAd. this.interstitial = new InterstitialAd(adUnitId); // Create an empty ad request. AdRequest request = new AdRequest.Builder().Build(); // Load the interstitial with the request. this.interstitial.LoadAd(request); }
বিজ্ঞাপন দেখান
একটি অ্যাপের প্রবাহে স্বাভাবিক বিরতির সময় ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি প্রদর্শিত হওয়া উচিত। একটি গেমের স্তরগুলির মধ্যে একটি ভাল উদাহরণ, বা ব্যবহারকারী একটি টাস্ক সম্পূর্ণ করার পরে। একটি ইন্টারস্টিশিয়াল দেখানোর জন্য, এটি লোড করা হয়েছে কিনা যাচাই করতে isLoaded()
পদ্ধতি ব্যবহার করুন, তারপর show()
কল করুন।
পূর্ববর্তী কোড উদাহরণ থেকে ইন্টারস্টিশিয়াল বিজ্ঞাপনটি একটি গেমের শেষে দেখানো হতে পারে, যেমনটি নীচে দেখানো হয়েছে।
private void GameOver()
{
if (this.interstitial.IsLoaded()) {
this.interstitial.Show();
}
}
বিজ্ঞাপন ঘটনা
আপনার বিজ্ঞাপনের আচরণকে আরও কাস্টমাইজ করতে, আপনি বিজ্ঞাপনের জীবনচক্রের বেশ কয়েকটি ইভেন্টের সাথে যুক্ত করতে পারেন: লোড করা, খোলা, বন্ধ করা এবং আরও অনেক কিছু। নীচে দেখানো হিসাবে উপযুক্ত EventHandler
জন্য একজন প্রতিনিধি নিবন্ধন করে এই ইভেন্টগুলির জন্য শুনুন।
using GoogleMobileAds.Api; ... private InterstitialAd interstitial; private void RequestInterstitial() { #if UNITY_ANDROID string adUnitId = "ca-app-pub-3940256099942544/1033173712"; #elif UNITY_IPHONE string adUnitId = "ca-app-pub-3940256099942544/4411468910"; #else string adUnitId = "unexpected_platform"; #endif // Initialize an InterstitialAd. this.interstitial = new InterstitialAd(adUnitId); // Called when an ad request has successfully loaded. this.interstitial.OnAdLoaded += HandleOnAdLoaded; // Called when an ad request failed to load. this.interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad; // Called when an ad is shown. this.interstitial.OnAdOpening += HandleOnAdOpening; // Called when the ad is closed. this.interstitial.OnAdClosed += HandleOnAdClosed; // Create an empty ad request. AdRequest request = new AdRequest.Builder().Build(); // Load the interstitial with the request. this.interstitial.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 HandleOnAdOpening(object sender, EventArgs args) { MonoBehaviour.print("HandleAdOpening event received"); } public void HandleOnAdClosed(object sender, EventArgs args) { MonoBehaviour.print("HandleAdClosed event received"); }
OnAdFailedToLoad
ইভেন্টে বিশেষ ইভেন্ট আর্গুমেন্ট রয়েছে। এটি ত্রুটি বর্ণনা করে একটি Message
সহ HandleAdFailedToLoadEventArgs
এর একটি উদাহরণ পাস করে:
public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
print("Interstitial failed to load: " + args.Message);
// Handle the ad failed to load event.
}
বিজ্ঞাপন ইভেন্ট | বর্ণনা |
---|---|
OnAdLoaded | একটি বিজ্ঞাপন লোড করা শেষ হলে OnAdLoaded ইভেন্টটি সম্পাদিত হয়। |
OnAdFailedToLoad | OnAdFailedToLoad ইভেন্টটি চালু করা হয় যখন একটি বিজ্ঞাপন লোড হতে ব্যর্থ হয়। Message প্যারামিটার বর্ণনা করে যে ব্যর্থতার ধরন ঘটেছে। |
OnAdOpening | এই পদ্ধতিটি ব্যবহার করা হয় যখন বিজ্ঞাপনটি প্রদর্শিত হয়, ডিভাইসের স্ক্রীন জুড়ে। |
OnAdClosed | ব্যবহারকারীর ক্লোজ আইকনে ট্যাপ করা বা ব্যাক বোতাম ব্যবহার করার কারণে ইন্টারস্টিশিয়াল বিজ্ঞাপন বন্ধ হয়ে গেলে এই পদ্ধতিটি চালু করা হয়। যদি আপনার অ্যাপ তার অডিও আউটপুট বা গেম লুপ পজ করে থাকে, তাহলে এটি আবার শুরু করার জন্য এটি একটি দুর্দান্ত জায়গা। |
ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি পরিষ্কার করুন
যখন আপনি একটি InterstitialAd
দিয়ে শেষ করেন, তখন আপনার রেফারেন্স ড্রপ করার আগে Destroy()
পদ্ধতিতে কল করতে ভুলবেন না:
interstitial.Destroy();
এটি প্লাগইনটিকে অবহিত করে যে বস্তুটি আর ব্যবহার করা হয় না এবং এটি যে মেমরিটি দখল করে তা পুনরায় দাবি করা যেতে পারে। এই পদ্ধতি কল করতে ব্যর্থতার ফলে মেমরি লিক হয়।
কিছু সেরা অনুশীলন
- ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি আপনার অ্যাপের জন্য সঠিক ধরনের বিজ্ঞাপন কিনা তা বিবেচনা করুন।
- ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি প্রাকৃতিক ট্রানজিশন পয়েন্ট সহ অ্যাপগুলিতে সবচেয়ে ভাল কাজ করে। একটি অ্যাপের মধ্যে একটি টাস্কের সমাপ্তি, যেমন একটি চিত্র ভাগ করা বা একটি গেম স্তর সম্পূর্ণ করা, এমন একটি বিন্দু তৈরি করে। যেহেতু ব্যবহারকারী কর্মে বিরতির আশা করছেন, তাই তাদের অভিজ্ঞতা ব্যাহত না করে একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন উপস্থাপন করা সহজ। আপনার অ্যাপের কর্মপ্রবাহের কোন পয়েন্টে আপনি ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি প্রদর্শন করবেন এবং ব্যবহারকারী কীভাবে প্রতিক্রিয়া জানাবে তা আপনি বিবেচনা করেছেন তা নিশ্চিত করুন৷
- একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন প্রদর্শন করার সময় ক্রিয়াটি বিরতি দিতে ভুলবেন না৷
- বিভিন্ন ধরনের ইন্টারস্টিশিয়াল বিজ্ঞাপন রয়েছে: পাঠ্য, ছবি, ভিডিও এবং আরও অনেক কিছু। এটি নিশ্চিত করা গুরুত্বপূর্ণ যে যখন আপনার অ্যাপ একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন প্রদর্শন করে, তখন এটি বিজ্ঞাপনটিকে সেগুলির সুবিধা নেওয়ার জন্য কিছু সংস্থানগুলির ব্যবহার স্থগিত করে। উদাহরণস্বরূপ, যখন আপনি একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন প্রদর্শন করার জন্য কল করেন, তখন আপনার অ্যাপ দ্বারা উত্পাদিত যেকোন অডিও আউটপুটকে বিরতি দিতে ভুলবেন না। আপনি
onAdClosed()
ইভেন্ট হ্যান্ডলারে সাউন্ড বাজানো আবার শুরু করতে পারেন, যখন ব্যবহারকারী বিজ্ঞাপনের সাথে ইন্টারঅ্যাক্ট করা শেষ করবে তখন এটি চালু করা হবে। এছাড়াও, বিজ্ঞাপনটি প্রদর্শিত হওয়ার সময় অস্থায়ীভাবে কোনো তীব্র গণনার কাজ (যেমন একটি গেম লুপ) বন্ধ করার কথা বিবেচনা করুন। এটি নিশ্চিত করবে যে ব্যবহারকারী ধীরগতির বা প্রতিক্রিয়াশীল গ্রাফিক্স বা তোতলানো ভিডিও অনুভব করবেন না। - পর্যাপ্ত লোডিং সময়ের জন্য অনুমতি দিন।
- আপনি একটি উপযুক্ত সময়ে ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি প্রদর্শন করছেন তা নিশ্চিত করা যেমন গুরুত্বপূর্ণ, তেমনি ব্যবহারকারীকে সেগুলি লোড করার জন্য অপেক্ষা করতে হবে না তা নিশ্চিত করাও গুরুত্বপূর্ণ৷
loadAd()
কল করে আগে থেকে বিজ্ঞাপনটি লোড করা হলে আপনিshow()
কল করতে চান তা নিশ্চিত করতে পারেন যে আপনার অ্যাপে একটি সম্পূর্ণরূপে লোড হওয়া ইন্টারস্টিশিয়াল বিজ্ঞাপন রয়েছে যখন একটি প্রদর্শনের সময় আসে। - বিজ্ঞাপন দিয়ে ব্যবহারকারীকে প্লাবিত করবেন না।
- যদিও আপনার অ্যাপে ইন্টারস্টিশিয়াল বিজ্ঞাপনের ফ্রিকোয়েন্সি বাড়ানোকে রাজস্ব বাড়ানোর একটি দুর্দান্ত উপায় বলে মনে হতে পারে, এটি ব্যবহারকারীর অভিজ্ঞতা এবং কম ক্লিকথ্রু রেটকেও হ্রাস করতে পারে। নিশ্চিত করুন যে ব্যবহারকারীরা এত ঘন ঘন বাধাগ্রস্ত হয় না যে তারা আর আপনার অ্যাপের ব্যবহার উপভোগ করতে পারবে না।
অতিরিক্ত সম্পদ
নমুনা
- HelloWorld উদাহরণ — সমস্ত বিজ্ঞাপন ফর্ম্যাটের একটি ন্যূনতম বাস্তবায়ন
সাফল্যের গল্প
,ইন্টারস্টিশিয়াল বিজ্ঞাপন হল পূর্ণ-স্ক্রীন বিজ্ঞাপন যা তাদের হোস্ট অ্যাপের ইন্টারফেস কভার করে। এগুলি সাধারণত একটি অ্যাপের প্রবাহের প্রাকৃতিক ট্রানজিশন পয়েন্টে প্রদর্শিত হয়, যেমন একটি গেমের স্তরগুলির মধ্যে বিরতির সময়। যখন একটি অ্যাপ একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন দেখায়, ব্যবহারকারীর পছন্দ থাকে বিজ্ঞাপনটিতে ট্যাপ করে তার গন্তব্যে চালিয়ে যেতে বা এটি বন্ধ করে অ্যাপে ফিরে যেতে পারে। কেস স্টাডি ।
এই নির্দেশিকাটি ব্যাখ্যা করে যে কীভাবে একটি ইউনিটি অ্যাপে ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলিকে একীভূত করতে হয়।
পূর্বশর্ত
- শুরু করুন গাইডটি সম্পূর্ণ করুন।
একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন তৈরি করুন
একটি ইন্টারস্টিশিয়াল প্রদর্শনের দিকে প্রথম ধাপ হল একটি GameObject
এর সাথে সংযুক্ত একটি স্ক্রিপ্টে একটি InterstitialAd
অবজেক্ট তৈরি করা।
using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;
private void RequestInterstitial()
{
#if UNITY_ANDROID
string adUnitId = "ca-app-pub-3940256099942544/1033173712";
#elif UNITY_IPHONE
string adUnitId = "ca-app-pub-3940256099942544/4411468910";
#else
string adUnitId = "unexpected_platform";
#endif
// Initialize an InterstitialAd.
this.interstitial = new InterstitialAd(adUnitId);
}
InterstitialAd
এর কনস্ট্রাক্টরের নিম্নলিখিত প্যারামিটার রয়েছে:
-
adUnitId
- AdMob বিজ্ঞাপন ইউনিট ID যেখান থেকেInterstitialAd
বিজ্ঞাপন লোড করা উচিত।
প্ল্যাটফর্মের উপর নির্ভর করে বিভিন্ন বিজ্ঞাপন ইউনিট কীভাবে ব্যবহার করা হয় তা লক্ষ করা গুরুত্বপূর্ণ। iOS-এ বিজ্ঞাপনের অনুরোধ করার জন্য আপনাকে একটি iOS বিজ্ঞাপন ইউনিট এবং Android-এ অনুরোধ করার জন্য একটি Android বিজ্ঞাপন ইউনিট ব্যবহার করতে হবে।
সর্বদা পরীক্ষার বিজ্ঞাপন দিয়ে পরীক্ষা করুন
উপরের নমুনা কোডটিতে একটি বিজ্ঞাপন ইউনিট আইডি রয়েছে এবং আপনি এটি দিয়ে বিজ্ঞাপনের অনুরোধ করতে পারবেন। এটি বিশেষভাবে প্রতিটি অনুরোধের জন্য উত্পাদন বিজ্ঞাপনের পরিবর্তে পরীক্ষার বিজ্ঞাপনগুলি ফেরত দেওয়ার জন্য কনফিগার করা হয়েছে, যা এটি ব্যবহার করা নিরাপদ করে তোলে।
যাইহোক, একবার আপনি AdMob UI-তে একটি অ্যাপ নিবন্ধন করে এবং আপনার অ্যাপে ব্যবহারের জন্য আপনার নিজস্ব বিজ্ঞাপন ইউনিট আইডি তৈরি করলে, আপনি যখন বিকাশ করছেন তখন আপনাকে স্পষ্টভাবে আপনার ডিভাইসটিকে একটি পরীক্ষামূলক ডিভাইস হিসাবে কনফিগার করতে হবে। এই অত্যন্ত গুরুত্বপূর্ণ. আসল বিজ্ঞাপনগুলি দিয়ে পরীক্ষা করা (এমনকি যদি আপনি সেগুলিতে কখনও ট্যাপ না করেন) AdMob নীতির বিরুদ্ধে এবং আপনার অ্যাকাউন্ট স্থগিত হতে পারে৷ বিকাশ করার সময় আপনি কীভাবে সর্বদা পরীক্ষামূলক বিজ্ঞাপনগুলি পান তা নিশ্চিত করতে পারেন সে সম্পর্কে তথ্যের জন্য পরীক্ষা বিজ্ঞাপনগুলি দেখুন৷
একটি বিজ্ঞাপন লোড করুন
একবার InterstitialAd
ইনস্ট্যান্টিশিয়েট হয়ে গেলে, পরবর্তী ধাপ হল একটি বিজ্ঞাপন লোড করা। এটি InterstitialAd
ক্লাসে loadAd()
পদ্ধতির মাধ্যমে করা হয়েছে। এটি একটি AdRequest
আর্গুমেন্ট নেয়, যা একটি একক বিজ্ঞাপন অনুরোধ সম্পর্কে রানটাইম তথ্য (যেমন টার্গেটিং তথ্য) ধারণ করে।
এখানে একটি উদাহরণ রয়েছে যা দেখায় কিভাবে একটি বিজ্ঞাপন লোড করতে হয়:
using GoogleMobileAds.Api; ... private InterstitialAd interstitial; private void RequestInterstitial() { #if UNITY_ANDROID string adUnitId = "ca-app-pub-3940256099942544/1033173712"; #elif UNITY_IPHONE string adUnitId = "ca-app-pub-3940256099942544/4411468910"; #else string adUnitId = "unexpected_platform"; #endif // Initialize an InterstitialAd. this.interstitial = new InterstitialAd(adUnitId); // Create an empty ad request. AdRequest request = new AdRequest.Builder().Build(); // Load the interstitial with the request. this.interstitial.LoadAd(request); }
বিজ্ঞাপন দেখান
একটি অ্যাপের প্রবাহে স্বাভাবিক বিরতির সময় ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি প্রদর্শিত হওয়া উচিত। একটি গেমের স্তরগুলির মধ্যে একটি ভাল উদাহরণ, বা ব্যবহারকারী একটি টাস্ক সম্পূর্ণ করার পরে। একটি ইন্টারস্টিশিয়াল দেখানোর জন্য, এটি লোড করা হয়েছে কিনা যাচাই করতে isLoaded()
পদ্ধতি ব্যবহার করুন, তারপর show()
কল করুন।
পূর্ববর্তী কোড উদাহরণ থেকে ইন্টারস্টিশিয়াল বিজ্ঞাপনটি একটি গেমের শেষে দেখানো হতে পারে, যেমনটি নীচে দেখানো হয়েছে।
private void GameOver()
{
if (this.interstitial.IsLoaded()) {
this.interstitial.Show();
}
}
বিজ্ঞাপন ঘটনা
আপনার বিজ্ঞাপনের আচরণকে আরও কাস্টমাইজ করতে, আপনি বিজ্ঞাপনের জীবনচক্রের বেশ কয়েকটি ইভেন্টের সাথে যুক্ত করতে পারেন: লোড করা, খোলা, বন্ধ করা এবং আরও অনেক কিছু। নীচে দেখানো হিসাবে উপযুক্ত EventHandler
জন্য একজন প্রতিনিধি নিবন্ধন করে এই ইভেন্টগুলির জন্য শুনুন।
using GoogleMobileAds.Api; ... private InterstitialAd interstitial; private void RequestInterstitial() { #if UNITY_ANDROID string adUnitId = "ca-app-pub-3940256099942544/1033173712"; #elif UNITY_IPHONE string adUnitId = "ca-app-pub-3940256099942544/4411468910"; #else string adUnitId = "unexpected_platform"; #endif // Initialize an InterstitialAd. this.interstitial = new InterstitialAd(adUnitId); // Called when an ad request has successfully loaded. this.interstitial.OnAdLoaded += HandleOnAdLoaded; // Called when an ad request failed to load. this.interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad; // Called when an ad is shown. this.interstitial.OnAdOpening += HandleOnAdOpening; // Called when the ad is closed. this.interstitial.OnAdClosed += HandleOnAdClosed; // Create an empty ad request. AdRequest request = new AdRequest.Builder().Build(); // Load the interstitial with the request. this.interstitial.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 HandleOnAdOpening(object sender, EventArgs args) { MonoBehaviour.print("HandleAdOpening event received"); } public void HandleOnAdClosed(object sender, EventArgs args) { MonoBehaviour.print("HandleAdClosed event received"); }
OnAdFailedToLoad
ইভেন্টে বিশেষ ইভেন্ট আর্গুমেন্ট রয়েছে। এটি ত্রুটি বর্ণনা করে একটি Message
সহ HandleAdFailedToLoadEventArgs
এর একটি উদাহরণ পাস করে:
public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
print("Interstitial failed to load: " + args.Message);
// Handle the ad failed to load event.
}
বিজ্ঞাপন ইভেন্ট | বর্ণনা |
---|---|
OnAdLoaded | একটি বিজ্ঞাপন লোড করা শেষ হলে OnAdLoaded ইভেন্টটি সম্পাদিত হয়। |
OnAdFailedToLoad | OnAdFailedToLoad ইভেন্টটি চালু করা হয় যখন একটি বিজ্ঞাপন লোড হতে ব্যর্থ হয়। Message প্যারামিটার বর্ণনা করে যে ব্যর্থতার ধরন ঘটেছে। |
OnAdOpening | এই পদ্ধতিটি ব্যবহার করা হয় যখন বিজ্ঞাপনটি প্রদর্শিত হয়, ডিভাইসের স্ক্রীন জুড়ে। |
OnAdClosed | ব্যবহারকারীর ক্লোজ আইকনে ট্যাপ করা বা ব্যাক বোতাম ব্যবহার করার কারণে ইন্টারস্টিশিয়াল বিজ্ঞাপন বন্ধ হয়ে গেলে এই পদ্ধতিটি চালু করা হয়। যদি আপনার অ্যাপ তার অডিও আউটপুট বা গেম লুপ পজ করে থাকে, তাহলে এটি আবার শুরু করার জন্য এটি একটি দুর্দান্ত জায়গা। |
ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি পরিষ্কার করুন
যখন আপনি একটি InterstitialAd
দিয়ে শেষ করেন, তখন আপনার রেফারেন্স ড্রপ করার আগে Destroy()
পদ্ধতিতে কল করতে ভুলবেন না:
interstitial.Destroy();
এটি প্লাগইনটিকে অবহিত করে যে বস্তুটি আর ব্যবহার করা হয় না এবং এটি যে মেমরিটি দখল করে তা পুনরায় দাবি করা যেতে পারে। এই পদ্ধতি কল করতে ব্যর্থতার ফলে মেমরি লিক হয়।
কিছু সেরা অনুশীলন
- ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি আপনার অ্যাপের জন্য সঠিক ধরনের বিজ্ঞাপন কিনা তা বিবেচনা করুন।
- ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি প্রাকৃতিক ট্রানজিশন পয়েন্ট সহ অ্যাপগুলিতে সবচেয়ে ভাল কাজ করে। একটি অ্যাপের মধ্যে একটি টাস্কের সমাপ্তি, যেমন একটি চিত্র ভাগ করা বা একটি গেম স্তর সম্পূর্ণ করা, এমন একটি বিন্দু তৈরি করে। যেহেতু ব্যবহারকারী কর্মে বিরতির আশা করছেন, তাই তাদের অভিজ্ঞতা ব্যাহত না করে একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন উপস্থাপন করা সহজ। আপনার অ্যাপের কর্মপ্রবাহের কোন পয়েন্টে আপনি ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি প্রদর্শন করবেন এবং ব্যবহারকারী কীভাবে প্রতিক্রিয়া জানাবে তা আপনি বিবেচনা করেছেন তা নিশ্চিত করুন৷
- একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন প্রদর্শন করার সময় ক্রিয়াটি বিরতি দিতে ভুলবেন না৷
- বিভিন্ন ধরনের ইন্টারস্টিশিয়াল বিজ্ঞাপন রয়েছে: পাঠ্য, ছবি, ভিডিও এবং আরও অনেক কিছু। এটি নিশ্চিত করা গুরুত্বপূর্ণ যে যখন আপনার অ্যাপ একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন প্রদর্শন করে, তখন এটি বিজ্ঞাপনটিকে সেগুলির সুবিধা নেওয়ার জন্য কিছু সংস্থানগুলির ব্যবহার স্থগিত করে। উদাহরণস্বরূপ, যখন আপনি একটি ইন্টারস্টিশিয়াল বিজ্ঞাপন প্রদর্শন করার জন্য কল করেন, তখন আপনার অ্যাপ দ্বারা উত্পাদিত যেকোন অডিও আউটপুটকে বিরতি দিতে ভুলবেন না। আপনি
onAdClosed()
ইভেন্ট হ্যান্ডলারে সাউন্ড বাজানো আবার শুরু করতে পারেন, যখন ব্যবহারকারী বিজ্ঞাপনের সাথে ইন্টারঅ্যাক্ট করা শেষ করবে তখন এটি চালু করা হবে। এছাড়াও, বিজ্ঞাপনটি প্রদর্শিত হওয়ার সময় অস্থায়ীভাবে কোনো তীব্র গণনার কাজ (যেমন একটি গেম লুপ) বন্ধ করার কথা বিবেচনা করুন। এটি নিশ্চিত করবে যে ব্যবহারকারী ধীরগতির বা প্রতিক্রিয়াশীল গ্রাফিক্স বা তোতলানো ভিডিও অনুভব করবেন না। - পর্যাপ্ত লোডিং সময়ের জন্য অনুমতি দিন।
- আপনি একটি উপযুক্ত সময়ে ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলি প্রদর্শন করছেন তা নিশ্চিত করা যেমন গুরুত্বপূর্ণ, তেমনি ব্যবহারকারীকে সেগুলি লোড করার জন্য অপেক্ষা করতে হবে না তা নিশ্চিত করাও গুরুত্বপূর্ণ৷
loadAd()
কল করে আগে থেকে বিজ্ঞাপনটি লোড করা হলে আপনিshow()
কল করতে চান তা নিশ্চিত করতে পারেন যে আপনার অ্যাপে একটি সম্পূর্ণরূপে লোড হওয়া ইন্টারস্টিশিয়াল বিজ্ঞাপন রয়েছে যখন একটি প্রদর্শনের সময় আসে। - বিজ্ঞাপন দিয়ে ব্যবহারকারীকে প্লাবিত করবেন না।
- যদিও আপনার অ্যাপে ইন্টারস্টিশিয়াল বিজ্ঞাপনের ফ্রিকোয়েন্সি বাড়ানোকে রাজস্ব বাড়ানোর একটি দুর্দান্ত উপায় বলে মনে হতে পারে, এটি ব্যবহারকারীর অভিজ্ঞতা এবং কম ক্লিকথ্রু রেটকেও হ্রাস করতে পারে। নিশ্চিত করুন যে ব্যবহারকারীরা এত ঘন ঘন বাধাগ্রস্ত হয় না যে তারা আর আপনার অ্যাপের ব্যবহার উপভোগ করতে পারবে না।
অতিরিক্ত সম্পদ
নমুনা
- HelloWorld উদাহরণ — সমস্ত বিজ্ঞাপন ফর্ম্যাটের একটি ন্যূনতম বাস্তবায়ন