ผสานรวม Unity Ads กับสื่อกลาง

คู่มือนี้แสดงวิธีใช้ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เพื่อโหลดและแสดง โฆษณาจาก Unity Ads โดยใช้สื่อกลาง ซึ่งครอบคลุมการผสานรวม Waterfall ซึ่งครอบคลุมถึงวิธีเพิ่ม Unity Ads ลงใน การกำหนดค่าสื่อกลาง และวิธีผสานรวม SDK โฆษณา Unity และอะแดปเตอร์ แอป Unity

การผสานรวมและรูปแบบโฆษณาที่รองรับ

AdMob อะแดปเตอร์สื่อกลางสำหรับ Unity Ads มี ความสามารถต่อไปนี้

การผสานรวม
การเสนอราคา  1
น้ำตก
รูปแบบ
แบนเนอร์
โฆษณาคั่นระหว่างหน้า
ได้รับรางวัลแล้ว
1 การผสานรวมการเสนอราคาปิดอยู่ เบต้า ให้ติดต่อผู้จัดการฝ่ายดูแลลูกค้าเพื่อขอสิทธิ์เข้าถึง

ข้อกำหนด

  • SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เวอร์ชันล่าสุด
  • Unity 4 ขึ้นไป
  • เพื่อทำให้ใช้งานได้ใน Android
    • API ของ Android ระดับ 21 ขึ้นไป
  • เพื่อทำให้ใช้งานได้บน iOS
    • เป้าหมายการติดตั้งใช้งาน iOS 12.0 ขึ้นไป
  • โปรเจ็กต์ที่ Unity กำลังทำงานซึ่งกำหนดค่าด้วย Google SDK โฆษณาในอุปกรณ์เคลื่อนที่ โปรดดู เริ่มต้นใช้งานเพื่อดูรายละเอียด
  • ดำเนินการสื่อกลางให้เสร็จสิ้น คู่มือเริ่มต้นใช้งาน

ขั้นตอนที่ 1: กำหนดค่าใน UI ของ Unity Ads

ลงชื่อสมัครใช้หรือเข้าสู่ระบบ Unity Ads

สร้างโปรเจ็กต์

ในแดชบอร์ด Unity Ads ให้ไปที่โปรเจ็กต์ แล้วคลิกสร้างโปรเจ็กต์

กรอกแบบฟอร์มแล้วคลิกสร้างโปรเจ็กต์เพื่อเพิ่มโปรเจ็กต์

ไปที่การสร้างรายได้ > เริ่มต้นใช้งาน แล้วคลิกเริ่มต้นใช้งาน

ในโมดัลการตั้งค่าโครงการ ให้เลือกฉันวางแผนจะใช้สื่อกลาง และ Google AdMob สำหรับพาร์ทเนอร์สื่อกลาง แล้วคลิกถัดไป

เลือกการตั้งค่าโฆษณา แล้วคลิกถัดไป

กรอกแบบฟอร์มแล้วคลิกเพิ่มโปรเจ็กต์

จดบันทึกรหัสเกม

สร้างหน่วยโฆษณา

ไปที่การสร้างรายได้ > หน่วยโฆษณา แล้วคลิกเพิ่มหน่วยโฆษณา

ป้อนชื่อหน่วยโฆษณา แล้วเลือกแพลตฟอร์มและรูปแบบโฆษณา

Android

iOS

สุดท้าย คลิกสร้างเพื่อบันทึกหน่วยโฆษณา

เพิ่มตำแหน่ง

การเสนอราคา

ติดต่อผู้จัดการฝ่ายดูแลลูกค้า Unity Ads เพื่อสร้างตำแหน่งการเสนอราคา

น้ำตก

เมื่อสร้างโปรเจ็กต์แล้ว ให้ไปที่การสร้างรายได้ > ตำแหน่งโฆษณา หากต้องการสร้างตำแหน่งใหม่ ให้คลิกเพิ่มตำแหน่งสำหรับหน่วยโฆษณา

