کلاس MobileAds تنظیمات سراسری برای افزونه Unity Ads گوگل موبایل را ارائه میدهد.
رویدادهای تبلیغاتی را در تاپیک اصلی Unity مطرح کنید
افزونهی یونیتی تبلیغات موبایل گوگل، رویدادها را در نخی متفاوت از نخ اصلی یونیتی اجرا میکند. اگر رویدادهای تبلیغاتی را پیادهسازی میکنید و با اشیاء یونیتی تعامل دارید، باید رویدادهای افزونهی یونیتی تبلیغات موبایل گوگل را با نخ اصلی یونیتی همگامسازی کنید.
رویدادهای تبلیغاتی را با نخ اصلی Unity به صورت دستی یا خودکار، با اجازه دادن به افزونه Unity Ads Mobile Ads Google، همگامسازی کنید.
توصیه شده: همگامسازی دستی رویدادهای تبلیغاتی
برای همگامسازی دستی رویدادهای تبلیغاتی، از متد ExecuteInUpdate در thread اصلی استفاده کنید. شما باید هنگام تعامل با اشیاء 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، ویژگی 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;
}
}
کنترل صدای تبلیغات ویدیویی
اگر برنامه شما کنترلهای صدای مخصوص به خود را دارد، مانند موسیقی سفارشی یا میزان صدای جلوههای صوتی، افشای میزان صدای برنامه به افزونه Unity Ads Mobile Google، به تبلیغات ویدیویی این امکان را میدهد که از تنظیمات صدای برنامه پیروی کنند. این امر تضمین میکند که کاربران تبلیغات ویدیویی را با میزان صدای مورد انتظار دریافت میکنند.
میزان صدای دستگاه که از طریق دکمههای تنظیم صدا یا اسلایدر صدای سیستم عامل کنترل میشود، میزان صدای خروجی دستگاه را تعیین میکند. با این حال، برنامهها میتوانند به طور مستقل میزان صدا را نسبت به صدای دستگاه تنظیم کنند تا تجربه صوتی را متناسب سازند.
شما میتوانید با فراخوانی متد SetApplicationVolume() قبل از بارگذاری تبلیغ، میزان صدای نسبی برنامه را به افزونه Google Mobile Ads Unity گزارش دهید. مقادیر معتبر صدای تبلیغ از 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);
کوچکسازی اندروید
این گزینه انتشار Unity به شما امکان میدهد تا کوچکسازی کد جاوا را فعال کنید. اگر کوچکسازی را فعال کنید، باید یک فایل proguard سفارشی نیز ایجاد کنید تا کلاسها توسط SDK ارجاع داده شوند.
فعال کردن فایل Proguard سفارشی
به تنظیمات پروژه > پخشکننده > اندروید > تنظیمات انتشار > ساخت بروید و موارد زیر را انتخاب کنید:
- فایل پروگارد سفارشی
/Assets/Plugins/Android/proguard-user.txtرا باز کنید و موارد زیر را به آن اضافه کنید:
-keep class com.google.** { public *; }
غیرفعال کردن گزارش خرابی
افزونهی یونیتی تبلیغات موبایل گوگل، گزارشهای خرابی را برای اشکالزدایی و تجزیه و تحلیل جمعآوری میکند. میتوانید این گزارش خرابی را با کد زیر غیرفعال کنید. بخشهای بعدی نحوهی غیرفعال کردن گزارش خرابی در اندروید و iOS را شرح میدهند.
اندروید
تگ <meta-data> را با مقدار DISABLE_CRASH_REPORTING که روی true تنظیم شده است، در فایل AndroidManifest.xml برنامه خود اضافه کنید:
<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();
}
دریافت نسخه افزونه یونیتی
برای دریافت نسخه Unity SDK، دستور زیر را اجرا کنید:
// Get the unity SDK version.
Debug.Log("Unity SDK Version: " + MobileAds.GetVersion());
دریافت نسخه پلتفرم
افزونه Google Mobile Ads Unity برای Unity به SDK های پلتفرم اندروید و iOS بستگی دارد. برای دریافت نسخه SDK پلتفرم، دستور زیر را اجرا کنید:
// Get the underlying platform SDK version.
Debug.Log("Platform SDK Version: " + MobileAds.GetPlatformVersion());