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

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

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

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

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

1 การผสานการเสนอราคาอยู่ในรุ่นเบต้าแบบเปิด

ข้อกำหนด

  • Google Mobile Ads SDK เวอร์ชันล่าสุด
  • Flutter 3.7.0 ขึ้นไป
  • [สําหรับการเสนอราคา]: หากต้องการผสานรวมรูปแบบโฆษณาที่รองรับทั้งหมดในการเสนอราคา ให้ใช้ปลั๊กอินสื่อกลาง Google Mobile Ads สําหรับ Unity Ads 3.11.1 ขึ้นไป (แนะนําให้ใช้เวอร์ชันล่าสุด)
  • วิธีทำให้ใช้งานได้ใน Android
    • Android API ระดับ 21 ขึ้นไป
  • วิธีติดตั้งใช้งานใน iOS
    • เป้าหมายการติดตั้งใช้งาน iOS 12.0 ขึ้นไป
  • โปรเจ็กต์ Flutter ที่ใช้งานได้ซึ่งกําหนดค่าด้วย SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google ดูรายละเอียดได้ที่หัวข้อเริ่มต้นใช้งาน
  • สื่อกลางเสร็จสมบูรณ์ คู่มือเริ่มต้นใช้งาน

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

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

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

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

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

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

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

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

เลือกการตั้งค่าตําแหน่ง แล้วคลิกถัดไป

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

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

สร้างหน่วยโฆษณาและตําแหน่งโฆษณา

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

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

AndroidiOS

เลือกการเสนอราคาสำหรับการตั้งค่า ในส่วนตําแหน่ง ให้ป้อนชื่อตําแหน่ง

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

เลือกการแสดงโฆษณาสื่อกลางตามลำดับขั้นสําหรับการตั้งค่า ในส่วนตําแหน่ง ให้ป้อนชื่อตําแหน่ง การติดแท็กตามภูมิศาสตร์ และเป้าหมาย

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

สุดท้าย ให้คลิกเพิ่มหน่วยโฆษณาเพื่อบันทึกหน่วยโฆษณาและตําแหน่ง

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

ขั้นตอนนี้ไม่จําเป็นสําหรับการผสานรวมการเสนอราคา

ไปที่การสร้างรายได้ของ Unity Ads > การจัดการ API และจดบันทึกคีย์ API ในสิทธิ์เข้าถึง Monetization Stats API

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

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

คุณเปิดใช้โหมดทดสอบได้จากหน้าแดชบอร์ด Unity Ads ไปที่การสร้างรายได้จาก Unity Ads > การทดสอบ

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

AndroidiOS

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

ป้อนรายละเอียดอุปกรณ์ทดสอบ แล้วคลิกบันทึก

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

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

AndroidiOS

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

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

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

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

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

การผสานรวมผ่าน pub.dev

เพิ่ม Dependency ต่อไปนี้ด้วย Unity Ads SDK และอะแดปเตอร์เวอร์ชันล่าสุดในไฟล์ pubspec.yaml ของแพ็กเกจ

dependencies:
  gma_mediation_unity: ^1.2.0

การผสานรวมด้วยตนเอง

ดาวน์โหลดปลั๊กอินสื่อกลางของ Google Mobile Ads เวอร์ชันล่าสุดสําหรับ Unity Ads แตกไฟล์ที่ดาวน์โหลดมา และเพิ่มโฟลเดอร์ปลั๊กอินที่แตกไฟล์แล้ว (และเนื้อหาในโฟลเดอร์) ลงในโปรเจ็กต์ Flutter จากนั้นอ้างอิงปลั๊กอินในไฟล์ pubspec.yaml โดยเพิ่มข้อกําหนดต่อไปนี้

dependencies:
  gma_mediation_unity:
    path: path/to/local/package

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

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

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

import 'package:gma_mediation_unity/gma_mediation_unity.dart';
// ...

GmaMediationUnity.setGDPRConsent(true);

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

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

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

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

import 'package:gma_mediation_unity/gma_mediation_unity.dart';
// ...

GmaMediationUnity.setCCPAConsent(true);

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

AndroidiOS

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

การผสานรวม SKAdNetwork

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

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

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

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

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

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

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

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

AndroidiOS
com.google.ads.mediation.unity.UnityAdapter
com.google.ads.mediation.unity.UnityMediationAdapter
GADMAdapterUnity
GADMediationAdapterUnity

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

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

บันทึกการเปลี่ยนแปลงของ Unity Ads Flutter Mediation Adapter

เวอร์ชัน 1.2.0

  • สร้างและทดสอบด้วยปลั๊กอิน Flutter ของ Google Mobile Ads เวอร์ชัน 5.3.1

เวอร์ชัน 1.1.0

  • สร้างและทดสอบด้วยปลั๊กอิน Flutter ของ Google Mobile Ads เวอร์ชัน 5.2.0

เวอร์ชัน 1.0.0

  • สร้างและทดสอบด้วยปลั๊กอิน Flutter ของ Google Mobile Ads เวอร์ชัน 5.0.0