הכיתה MobileAds מספקת הגדרות גלובליות ל-Google Mobile Ads Unity Plugin.
הפעלת אירועים שקשורים למודעות בשרשור הראשי של Unity
Google Mobile Ads Unity Plugin מעלה אירועים בשרשור שונה משרשור הראשי של Unity. אם מטמיעים אירועים שקשורים למודעות ומבצעים אינטראקציה עם אובייקטים של Unity, צריך לסנכרן את האירועים Google Mobile Ads Unity Plugin עם ה-main thread של Unity.
אפשר לסנכרן אירועים שקשורים למודעות עם ה-thread הראשי של Unity באופן ידני או אוטומטי, באמצעות Google Mobile Ads Unity Plugin.
מומלץ: סנכרון ידני של אירועים שקשורים למודעות
כדי לסנכרן אירועים שקשורים למודעות באופן ידני, משתמשים בשיטה ExecuteInUpdate בשרשור הראשי. צריך להשתמש בשיטה ExecuteInUpdate כשמבצעים אינטראקציה עם אובייקטים של UnityEngine, וכשהמאפיין RaiseAdEventsOnUnityMainThread מושבת.
בדוגמה הבאה מתבצע רישום ביומן של שרשור ברקע ומופעלת פעולה לאינטראקציה עם אובייקטים של UnityEngine:
// Google Mobile Ads events are raised off the Unity main thread.
// This log is executed off the Unity main thread.
// Write all time-sensitive code before ExecuteInUpdate().
Debug.Log("Executing off the Unity main thread.");
// Use ExecuteInUpdate to run code on the main thread, allowing you to
// interact with Unity UI and GameObjects.
// Changed to fully-qualified name to resolve CS0103
GoogleMobileAds.Common.MobileAdsEventExecutor.ExecuteInUpdate(() =>
{
// This callback may be delayed on Android until the user returns to the app.
Debug.Log("Executing on the Unity main thread.");
// Place all code that interacts with Unity UI and GameObjects inside this callback.
if (_myGameObject != null)
{
_myGameObject.SetActive(true);
}
});
אוטומציה של סנכרון באירועים שקשורים למודעות
כדי ש-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 מאפשרת למודעות וידאו לפעול בהתאם להגדרות עוצמת הקול של האפליקציה. כך המשתמשים יקבלו מודעות וידאו עם עוצמת הקול הצפויה.
עוצמת הקול של המכשיר, שנשלטת באמצעות לחצני עוצמת הקול או פס עוצמת הקול ברמת מערכת ההפעלה, קובעת את עוצמת הקול של פלט האודיו של המכשיר. עם זאת, אפליקציות יכולות לשנות את עוצמת הקול באופן עצמאי ביחס לעוצמת הקול של המכשיר, כדי להתאים את חוויית האודיו.
אפשר לדווח על עוצמת הקול היחסית של האפליקציה ל-Google Mobile Ads Unity Plugin באמצעות קריאה לשיטה SetApplicationVolume() לפני טעינת המודעה. הערכים התקינים של עוצמת הקול במודעה נעים בין 0.0 (השתקה) לבין 1.0 (עוצמת הקול הנוכחית במכשיר). דוגמה לדיווח על נפח האפליקציה היחסי ל-SDK:
// Set app volume to be half of current device volume.
MobileAds.SetApplicationVolume(0.5f);
כדי להודיע ל-SDK שעוצמת הקול של האפליקציה הושתקה, צריך להפעיל את ה-method SetApplicationMuted() לפני טעינת המודעה:
// Set app to be muted.
MobileAds.SetApplicationMuted(true);
כברירת מחדל, עוצמת הקול של האפליקציה מוגדרת ל1, עוצמת הקול הנוכחית של המכשיר, והאפליקציה לא מושתקת.
הסכמה לשימוש בקובצי Cookie
אם לאפליקציה שלכם יש דרישות מיוחדות, אתם יכולים להגדיר את המפתח האופציונלי ApplicationPreferences gad_has_consent_for_cookies לאפס כדי להפעיל הצגת מודעות מוגבלת (LTD):
// Enable limited ads
ApplicationPreferences.SetInt("gad_has_consent_for_cookies", 0);
הקטנה ב-Android
אפשרות הפרסום הזו ב-Unity מאפשרת להפעיל מיניפיקציה של קוד Java. אם מפעילים את האפשרות 'צמצום', צריך גם ליצור קובץ ProGuard בהתאמה אישית כדי לשמור את המחלקות שאליהן יש הפניה ב-SDK.
הפעלת קובץ Proguard בהתאמה אישית
עוברים אל Project Settings > Player > Android > Publishing Settings > Build ובוחרים באפשרות:
- קובץ Proguard מותאם אישית
פותחים את
/Assets/Plugins/Android/proguard-user.txtומוסיפים את השורות הבאות:
-keep class com.google.** { public *; }
השבתת דיווח הקריסות
Google Mobile Ads Unity Plugin אוסף דוחות קריסה למטרות ניפוי באגים וניתוח. בקטעים הבאים מוסבר איך להשבית את דיווח הקריסות ב-Android וב-iOS.
Android
מוסיפים את התג <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 כדי להשבית דוחות קריסה ב-iOS:
void Awake() {
MobileAds.DisableSDKCrashReporting();
}
קבלת גרסת הפלאגין Unity
כדי לקבל את גרסת Unity SDK, מריצים את הפקודה הבאה:
// Get the Unity SDK version.
Debug.Log("Unity SDK Version: " + MobileAds.GetVersion());
קבלת גרסת הפלטפורמה
Google Mobile Ads Unity Plugin ל-Unity תלוי בערכות ה-SDK של פלטפורמות Android ו-iOS. כדי לקבל את גרסת ה-SDK של הפלטפורמה, מריצים את הפקודה הבאה:
// Get the underlying platform SDK version.
Debug.Log("Platform SDK Version: " + MobileAds.GetPlatformVersion());