กรอกรายละเอียดที่จำเป็นแล้วคลิกเพิ่มตำแหน่ง

จดรหัสตำแหน่งโฆษณาไว้

Android

iOS

ค้นหาคีย์ Unity Ads Reporting API

การเสนอราคา

ซึ่งไม่จำเป็นต้องทำขั้นตอนนี้สำหรับการผสานรวมการเสนอราคา

น้ำตก

นอกจากรหัสเกมและรหัสตำแหน่งแล้ว คุณจะต้องมีคีย์ API โฆษณา Unity และรหัสหลักขององค์กร เพื่อตั้งค่าAdMob รหัสหน่วยโฆษณา

ไปที่การสร้างรายได้ > การตั้งค่า > การจัดการ API แล้วบันทึกคีย์การเข้าถึง API ของการสร้างรายได้

จากนั้นไปที่การสร้างรายได้ > การตั้งค่าองค์กร และจดรหัสหลักขององค์กร

เปิดโหมดทดสอบ

คุณเปิดใช้โหมดทดสอบได้จากแดชบอร์ด Unity Ads เลือกแท็บการทดสอบในการตั้งค่าโปรเจ็กต์

คุณบังคับใช้โหมดทดสอบสำหรับแอปได้โดยคลิกปุ่มแก้ไขของแต่ละแพลตฟอร์ม เลือกลบล้างโหมดการทดสอบไคลเอ็นต์ แล้วเลือก บังคับให้เปิดโหมดทดสอบ (ใช้โฆษณาทดสอบ) สำหรับอุปกรณ์ทั้งหมด

Android

iOS

หรือคุณจะเปิดใช้โหมดทดสอบสำหรับอุปกรณ์ที่เจาะจงโดยคลิกปุ่มเพิ่มอุปกรณ์ทดสอบก็ได้

กรอกแบบฟอร์มแล้วคลิกบันทึก

ขั้นตอนที่ 2: ตั้งค่าดีมานด์โฆษณา Unity ใน AdMob UI

กำหนดการตั้งค่าสื่อกลางสำหรับหน่วยโฆษณา

Android

ดูวิธีการได้ที่ขั้นตอนที่ 2 ในคู่มือสําหรับ Android

iOS

โปรดดูวิธีการในขั้นตอนที่ 2 ในคู่มือสำหรับ iOS

เพิ่ม Unity Ads ลงในรายชื่อพาร์ทเนอร์โฆษณาตาม GDPR และกฎระเบียบของรัฐในสหรัฐอเมริกา

ทำตามขั้นตอนใน การตั้งค่า GDPR และ การตั้งค่ากฎระเบียบของรัฐในสหรัฐอเมริกา เพื่อเพิ่ม Unity Ads ลงในรายชื่อพาร์ทเนอร์โฆษณาตามกฎระเบียบ GDPR และกฎระเบียบของรัฐในสหรัฐอเมริกาใน AdMob

ขั้นตอนที่ 3: นำเข้า SDK โฆษณา Unity และอะแดปเตอร์

ดาวน์โหลดปลั๊กอินสื่อกลางโฆษณาบนอุปกรณ์เคลื่อนที่ของ Google สำหรับ Unity Ads จากลิงก์ดาวน์โหลดใน Changelog และดึงข้อมูล GoogleMobileAdsUnityAdsMediation.unitypackage จากไฟล์ zip

ในเครื่องมือแก้ไขโปรเจ็กต์ Unity ให้เลือกเนื้อหา > นำเข้าแพ็กเกจ > กำหนดเอง แพ็กเกจ แล้วเลือกไฟล์ GoogleMobileAdsUnityAdsMediation.unitypackage ที่คุณดาวน์โหลด ตรวจสอบว่าได้เลือกไฟล์ทั้งหมดแล้ว และคลิกนำเข้า

