คลาส MobileAds มีการตั้งค่าส่วนกลางสำหรับ
แสดงเหตุการณ์โฆษณาในเธรดหลักของ Unity
แสดงเหตุการณ์ในเธรดอื่นที่ไม่ใช่เธรดหลักของ Unity หากคุณใช้เหตุการณ์โฆษณาและโต้ตอบกับออบเจ็กต์ Unity คุณ จะต้องซิงค์เหตุการณ์กับเธรดหลักของ Unity
ซิงค์เหตุการณ์โฆษณากับเธรดหลักของ Unity ด้วยตนเองหรือ โดยอัตโนมัติโดยให้ SDK จัดการการซิงค์
แนะนำ: ซิงค์เหตุการณ์โฆษณาด้วยตนเอง
หากต้องการซิงค์เหตุการณ์โฆษณาด้วยตนเอง ให้ใช้เมธอด 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;
}
}
การควบคุมระดับเสียงของโฆษณาวิดีโอ
หากแอปของคุณมีการควบคุมระดับเสียงในตัว เช่น ระดับเสียงเพลงหรือเอฟเฟ็กต์เสียงที่กำหนดเอง การเปิดเผยระดับเสียงของแอปต่อ SDK จะช่วยให้โฆษณาวิดีโอ เล่นตามระดับเสียงที่ตั้งค่าไว้ในแอป ซึ่งจะช่วยให้ผู้ใช้ได้ยินเสียงโฆษณาวิดีโออย่างที่ควรจะเป็น
ระดับเสียงของอุปกรณ์ซึ่งควบคุมผ่านปุ่มปรับระดับเสียงหรือแถบเลื่อนปรับระดับเสียงในระดับระบบปฏิบัติการจะเป็นตัวกำหนดระดับเสียงเอาต์พุตเสียงของอุปกรณ์ อย่างไรก็ตาม แอปสามารถปรับระดับเสียงเทียบกับระดับเสียงของอุปกรณ์ได้อย่างอิสระเพื่อปรับแต่งประสบการณ์การใช้งานเสียง
คุณสามารถรายงานระดับเสียงของแอปเทียบกับระดับเสียงของอุปกรณ์ต่อ 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 *; }
ปิดใช้การรายงานปัญหา
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());
รับเวอร์ชันแพลตฟอร์ม
SDK สำหรับ Unity ขึ้นอยู่กับ SDK ของแพลตฟอร์ม Android และ iOS หากต้องการรับเวอร์ชัน SDK ของแพลตฟอร์ม ให้เรียกใช้คำสั่งต่อไปนี้
// Get the underlying platform SDK version.
Debug.Log("Platform SDK Version: " + MobileAds.GetPlatformVersion());