คู่มือนี้จะแสดงวิธีใช้ 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 ให้ไปที่โปรเจ็กต์ แล้วคลิกสร้างโปรเจ็กต์
กรอกแบบฟอร์มและคลิกสร้างโปรเจ็กต์เพื่อเพิ่มโปรเจ็กต์
ไปที่การสร้างรายได้ > เริ่มต้นใช้งาน แล้วคลิกเริ่มต้นใช้งาน
ในโมดัลการตั้งค่าโปรเจ็กต์ ให้เลือกฉันวางแผนที่จะใช้สื่อกลางและ Google AdMob สำหรับพาร์ทเนอร์สื่อกลาง แล้วคลิกถัดไป
เลือกการตั้งค่าโฆษณา แล้วคลิกถัดไป
กรอกแบบฟอร์มแล้วคลิกเพิ่มโปรเจ็กต์
จดรหัสเกมไว้
สร้างหน่วยโฆษณา
ไปที่การสร้างรายได้ > หน่วยโฆษณา แล้วคลิกเพิ่มหน่วยโฆษณา
ป้อนชื่อหน่วยโฆษณา แล้วเลือกแพลตฟอร์มและรูปแบบโฆษณา
Android
iOS
สุดท้าย ให้คลิกสร้างเพื่อบันทึกหน่วยโฆษณา
เพิ่มตําแหน่งโฆษณา
การเสนอราคา
ติดต่อผู้จัดการฝ่ายดูแลลูกค้าของ Google เพื่อสร้างตําแหน่งการเสนอราคา
น้ำตก
เมื่อสร้างโปรเจ็กต์แล้ว ให้ไปที่การสร้างรายได้ > ตําแหน่งโฆษณา หากต้องการสร้างตําแหน่งโฆษณาใหม่ ให้คลิกเพิ่มตําแหน่งโฆษณาสําหรับหน่วยโฆษณา
กรอกรายละเอียดที่จําเป็น แล้วคลิกเพิ่มตําแหน่งโฆษณา
จดรหัสตําแหน่งโฆษณาไว้
Android
iOS
ค้นหาคีย์ Unity Ads Reporting API
การเสนอราคา
ขั้นตอนนี้ไม่จําเป็นสำหรับการผสานรวมการเสนอราคา
น้ำตก
นอกจากรหัสเกมและรหัสตําแหน่งแล้ว คุณจะต้องมีคีย์ API และรหัสหลักขององค์กร Unity Ads สำหรับการตั้งค่ารหัสหน่วยโฆษณา AdMob ด้วย
ไปที่การสร้างรายได้ > การตั้งค่า > การจัดการ API และจดคีย์เข้าถึง Monetization Stats API
จากนั้นไปที่การสร้างรายได้ > การตั้งค่าองค์กร และจดรหัสหลักขององค์กรไว้
เปิดโหมดทดสอบ
คุณเปิดใช้โหมดทดสอบได้จากหน้าแดชบอร์ด Unity Ads เลือกแท็บการทดสอบในการตั้งค่าโปรเจ็กต์
คุณสามารถบังคับใช้โหมดทดสอบสําหรับแอปได้โดยคลิกปุ่มแก้ไขของแต่ละแพลตฟอร์ม เลือกลบล้างโหมดทดสอบไคลเอ็นต์ แล้วเลือกเปิดโหมดทดสอบ (ใช้โฆษณาทดสอบ) สําหรับอุปกรณ์ทั้งหมด
Android
iOS
หรือคุณจะเปิดใช้โหมดทดสอบสำหรับอุปกรณ์ที่เฉพาะเจาะจงได้โดยคลิกปุ่มเพิ่มอุปกรณ์ทดสอบ
กรอกแบบฟอร์มแล้วคลิกบันทึก
ขั้นตอนที่ 2: ตั้งค่าดีมานด์โฆษณา Unity Ads ใน UI ของ AdMob
กำหนดการตั้งค่าสื่อกลางสําหรับหน่วยโฆษณา
Android
โปรดดูวิธีการที่ขั้นตอนที่ 2 ในคู่มือสำหรับ Android
iOS
ดูวิธีการได้ที่ขั้นตอนที่ 2 ในคู่มือสำหรับ iOS
เพิ่ม Unity Ads ลงในรายชื่อพาร์ทเนอร์โฆษณาตาม GDPR และกฎระเบียบของรัฐในสหรัฐอเมริกา
ทําตามขั้นตอนในการตั้งค่า GDPR และการตั้งค่ากฎระเบียบของรัฐในสหรัฐอเมริกาเพื่อเพิ่ม Unity Ads ลงในรายชื่อพาร์ทเนอร์โฆษณา GDPR และกฎระเบียบของรัฐในสหรัฐอเมริกาใน UI ของ AdMob
ขั้นตอนที่ 3: นําเข้า SDK และอะแดปเตอร์ Unity Ads
การผสานรวมผ่าน pub.dev
เพิ่ม Dependency ต่อไปนี้ด้วย Unity Ads SDK และอะแดปเตอร์เวอร์ชันล่าสุดในไฟล์ pubspec.yaml
ของแพ็กเกจ
dependencies:
gma_mediation_unity: ^1.0.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: เพิ่มโค้ดที่จำเป็น
Android
ไม่ต้องใช้โค้ดเพิ่มเติมสำหรับการผสานรวม Unity Ads กับ Android
iOS
การผสานรวม SKAdNetwork
ทําตามเอกสารประกอบของ Unity Ads เพื่อเพิ่มตัวระบุ SKAdNetwork ลงในไฟล์ Info.plist
ของโปรเจ็กต์
ขั้นตอนที่ 6: ทดสอบการใช้งาน
เปิดใช้โฆษณาทดสอบ
ตรวจสอบว่าคุณได้ลงทะเบียนอุปกรณ์ทดสอบสำหรับ AdMob และเปิดใช้โหมดทดสอบใน UI ของ Unity Ads แล้ว
ยืนยันโฆษณาทดสอบ
หากต้องการยืนยันว่าคุณได้รับโฆษณาทดสอบจาก Unity Ads ให้เปิดใช้การทดสอบแหล่งที่มาของโฆษณาแหล่งเดียวในเครื่องมือตรวจสอบโฆษณาโดยใช้แหล่งที่มาของโฆษณา Unity Ads (การเสนอราคา) และ Unity Ads (การแสดงโฆษณาตามลำดับขั้น)
รหัสข้อผิดพลาด
หากอะแดปเตอร์ไม่ได้รับโฆษณาจาก 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 แสดงข้อผิดพลาด ดูรายละเอียดเพิ่มเติมที่ 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 |
iOS
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.1.0
- ยืนยันความเข้ากันได้กับอะแดปเตอร์ Unity Android เวอร์ชัน 4.12.3.0
- ยืนยันความเข้ากันได้กับอะแดปเตอร์ iOS ของ Unity เวอร์ชัน 4.12.3.1
- สร้างและทดสอบด้วยปลั๊กอิน Flutter ของ Google Mobile Ads เวอร์ชัน 5.2.0
เวอร์ชัน 1.0.0
- การเผยแพร่ครั้งแรก
- ยืนยันความเข้ากันได้กับอะแดปเตอร์ Unity Android เวอร์ชัน 4.10.0.0
- ยืนยันความเข้ากันได้กับอะแดปเตอร์ Unity iOS เวอร์ชัน 4.10.0.0
- สร้างและทดสอบด้วยปลั๊กอิน Flutter ของ Google Mobile Ads เวอร์ชัน 5.0.0