จากนั้นเลือกชิ้นงาน > ตัวแก้ไขบริการ Google Play > รีโซลเวอร์ Android > แรง แก้ปัญหา ไลบรารีตัวแปลค่าบริการ Unity Play จะดำเนินการ Dependency แก้ไขตั้งแต่ต้นและคัดลอกทรัพยากร Dependency ที่ประกาศไว้ไปยัง ไดเรกทอรี Assets/Plugins/Android ของแอป Unity

การใช้อะแดปเตอร์ Unity กับบริการ Unity Ads

หากคุณผสานรวมกับ Unity Ads SDK ผ่านแผงบริการ แพ็กเกจ Manager หรือ Asset Store แล้ว แสดงว่าคุณมีสำเนาของ Unity Ads Android อยู่แล้ว SDK ในแอปของคุณ เพื่อหลีกเลี่ยงปัญหาสัญลักษณ์ซ้ำกันเมื่อสร้าง Android คุณจะต้องนำการอ้างอิงไปยัง Unity Ads SDK ออก

อัปเดตไฟล์ Assets/GoogleMobileAds/Editor/UnityMediationDependencies.xml และนำทรัพยากร Dependency ของ Unity Ads SDK ออก

<!-- If using the Unity Ads Service from Unity3D, comment out this dependency to
avoid including the Unity Ads Android SDK twice. -->
<androidPackage spec="com.unity3d.ads:unity-ads:x.y.z">
  <repositories>
    <repository>https://repo.maven.apache.org/maven2/</repository>
  </repositories>
</androidPackage>

ขั้นตอนที่ 4: ใช้การตั้งค่าความเป็นส่วนตัวบน Unity Ads SDK

ภายใต้ความยินยอมของผู้ใช้ EU ของ Google คุณต้องตรวจสอบว่าได้มีการเปิดเผยข้อมูลบางอย่าง และ ความยินยอมที่ได้รับจาก ผู้ใช้ในเขตเศรษฐกิจยุโรป (EEA) เกี่ยวกับ การใช้ตัวระบุอุปกรณ์และข้อมูลส่วนตัว นโยบายนี้เป็นไปตาม ข้อกำหนดด้าน ePrivacy และการคุ้มครองข้อมูลทั่วไปของสหภาพยุโรป กฎระเบียบ (GDPR) เมื่อขอความยินยอม คุณต้องระบุเครือข่ายโฆษณาแต่ละเครือข่าย ในเชนสื่อกลางที่อาจรวบรวม ได้รับ หรือใช้ข้อมูลส่วนตัว และ ให้ข้อมูลเกี่ยวกับการใช้งานของแต่ละเครือข่าย ขณะนี้ Google ไม่สามารถ ส่งต่อตัวเลือกความยินยอมของผู้ใช้ไปยังเครือข่ายดังกล่าวโดยอัตโนมัติ

ปลั๊กอินสื่อกลางโฆษณาบนอุปกรณ์เคลื่อนที่ของ Google สำหรับ Unity Ads เวอร์ชัน 3.3.0 วันที่ ประกอบด้วย UnityAds.SetConsentMetaData() โค้ดตัวอย่างต่อไปนี้แสดงวิธีส่งข้อมูลความยินยอมไปยัง SDK โฆษณา Unity หากคุณเลือกที่จะเรียกใช้วิธีนี้ ขอแนะนำให้ทำ ก่อนที่จะขอโฆษณาผ่าน SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google

using GoogleMobileAds.Api.Mediation.UnityAds;
// ...

UnityAds.SetConsentMetaData("gdpr.consent", true);

ดู Unity Ads Privacy Consent และ Data API และ การปฏิบัติตาม GDPR สําหรับรายละเอียดเพิ่มเติมและค่าที่ระบุในแต่ละวิธีได้

กฎหมายคุ้มครองความเป็นส่วนตัวของรัฐในสหรัฐอเมริกา

