המחלקה MobileAds מספקת הגדרות גלובליות ל-Google Mobile Ads Unity Plugin.
הפעלת אירועי מודעות ב-main thread של Unity
Google Mobile Ads Unity Plugin מעלה אירועים בשרשור שונה מהשרשור הראשי של Unity. אם אתם מטמיעים אירועי מודעות ומקיימים אינטראקציה עם אובייקטים של Unity, אתם צריכים לסנכרן את האירועים של Google Mobile Ads Unity Plugin עם ה-main thread של Unity.
סנכרנו אירועי מודעות עם ה-main thread של Unity באופן ידני, או באופן אוטומטי על ידי מתן הרשאה ל-Google Mobile Ads Unity Plugin לטפל בסנכרון.
מומלץ: סנכרון ידני של אירועי מודעות
כדי לסנכרן אירועי מודעות באופן ידני, משתמשים ב-method ExecuteInUpdate ב-thread הראשי. צריך להשתמש ב-method 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 על ידי קריאה ל-method 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 לאפס כדי להפעיל מודעות מוגבלות:
// 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
כדי לקבל את גרסת ה-SDK של Unity, מריצים את הפקודה הבאה:
// 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());