MobileAds ক্লাসটি Google Mobile Ads Unity Plugin জন্য গ্লোবাল সেটিংস প্রদান করে।
ইউনিটি প্রধান থ্রেডে বিজ্ঞাপন ইভেন্ট উত্থাপন করুন
Google Mobile Ads Unity Plugin ইউনিটি মেইন থ্রেড থেকে ভিন্ন একটি থ্রেডে ইভেন্ট তৈরি করে। আপনি যদি বিজ্ঞাপনের ইভেন্টগুলো প্রয়োগ করেন এবং ইউনিটি অবজেক্টের সাথে ইন্টারঅ্যাক্ট করেন, তবে আপনাকে অবশ্যই Google Mobile Ads Unity Plugin ইভেন্টগুলোকে ইউনিটি মেইন থ্রেডের সাথে সিনক্রোনাইজ করতে হবে।
অ্যাড ইভেন্টগুলোকে ইউনিটি মেইন থ্রেডের সাথে ম্যানুয়ালি অথবা স্বয়ংক্রিয়ভাবে সিঙ্ক্রোনাইজ করুন, যার জন্য সিঙ্ক্রোনাইজেশনের দায়িত্ব Google Mobile Ads Unity Plugin ছেড়ে দিন।
সুপারিশকৃত: বিজ্ঞাপন ইভেন্টগুলি ম্যানুয়ালি সিঙ্ক্রোনাইজ করুন
বিজ্ঞাপন ইভেন্টগুলো ম্যানুয়ালি সিঙ্ক্রোনাইজ করতে, মেইন থ্রেডে ExecuteInUpdate মেথডটি ব্যবহার করুন। UnityEngine অবজেক্টের সাথে ইন্টারঅ্যাক্ট করার সময় এবং RaiseAdEventsOnUnityMainThread প্রপার্টিটি ডিজেবল থাকা অবস্থায় আপনাকে অবশ্যই ExecuteInUpdate মেথডটি ব্যবহার করতে হবে।
নিম্নলিখিত উদাহরণটি একটি ব্যাকগ্রাউন্ড থ্রেড লগ করে এবং UnityEngine অবজেক্টগুলির সাথে ইন্টারঅ্যাক্ট করার জন্য একটি অ্যাকশন চালায়:
rewardedAd.OnAdPaid += (AdValue value) =>
{
// Log the ad value immediately.
// Place all time-sensitive code outside of ExecuteInUpdate().
UnityEngine.Debug.Log($"Received ad value of {value.Value} {value.CurrencyCode}.");
MobileAdsEventExecutor.ExecuteInUpdate(() =>
{
// Interact with UnityEngine objects here.
// This method is delayed, don't put time sensitive code here.
});
};
বিজ্ঞাপন ইভেন্টগুলিতে সিঙ্ক্রোনাইজেশন স্বয়ংক্রিয় করুন
Google Mobile Ads Unity Plugin বিজ্ঞাপন ইভেন্টগুলো সিঙ্ক্রোনাইজ করার জন্য, MobileAds.RaiseAdEventsOnUnityMainThread প্রপার্টিটি true তে সেট করুন:
...
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// When true all events raised by GoogleMobileAds will be raised
// on the Unity main thread. The default value is false.
MobileAds.RaiseAdEventsOnUnityMainThread = true;
}
}
ভিডিও বিজ্ঞাপনের ভলিউম নিয়ন্ত্রণ
আপনার অ্যাপে যদি নিজস্ব ভলিউম কন্ট্রোল থাকে, যেমন কাস্টম মিউজিক বা সাউন্ড ইফেক্টের ভলিউম, তাহলে Google Mobile Ads Unity Plugin কে অ্যাপের ভলিউম সম্পর্কে জানালে ভিডিও বিজ্ঞাপনগুলো অ্যাপের ভলিউম সেটিংস মেনে চলে। এর ফলে ব্যবহারকারীরা প্রত্যাশিত অডিও ভলিউমে ভিডিও বিজ্ঞাপনগুলো পান।
ভলিউম বাটন বা ওএস-স্তরের ভলিউম স্লাইডারের মাধ্যমে নিয়ন্ত্রিত ডিভাইস ভলিউম, ডিভাইস অডিও আউটপুটের ভলিউম নির্ধারণ করে। তবে, অ্যাপগুলো নিজেদের পছন্দ অনুযায়ী অডিও অভিজ্ঞতা তৈরি করতে ডিভাইস ভলিউমের সাপেক্ষে স্বাধীনভাবে ভলিউমের মাত্রা সমন্বয় করতে পারে।
বিজ্ঞাপন লোড করার আগে SetApplicationVolume() মেথডটি কল করে আপনি Google Mobile Ads Unity Plugin কে অ্যাপের আপেক্ষিক ভলিউম রিপোর্ট করতে পারেন। বৈধ বিজ্ঞাপন ভলিউমের মান 0.0 (সাইলেন্ট) থেকে 1.0 (বর্তমান ডিভাইসের ভলিউম) পর্যন্ত হয়ে থাকে। SDK-কে অ্যাপের আপেক্ষিক ভলিউম কীভাবে রিপোর্ট করতে হয় তার একটি উদাহরণ নিচে দেওয়া হলো:
// Set app volume to be half of current device volume.
MobileAds.SetApplicationVolume(0.5f);
অ্যাপের ভলিউম মিউট করা হয়েছে তা SDK-কে জানাতে, বিজ্ঞাপন লোড করার আগে SetApplicationMuted() মেথডটি কল করুন:
// Set app to be muted.
MobileAds.SetApplicationMuted(true);
ডিফল্টরূপে, অ্যাপের ভলিউম 1 (অর্থাৎ ডিভাইসের বর্তমান ভলিউমে) সেট করা থাকে এবং অ্যাপটি মিউট করা থাকে না।
কুকির জন্য সম্মতি
আপনার অ্যাপের বিশেষ প্রয়োজনীয়তা থাকলে, সীমিত বিজ্ঞাপন চালু করার জন্য আপনি ঐচ্ছিক ApplicationPreferences কী- gad_has_consent_for_cookies এর মান শূন্য সেট করতে পারেন।
// Enable limited ads
ApplicationPreferences.SetInt("gad_has_consent_for_cookies", 0);
অ্যান্ড্রয়েড মিনিফিকেশন
ইউনিটির এই পাবলিশিং অপশনটি আপনাকে জাভা কোড মিনিফিকেশন চালু করার সুযোগ দেয়। মিনিফিকেশন চালু করলে, SDK দ্বারা রেফারেন্সকৃত ক্লাসগুলোকে সুরক্ষিত রাখতে আপনাকে একটি কাস্টম প্রোগার্ড ফাইলও তৈরি করতে হবে।
কাস্টম প্রোগার্ড ফাইল সক্রিয় করুন
প্রজেক্ট সেটিংস > প্লেয়ার > অ্যান্ড্রয়েড > পাবলিশিং সেটিংস > বিল্ড-এ যান এবং নির্বাচন করুন:
- কাস্টম প্রোগার্ড ফাইল
/Assets/Plugins/Android/proguard-user.txtখুলুন এবং নিম্নলিখিত বিষয়গুলো যোগ করুন:
-keep class com.google.** { public *; }
ক্র্যাশ রিপোর্টিং নিষ্ক্রিয় করুন
Google Mobile Ads Unity Plugin ডিবাগিং এবং বিশ্লেষণের উদ্দেশ্যে ক্র্যাশ রিপোর্ট সংগ্রহ করে। আপনি নিম্নলিখিত কোড ব্যবহার করে এই ক্র্যাশ রিপোর্টিং নিষ্ক্রিয় করতে পারেন। নিম্নলিখিত বিভাগগুলিতে অ্যান্ড্রয়েড এবং আইওএস-এ কীভাবে ক্র্যাশ রিপোর্টিং নিষ্ক্রিয় করতে হয় তা বর্ণনা করা হয়েছে।
অ্যান্ড্রয়েড
আপনার অ্যাপের AndroidManifest.xml ফাইলে DISABLE_CRASH_REPORTING true সেট করে <meta-data> ট্যাগটি যোগ করুন:
<manifest>
<application>
<meta-data
android:name="com.google.android.gms.ads.flag.DISABLE_CRASH_REPORTING"
android:value="true" />
</application>
</manifest>
আইওএস
iOS-এ ক্র্যাশ রিপোর্ট নিষ্ক্রিয় করতে DisableSDKCrashReporting মেথডটি কল করুন:
void Awake() {
MobileAds.DisableSDKCrashReporting();
}
ইউনিটি প্লাগইন সংস্করণ পান
ইউনিটি এসডিকে সংস্করণ পেতে, নিম্নলিখিতটি চালান:
// Get the unity SDK version.
Debug.Log("Unity SDK Version: " + MobileAds.GetVersion());
প্ল্যাটফর্ম সংস্করণ পান
ইউনিটির জন্য Google Mobile Ads Unity Plugin অ্যান্ড্রয়েড এবং আইওএস প্ল্যাটফর্ম এসডিকে-এর উপর নির্ভরশীল। প্ল্যাটফর্ম এসডিকে-এর সংস্করণটি পেতে, নিম্নলিখিত কমান্ডটি চালান:
// Get the underlying platform SDK version.
Debug.Log("Platform SDK Version: " + MobileAds.GetPlatformVersion());