สหรัฐอเมริกา กฎหมายคุ้มครองความเป็นส่วนตัวของรัฐ ต้องให้ผู้ใช้ได้รับ เพื่อเลือกไม่ใช้ "การลดราคา" ของ "ข้อมูลส่วนบุคคล" (ตามที่กฎหมายให้คำจำกัดความ ข้อกำหนดดังกล่าว) โดยการเลือกไม่ใช้ที่นำเสนอผ่านโฆษณาว่า "อย่าขายข้อมูลส่วนบุคคลของฉัน" ที่เห็นได้ชัด ข้อมูล" ลิงก์ใน "การขาย" หน้าแรกของพรรคการเมือง สหรัฐอเมริกา สถานะความเป็นส่วนตัว คู่มือการปฏิบัติตามกฎหมายช่วยให้คุณ การประมวลผลข้อมูลแบบจำกัด สําหรับการแสดงโฆษณาของ Google แต่ Google ใช้การตั้งค่านี้กับโฆษณาแต่ละรายการไม่ได้ เครือข่ายในเชนสื่อกลาง (Mediation Chain) ดังนั้น คุณต้องระบุเครือข่ายโฆษณาแต่ละเครือข่าย ในเชนสื่อกลางที่สามารถเข้าร่วมการขาย และปฏิบัติตามคำแนะนำ จากเครือข่ายเหล่านั้นแต่ละเครือข่ายเพื่อ การปฏิบัติตามข้อกำหนด

ปลั๊กอินสื่อกลางโฆษณาบนอุปกรณ์เคลื่อนที่ของ Google สำหรับ Unity Ads เวอร์ชัน 3.3.0 วันที่ ประกอบด้วย UnityAds.SetConsentMetaData() โค้ดตัวอย่างต่อไปนี้แสดงวิธีส่งข้อมูลความยินยอมไปยัง SDK โฆษณา Unity หากคุณเลือกที่จะเรียกใช้วิธีนี้ ขอแนะนำให้ทำ ก่อนที่จะขอโฆษณาผ่าน SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google

using GoogleMobileAds.Api.Mediation.UnityAds;
// ...

UnityAds.SetConsentMetaData("privacy.consent", true);

ดู Unity Ads Privacy Consent และ Data API และ การปฏิบัติตาม CCPA สําหรับรายละเอียดเพิ่มเติมและค่าที่ระบุในแต่ละวิธีได้

ขั้นตอนที่ 5: เพิ่มโค้ดที่จําเป็น

Android

ไม่ต้องใช้โค้ดเพิ่มเติมสำหรับการผสานรวม Unity Ads สำหรับ Android

iOS

การผสานรวม SKAdNetwork

ติดตาม Unity Ads' เอกสารประกอบ เพื่อเพิ่มตัวระบุ SKAdNetwork ลงในไฟล์ Info.plist ของโปรเจ็กต์

คอมไพล์ข้อผิดพลาด

สำหรับอะแดปเตอร์ Unity Ads 3.4.0 ขึ้นไป คุณต้องทำตามขั้นตอนการผสานรวม ในเอกสารประกอบของ Unity

ขั้นตอนที่ 6: ทดสอบการใช้งาน

เปิดใช้โฆษณาทดสอบ

อย่าลืม ลงทะเบียนอุปกรณ์ทดสอบ สำหรับ AdMob และเปิดใช้โหมดทดสอบใน Unity Ads UI

ยืนยันโฆษณาทดสอบ

ในการยืนยันว่าคุณได้รับโฆษณาทดสอบจาก Unity Ads ให้เปิดใช้ การทดสอบแหล่งที่มาของโฆษณาแหล่งเดียว ในเครื่องมือตรวจสอบโฆษณาโดยใช้ Unity Ads (Waterfall) แหล่งที่มาของโฆษณา

รหัสข้อผิดพลาด

หากอะแดปเตอร์ไม่ได้รับโฆษณาจาก Unity Ads ผู้เผยแพร่โฆษณาสามารถตรวจสอบ ข้อผิดพลาดสำคัญจากการตอบกลับโฆษณาโดยใช้ ResponseInfo ภายใต้ ชั้นเรียนต่อไปนี้

Android

com.google.ads.mediation.unity.UnityAdapter
com.google.ads.mediation.unity.UnityMediationAdapter

iOS

