کلاس MobileAds تنظیمات سراسری برای Google Mobile Ads SDK را ارائه میدهد.
رویدادهای تبلیغاتی را در تاپیک اصلی Unity مطرح کنید
کیت توسعه Google Mobile Ads SDK رویدادها را در ترد متفاوتی نسبت به ترد اصلی یونیتی اجرا میکند. اگر رویدادهای تبلیغاتی را پیادهسازی میکنید و با اشیاء یونیتی تعامل دارید، باید رویدادهای کیت توسعه Google Mobile Ads SDK را با ترد اصلی یونیتی همگامسازی کنید.
رویدادهای تبلیغاتی را با نخ اصلی Unity به صورت دستی یا خودکار، با اجازه دادن به Google Mobile Ads SDK برای مدیریت همگامسازی، همگامسازی کنید.
توصیه شده: همگامسازی دستی رویدادهای تبلیغاتی
برای همگامسازی دستی رویدادهای تبلیغاتی، از متد 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 SDK رویدادهای تبلیغاتی را همگامسازی کند، ویژگی 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 SDK به تبلیغات ویدیویی این امکان را میدهد که از تنظیمات صدای برنامه پیروی کنند. این امر تضمین میکند که کاربران تبلیغات ویدیویی را با میزان صدای مورد انتظار دریافت میکنند.
میزان صدای دستگاه که از طریق دکمههای تنظیم صدا یا اسلایدر صدای سیستم عامل کنترل میشود، میزان صدای خروجی دستگاه را تعیین میکند. با این حال، برنامهها میتوانند به طور مستقل میزان صدا را نسبت به صدای دستگاه تنظیم کنند تا تجربه صوتی را متناسب سازند.
شما میتوانید با فراخوانی متد SetApplicationVolume() قبل از بارگذاری تبلیغ، میزان صدای نسبی برنامه را به Google Mobile Ads SDK گزارش دهید. مقادیر معتبر صدای تبلیغ از 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 *; }
غیرفعال کردن گزارش خرابی
Google Mobile Ads SDK گزارشهای خرابی را برای اهداف اشکالزدایی و تحلیل جمعآوری میکند. میتوانید این گزارش خرابی را با کد زیر غیرفعال کنید. بخشهای بعدی نحوه غیرفعال کردن گزارش خرابی در اندروید و 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 SDK برای یونیتی به کیت توسعه نرمافزاری پلتفرمهای اندروید و iOS بستگی دارد. برای دریافت نسخه کیت توسعه نرمافزاری پلتفرم، دستور زیر را اجرا کنید:
// Get the underlying platform SDK version.
Debug.Log("Platform SDK Version: " + MobileAds.GetPlatformVersion());