คลาส 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 ซึ่งเป็นระดับเสียงปัจจุบันของอุปกรณ์ และ
แอปจะไม่ปิดเสียง
ความยินยอมในการใช้คุกกี้
หากแอปมีข้อกำหนดพิเศษ คุณสามารถตั้งค่าคีย์ ApplicationPreferencesgad_has_consent_for_cookies ที่ไม่บังคับเป็น 0 เพื่อเปิดใช้โฆษณาแบบจำกัด
ได้
// Enable limited ads
ApplicationPreferences.SetInt("gad_has_consent_for_cookies", 0);
การลดขนาดโค้ดของ Android
ตัวเลือกการเผยแพร่ Unity นี้ช่วยให้คุณเปิดใช้การลดขนาดโค้ด Java ได้ หากเปิดใช้การลดขนาด คุณจะต้องสร้างไฟล์ Proguard ที่กำหนดเอง เพื่อเก็บคลาสที่ SDK อ้างอิงไว้ด้วย
เปิดใช้ไฟล์ Proguard ที่กำหนดเอง
ไปที่ การตั้งค่าโปรเจ็กต์ > Player > 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
หากต้องการดูเวอร์ชัน Unity SDK ให้เรียกใช้คำสั่งต่อไปนี้
// 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());