GADMAdapterUnity
GADMediationAdapterUnity

ต่อไปนี้เป็นรหัสและข้อความประกอบที่อะแดปเตอร์ UnityAds ส่งเมื่อ โฆษณาไม่โหลด:

Android

รหัสข้อผิดพลาด เหตุผล
0-10 UnityAds SDK แสดงข้อผิดพลาด ดูรหัส เพื่อดูรายละเอียดเพิ่มเติม
101 พารามิเตอร์เซิร์ฟเวอร์ UnityAds ที่กำหนดค่าใน UI ของ AdMob ขาดหายไป/ไม่ถูกต้อง
102 UnityAds แสดงผลตำแหน่งที่มีสถานะ NO_FILL
103 UnityAds แสดงผลตำแหน่งที่มีสถานะ "ปิดใช้"
104 UnityAds พยายามแสดงโฆษณาที่มีบริบทเป็นค่าว่าง
105 บริบทที่ใช้ในการเริ่มต้น โหลด และ/หรือแสดงโฆษณาจาก Unity Ads ไม่ถือเป็นอินสแตนซ์กิจกรรม
106 UnityAds พยายามแสดงโฆษณาที่ไม่พร้อมแสดง
107 อุปกรณ์ไม่รองรับ UnityAds
108 UnityAds โหลดโฆษณาได้เพียง 1 รายการต่อตำแหน่งเท่านั้น
109 UnityAds ดำเนินการเสร็จสิ้นโดยมีสถานะ ERROR
200-204 ข้อผิดพลาดที่เฉพาะเจาะจงของแบนเนอร์ UnityAds ดูรหัส เพื่อดูรายละเอียดเพิ่มเติม

iOS

0-9 UnityAds SDK แสดงข้อผิดพลาด ดูเอกสารประกอบของ Unity เพื่อดูรายละเอียดเพิ่มเติม
101 พารามิเตอร์เซิร์ฟเวอร์ UnityAds ที่กำหนดค่าใน UI ของ AdMob ขาดหายไป/ไม่ถูกต้อง
102 UnityAds ไม่รองรับอุปกรณ์นี้
103 UnityAds นำเสนอเสร็จพร้อมสถานะข้อผิดพลาด kUnityAdsFinishStateError แล้ว
104 ออบเจ็กต์โฆษณา Unity เป็นค่าว่างหลังจากเรียกใช้เครื่องมือเริ่มต้น
105 แสดงโฆษณา Unity ไม่สำเร็จเนื่องจากโฆษณาไม่พร้อมใช้งาน
106 UnityAds ที่เรียกว่าตำแหน่งโฆษณาเปลี่ยน Callback ด้วยสถานะตำแหน่งโฆษณา kUnityAdsplacementStateNoFill
107 UnityAds ที่เรียกว่าตำแหน่งโฆษณาเปลี่ยน Callback ด้วยสถานะตำแหน่งโฆษณา kUnityAdsplacementStateDisabled
108 โหลดโฆษณาสำหรับตำแหน่งนี้แล้ว UnityAds SDK ไม่รองรับการโหลดโฆษณาหลายรายการสำหรับตำแหน่งเดียวกัน

บันทึกการเปลี่ยนแปลงปลั๊กอินสื่อกลาง Unity Ads Unity

เวอร์ชันถัดไป

  • เปลี่ยนชื่อ DummyClient เป็น PlaceholderClient แล้ว

เวอร์ชัน 3.12.1

เวอร์ชัน 3.12.0

เวอร์ชัน 3.11.1

เวอร์ชัน 3.11.0

เวอร์ชัน 3.10.0

เวอร์ชัน 3.9.1

เวอร์ชัน 3.9.0

เวอร์ชัน 3.8.0

เวอร์ชัน 3.7.1

เวอร์ชัน 3.7.0

เวอร์ชัน 3.6.1

เวอร์ชัน 3.6.0

เวอร์ชัน 3.5.0

เวอร์ชัน 3.4.1

เวอร์ชัน 3.4.0

