คู่มือนี้จะแสดงวิธีใช้ 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 > ตําแหน่งโฆษณา จากนั้นเลือกโปรเจ็กต์ แล้วคลิกเพิ่มหน่วยโฆษณา
ป้อนชื่อหน่วยโฆษณา แล้วเลือกแพลตฟอร์มและรูปแบบโฆษณา
เลือกการเสนอราคาสำหรับการตั้งค่า ในส่วนตําแหน่ง ให้ป้อนชื่อตําแหน่ง
จดรหัสตําแหน่งโฆษณาไว้
เลือกการแสดงโฆษณาสื่อกลางตามลำดับขั้นสําหรับการตั้งค่า ในส่วนตําแหน่ง ให้ป้อนชื่อตําแหน่ง การติดแท็กตามภูมิศาสตร์ และเป้าหมาย
จดรหัสตําแหน่งโฆษณาไว้
สุดท้าย ให้คลิกเพิ่มหน่วยโฆษณาเพื่อบันทึกหน่วยโฆษณาและตําแหน่ง
ค้นหาคีย์ Unity Ads Reporting API
ขั้นตอนนี้ไม่จําเป็นสําหรับการผสานรวมการเสนอราคา
ไปที่การสร้างรายได้ของ Unity Ads > การจัดการ API และจดบันทึกคีย์ API ในสิทธิ์เข้าถึง Monetization Stats API
จากนั้นไปที่การสร้างรายได้จาก Unity Ads > การตั้งค่าองค์กร และจดรหัสหลักขององค์กร
เปิดโหมดทดสอบ
คุณเปิดใช้โหมดทดสอบได้จากหน้าแดชบอร์ด Unity Ads ไปที่การสร้างรายได้จาก Unity Ads > การทดสอบ
คุณสามารถบังคับใช้โหมดทดสอบสําหรับแอปได้โดยคลิกปุ่มแก้ไขของแต่ละแพลตฟอร์ม เปิดใช้ลบล้างโหมดทดสอบไคลเอ็นต์ แล้วเลือกเปิดโหมดทดสอบ (ใช้โฆษณาทดสอบ) สําหรับอุปกรณ์ทั้งหมด
หรือคุณจะเปิดใช้โหมดทดสอบสำหรับอุปกรณ์ที่ต้องการได้โดยคลิกเพิ่มอุปกรณ์ทดสอบ
ป้อนรายละเอียดอุปกรณ์ทดสอบ แล้วคลิกบันทึก
ขั้นตอนที่ 2: ตั้งค่าดีมานด์โฆษณา Unity Ads ใน UI ของ AdMob
กำหนดการตั้งค่าสื่อกลางสําหรับหน่วยโฆษณา
โปรดดูวิธีการที่ขั้นตอนที่ 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 และ GDPR
ภายใต้นโยบายความยินยอมของผู้ใช้ 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: เพิ่มโค้ดที่จำเป็น
ไม่ต้องใช้โค้ดเพิ่มเติมสำหรับการผสานรวม Unity Ads กับ Android
การผสานรวม SKAdNetwork
ทําตามเอกสารประกอบของ Unity Ads เพื่อเพิ่มตัวระบุ SKAdNetwork ลงในไฟล์ Info.plist
ของโปรเจ็กต์
ขั้นตอนที่ 6: ทดสอบการใช้งาน
เปิดใช้โฆษณาทดสอบ
ตรวจสอบว่าคุณได้ลงทะเบียนอุปกรณ์ทดสอบสำหรับ AdMob และเปิดใช้โหมดทดสอบใน UI ของ Unity Ads แล้ว
ยืนยันโฆษณาทดสอบ
หากต้องการยืนยันว่าคุณได้รับโฆษณาทดสอบจาก Unity Ads ให้เปิดใช้การทดสอบแหล่งที่มาของโฆษณาแหล่งเดียวในเครื่องมือตรวจสอบโฆษณาโดยใช้แหล่งที่มาของโฆษณา Unity Ads (การเสนอราคา) และ Unity Ads (การแสดงโฆษณาตามลำดับขั้น)
รหัสข้อผิดพลาด
หากอะแดปเตอร์ไม่ได้รับโฆษณาจาก Unity Ads ผู้เผยแพร่โฆษณาจะตรวจสอบข้อผิดพลาดพื้นฐานจากการตอบกลับโฆษณาได้โดยใช้ ResponseInfo
ในคลาสต่อไปนี้
com.google.ads.mediation.unity.UnityAdapter
com.google.ads.mediation.unity.UnityMediationAdapter
GADMAdapterUnity
GADMediationAdapterUnity
ต่อไปนี้คือรหัสและข้อความที่แสดงโดยอะแดปเตอร์ UnityAds เมื่อโหลดโฆษณาไม่สําเร็จ
รหัสข้อผิดพลาด | เหตุผล |
---|---|
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
- การเผยแพร่ครั้งแรก
- รองรับ Unity Android Adapter เวอร์ชัน 4.10.0.0
- รองรับอะแดปเตอร์ Unity iOS เวอร์ชัน 4.10.0.0
- สร้างและทดสอบด้วยปลั๊กอิน Flutter ของ Google Mobile Ads เวอร์ชัน 5.0.0