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

คู่มือนี้จะแสดงวิธีใช้ 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 ของ 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