คู่มือนี้จะแสดงวิธีใช้ Google Mobile Ads SDK เพื่อโหลดและแสดงโฆษณาจาก Unity Ads โดยใช้สื่อกลาง ซึ่งครอบคลุมการผสานรวม Waterfall ซึ่งจะอธิบายวิธีเพิ่ม Unity Ads ลงในการกำหนดค่าสื่อกลางของหน่วยโฆษณา และวิธีผสานรวม Unity Ads SDK และอะแดปเตอร์ลงใน Flutter แอป
การผสานรวมและรูปแบบโฆษณาที่รองรับ
AdMob Mediation Adapter สําหรับ 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 ใน AdMob UI
กำหนดการตั้งค่าสื่อกลางสําหรับหน่วยโฆษณา
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 Mobile Ads สําหรับ 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 Mobile Ads สําหรับ 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
- การเผยแพร่ครั้งแรก
- ยืนยันความเข้ากันได้กับอะแดปเตอร์ Android ของ Unity เวอร์ชัน 4.10.0.0
- ยืนยันความเข้ากันได้กับอะแดปเตอร์ Unity iOS เวอร์ชัน 4.10.0.0
- สร้างและทดสอบด้วยปลั๊กอิน Flutter ของ Google Mobile Ads เวอร์ชัน 5.0.0