คลาส MobileAds มีการตั้งค่าส่วนกลางสำหรับ Google Mobile Ads SDK
แสดงเหตุการณ์โฆษณาในเธรดหลักของ Unity
Google Mobile Ads SDK จะแสดงเหตุการณ์ในเธรดอื่นที่ไม่ใช่เธรดหลักของ Unity หากคุณใช้เหตุการณ์โฆษณาและโต้ตอบกับออบเจ็กต์ Unity คุณ ต้องซิงค์เหตุการณ์ Google Mobile Ads SDK กับเธรดหลักของ Unity
ซิงค์เหตุการณ์โฆษณากับเธรดหลักของ Unity ด้วยตนเองหรือ โดยอัตโนมัติโดยให้ Google Mobile Ads SDK จัดการการซิงค์
แนะนำ: ซิงค์เหตุการณ์โฆษณาด้วยตนเอง
หากต้องการซิงค์เหตุการณ์โฆษณาด้วยตนเอง ให้ใช้เมธอด ExecuteInUpdate ในเธรดหลัก คุณต้องใช้เมธอด ExecuteInUpdate เมื่อโต้ตอบกับออบเจ็กต์ UnityEngine และขณะที่พร็อพเพอร์ตี้ RaiseAdEventsOnUnityMainThread ปิดอยู่
ตัวอย่างต่อไปนี้จะบันทึกเธรดเบื้องหลังและเรียกใช้การดำเนินการเพื่อโต้ตอบกับออบเจ็กต์ 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 จะช่วยให้โฆษณาวิดีโอ เล่นตามระดับเสียงที่ตั้งค่าไว้ในแอป ซึ่งจะช่วยให้ผู้ใช้ได้รับโฆษณาวิดีโอที่มีระดับเสียงตามที่คาดไว้
ระดับเสียงของอุปกรณ์ ซึ่งควบคุมผ่านปุ่มปรับระดับเสียงหรือแถบเลื่อนปรับระดับเสียงในระดับระบบปฏิบัติการ จะกำหนดระดับเสียงเอาต์พุตเสียงของอุปกรณ์ อย่างไรก็ตาม แอปสามารถปรับระดับเสียงโดยอิสระตามระดับเสียงของอุปกรณ์เพื่อปรับแต่งประสบการณ์การใช้งานเสียง
คุณสามารถรายงานระดับเสียงสัมพัทธ์ของแอปต่อ Google Mobile Ads SDK ได้โดยเรียกใช้
เมธอด SetApplicationVolume() ก่อนที่จะโหลดโฆษณา ค่าระดับเสียงโฆษณาที่ใช้ได้จะอยู่ในช่วง 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 เป็น 0 เพื่อเปิดใช้
โฆษณาแบบจำกัด
:
// Enable limited ads
ApplicationPreferences.SetInt("gad_has_consent_for_cookies", 0);
การลดขนาดโค้ดของ Android
ตัวเลือกการเผยแพร่ Unity นี้ช่วยให้คุณเปิดใช้ การลดขนาดโค้ด Java ได้ หากเปิดใช้การลดขนาดโค้ด คุณจะต้องสร้างไฟล์ Proguard ที่กำหนดเองเพื่อเก็บคลาสที่ SDK อ้างอิงไว้ด้วย
เปิดใช้ไฟล์ Proguard ที่กำหนดเอง
ไปที่ การตั้งค่าโปรเจ็กต์ > เพลเยอร์ > Android > การตั้งค่าการเผยแพร่ > สร้าง, แล้วเลือก
- ไฟล์ Proguard ที่กำหนดเอง
เปิด
/Assets/Plugins/Android/proguard-user.txtแล้วเพิ่มข้อมูลต่อไปนี้
-keep class com.google.** { public *; }
ปิดใช้การรายงานปัญหา
Google Mobile Ads SDK จะรวบรวมรายงานปัญหาเพื่อวัตถุประสงค์ในการแก้ไขข้อบกพร่องและการวิเคราะห์ คุณสามารถปิดใช้การรายงานปัญหาได้ด้วยโค้ดต่อไปนี้ ส่วนต่อไปนี้จะอธิบายวิธีปิดใช้การรายงานปัญหาใน 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 SDK สำหรับ Unity ขึ้นอยู่กับ SDK ของแพลตฟอร์ม Android และ iOS หากต้องการรับเวอร์ชัน SDK ของแพลตฟอร์ม ให้เรียกใช้คำสั่งต่อไปนี้
// Get the underlying platform SDK version.
Debug.Log("Platform SDK Version: " + MobileAds.GetPlatformVersion());