เวอร์ชัน 3.3.0

เวอร์ชัน 3.2.1

เวอร์ชัน 3.2.0

เวอร์ชัน 3.1.0

เวอร์ชัน 3.0.1

เวอร์ชัน 3.0.0

เวอร์ชัน 2.7.2

เวอร์ชัน 2.7.1

เวอร์ชัน 2.7.0

เวอร์ชัน 2.6.0

เวอร์ชัน 2.5.1

เวอร์ชัน 2.5.0

เวอร์ชัน 2.4.7

เวอร์ชัน 2.4.6

เวอร์ชัน 2.4.5

เวอร์ชัน 2.4.4

เวอร์ชัน 2.4.3

เวอร์ชัน 2.4.2

เวอร์ชัน 2.4.1

เวอร์ชัน 2.4.0

เวอร์ชัน 2.3.0

เวอร์ชัน 2.2.0

เวอร์ชัน 2.1.0

  • รองรับอะแดปเตอร์ Android Unity Ads เวอร์ชัน 3.1.0.0
  • รองรับอะแดปเตอร์ Unity Ads iOS เวอร์ชัน 3.1.0.0

เวอร์ชัน 2.0.3

  • อัปเดตปลั๊กอินให้รองรับ มีการให้รางวัล API เวอร์ชันเบต้าแบบเปิดใหม่
  • เพิ่มการรองรับโฆษณาแบนเนอร์
  • รองรับอะแดปเตอร์ Android Unity Ads เวอร์ชัน 3.0.0.2
  • รองรับอะแดปเตอร์ Unity Ads iOS เวอร์ชัน 3.0.0.3

เวอร์ชัน 2.0.2

  • รองรับอะแดปเตอร์ Android Unity Ads เวอร์ชัน 3.0.0.0
  • รองรับอะแดปเตอร์ Unity Ads iOS เวอร์ชัน 3.0.0.1

เวอร์ชัน 2.0.1

  • แก้ไข "ประเภทที่ใช้ร่วมกันไม่ได้" ซึ่งก่อให้เกิดปัญหาเมื่อสร้างสำหรับ iOS

เวอร์ชัน 2.0.0

  • รองรับอะแดปเตอร์ Android Unity Ads เวอร์ชัน 3.0.0.0
  • รองรับอะแดปเตอร์ Unity Ads iOS เวอร์ชัน 3.0.0.0

เวอร์ชัน 1.2.0

  • รองรับอะแดปเตอร์ Android Unity Ads เวอร์ชัน 2.3.0.0
  • รองรับอะแดปเตอร์ Unity Ads iOS เวอร์ชัน 2.3.0.0

เวอร์ชัน 1.1.3

  • รองรับอะแดปเตอร์ Android Unity Ads เวอร์ชัน 2.2.1.0
  • รองรับอะแดปเตอร์ Unity Ads iOS เวอร์ชัน 2.2.1.0

เวอร์ชัน 1.1.2

  • รองรับ Unity Ads Android SDK เวอร์ชัน 2.2.0
  • รองรับ Unity Ads iOS SDK เวอร์ชัน 2.2.0
  • เพิ่มวิธีการ UnityAds.SetGdprConsentMetaData() ในการส่งคำขอให้ผู้ใช้เลือกใช้การโฆษณาที่กำหนดเป้าหมายด้วยตนเอง

เวอร์ชัน 1.1.1

  • รองรับ Unity Ads Android SDK เวอร์ชัน 2.2.0
  • รองรับ Unity Ads iOS SDK เวอร์ชัน 2.2.1

เวอร์ชัน 1.1.0

  • รองรับ Unity Ads Android SDK เวอร์ชัน 2.2.0
  • รองรับ Unity Ads iOS SDK เวอร์ชัน 2.2.0

เวอร์ชัน 1.0.0

  • เปิดตัวครั้งแรก
  • รองรับ Unity Ads Android SDK เวอร์ชัน 2.1.2
  • รองรับ Unity Ads iOS SDK เวอร์ชัน 2.1.2