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

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

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

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

การผสานรวม
การเสนอราคา
น้ำตก
รูปแบบ
แบนเนอร์
โฆษณาคั่นระหว่างหน้า
ได้รับรางวัลแล้ว

ข้อกำหนด

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

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

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

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

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

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

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

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

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

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

จดรหัสเกมไว้

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

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

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

Android

iOS

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

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

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

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

โปรดจดรหัสตำแหน่งไว้

Android

iOS

เรียกดูข้อมูลเข้าสู่ระบบของคุณ

นอกเหนือจากรหัสเกมและรหัสตำแหน่งแล้ว คุณยังต้องใช้คีย์ API สำหรับ Unity Ads และรหัสหลักขององค์กรในการตั้งค่าAd Manager รหัสหน่วยโฆษณาด้วย

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

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

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

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

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

Android

iOS

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

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

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

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

Android

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

iOS

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

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

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

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

ดาวน์โหลดปลั๊กอินสื่อกลางโฆษณาในอุปกรณ์เคลื่อนที่ของ 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 ผ่านแผงบริการ เครื่องมือจัดการแพ็กเกจ หรือที่เก็บเนื้อหา แสดงว่าคุณมีสำเนา SDK ของ Unity Ads สำหรับ Android ในแอปแล้ว เพื่อหลีกเลี่ยงปัญหาเกี่ยวกับสัญลักษณ์ที่ซ้ำกันเมื่อสร้างสำหรับ 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() โค้ดตัวอย่างต่อไปนี้แสดงวิธีส่งข้อมูลความยินยอมไปยัง Unity Ads SDK หากคุณเลือกเรียกใช้เมธอดนี้ เราขอแนะนำให้คุณดำเนินการก่อนที่จะขอโฆษณาผ่าน SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google

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

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

ดูรายละเอียดเพิ่มเติมและค่าที่ระบุไว้ในแต่ละวิธีได้ที่ความยินยอมด้านความเป็นส่วนตัวและ API ข้อมูลของ Unity Ads

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

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

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

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

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

ดูรายละเอียดเพิ่มเติมและค่าที่ระบุไว้ในแต่ละวิธีได้ที่ความยินยอมด้านความเป็นส่วนตัวและ API ข้อมูลของ Unity Ads

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

Android

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

iOS

การผสานรวม SKAdNetwork

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

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

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

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

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

อย่าลืม ลงทะเบียนอุปกรณ์ทดสอบ สำหรับ Ad Manager และเปิดใช้โหมดทดสอบใน 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 ที่เรียกว่า โค้ดเรียกกลับที่เปลี่ยนตำแหน่งด้วยสถานะตำแหน่ง kUnityAdsPositionStateNoFill
107 UnityAds ที่เรียกว่า ตำแหน่ง ที่เปลี่ยนโค้ดเรียกกลับโดยมีสถานะตำแหน่ง kUnityAdsPositionStateDisabled
108 โหลดโฆษณาสำหรับตำแหน่งนี้แล้ว UnityAds SDK ไม่รองรับการโหลดโฆษณาหลายรายการสำหรับตำแหน่งเดียวกัน

บันทึกการเปลี่ยนแปลงของปลั๊กอิน Unity Mediation ใน Unity

เวอร์ชัน 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