הגדרות גלובליות

בחירת פלטפורמה: Android iOS Unity Android (Legacy)

הכיתה MobileAds מספקת הגדרות גלובליות ל-.

הפעלת אירועים שקשורים למודעות בשרשור הראשי של Unity

מעלה אירועים בשרשור אחר מזה של השרשור הראשי של Unity. אם מטמיעים אירועים שקשורים למודעות ומתקשרים עם אובייקטים של Unity, צריך לסנכרן את האירועים עם ה-main thread של Unity.

אפשר לסנכרן אירועים שקשורים למודעות עם ה-thread הראשי של Unity באופן ידני או באופן אוטומטי, באמצעות שימוש ב-

מומלץ: סנכרון ידני של אירועים שקשורים למודעות

כדי לסנכרן אירועים שקשורים למודעות באופן ידני, משתמשים בשיטה 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);
    }
});

אוטומציה של סנכרון באירועים שקשורים למודעות

כדי לסנכרן אירועים שקשורים למודעות, מגדירים את המאפיין 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;
    }
}

שליטה בעוצמת הקול של מודעות וידאו

אם לאפליקציה יש בקרת עוצמת קול משלה, כמו כפתורים מותאמים אישית לשליטה בעוצמת הקול של המוזיקה או האפקטים, חשיפת עוצמת הקול של האפליקציה מאפשרת למודעות וידאו לפעול בהתאם להגדרות עוצמת הקול של האפליקציה. כך המשתמשים יקבלו מודעות וידאו עם עוצמת הקול הצפויה.

עוצמת הקול של המכשיר, שנשלטת באמצעות לחצני עוצמת הקול או פס עוצמת הקול ברמת מערכת ההפעלה, קובעת את עוצמת הקול של פלט האודיו של המכשיר. עם זאת, אפליקציות יכולות לשנות את עוצמת הקול באופן עצמאי ביחס לעוצמת הקול של המכשיר, כדי להתאים את חוויית האודיו.

אפשר לדווח על עוצמת הקול היחסית של האפליקציה אל על ידי קריאה לשיטה 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, עוצמת הקול הנוכחית של המכשיר, והאפליקציה לא מושתקת.

אם לאפליקציה שלכם יש דרישות מיוחדות, אתם יכולים להגדיר את המפתח האופציונלי ApplicationPreferences gad_has_consent_for_cookies לאפס כדי להפעיל הצגת מודעות מוגבלת (LTD):

// Enable limited ads
ApplicationPreferences.SetInt("gad_has_consent_for_cookies", 0);

הקטנה ב-Android

אפשרות הפרסום הזו ב-Unity מאפשרת להפעיל מיניפיקציה של קוד Java. אם מפעילים את האפשרות 'צמצום', צריך גם ליצור קובץ ProGuard בהתאמה אישית כדי לשמור את המחלקות שאליהן יש הפניה ב-SDK.

  1. הפעלת קובץ Proguard בהתאמה אישית

    עוברים אל Project Settings > Player > Android > Publishing Settings > Build ובוחרים באפשרות:

    • קובץ Proguard מותאם אישית
  2. פותחים את /Assets/Plugins/Android/proguard-user.txt ומוסיפים את השורות הבאות:

-keep class com.google.** { public *; }

השבתת דיווח הקריסות

אוסף דוחות קריסה למטרות ניפוי באגים וניתוח. בקטעים הבאים מוסבר איך להשבית את דיווח הקריסות ב-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());

קבלת גרסת הפלטפורמה

‫ for Unity תלוי ב-SDK של פלטפורמות Android ו-iOS. כדי לקבל את גרסת ה-SDK של הפלטפורמה, מריצים את הפקודה הבאה:

// Get the underlying platform SDK version.
Debug.Log("Platform SDK Version: " + MobileAds.GetPlatformVersion());