โฆษณาแบนเนอร์จะใช้พื้นที่ในเลย์เอาต์ของแอป ไม่ว่าจะอยู่ด้านบนหรือด้านล่างของหน้าจออุปกรณ์ โดยจะแสดงอยู่บนหน้าจอในระหว่างที่ผู้ใช้โต้ตอบกับแอป และสามารถรีเฟรชโดยอัตโนมัติหลังจากผ่านไประยะเวลาหนึ่ง
คู่มือนี้จะช่วยให้คุณเริ่มต้นใช้งาน โฆษณาแบนเนอร์แบบปรับขนาดได้ที่ตรึงไว้ แบนเนอร์แบบปรับขนาดได้ที่ตรึงไว้จะปรับขนาดโฆษณาให้เหมาะสมกับอุปกรณ์แต่ละเครื่องโดยใช้ความกว้างโฆษณาที่คุณระบุ
โฆษณาแบนเนอร์แบบปรับขนาดได้ที่ตรึงไว้เป็นโฆษณาที่มีสัดส่วนภาพคงที่ ไม่ใช่ โฆษณาที่มีขนาดคงที่ โดยมีสัดส่วนภาพคล้ายกับ 320x50 เมื่อคุณระบุความกว้างเต็มที่ที่มี Google Mobile Ads Flutter Plugin จะแสดงโฆษณาที่มีความสูงที่เหมาะสมกับความกว้างนั้น ความสูงที่เหมาะสมของโฆษณาจะยังคงที่ในคำขอโฆษณาต่างๆ และเนื้อหาโดยรอบโฆษณาจะคงที่เมื่อโฆษณารีเฟรช
ทดสอบด้วยโฆษณาทดสอบเสมอ
เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาทดสอบแทนโฆษณาจริง หากไม่ปฏิบัติตามข้อกำหนดดังกล่าวอาจส่งผลให้บัญชีถูกระงับ
วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบเฉพาะสำหรับแบนเนอร์
/21775744923/example/adaptive-banner
หน่วยโฆษณาทดสอบได้รับการกำหนดค่าให้แสดงโฆษณาทดสอบสำหรับทุกคำขอ และคุณสามารถใช้หน่วยโฆษณาเหล่านี้ในแอปของคุณเองได้อย่างอิสระขณะเขียนโค้ด ทดสอบ และแก้ไขข้อบกพร่อง เพียงตรวจสอบว่าได้แทนที่หน่วยโฆษณาทดสอบด้วยรหัสหน่วยโฆษณาของคุณเองก่อนที่จะเผยแพร่แอป
รับขนาดโฆษณา
แบนเนอร์แบบปรับขนาดได้ขนาดใหญ่มีรูปแบบที่ใหญ่ขึ้นซึ่งออกแบบมาสำหรับเลย์เอาต์ที่ไม่เลื่อน แบนเนอร์เหล่านี้มีความสูงสูงสุดมากกว่า (สูงสุด 20% ของความสูงหน้าจอ ระหว่าง 50 ถึง 150 dp) เมื่อเทียบกับแบนเนอร์แบบปรับขนาดได้ที่ตรึงไว้มาตรฐาน พื้นที่ที่เพิ่มขึ้นนี้ได้รับการปรับให้เหมาะกับเนื้อหาวิดีโอ
หากต้องการขอโฆษณาแบนเนอร์ที่มีขนาดโฆษณาที่ถูกต้อง ให้ทำตามขั้นตอนต่อไปนี้
รับความกว้างของหน้าจออุปกรณ์เป็นหน่วยความหนาแน่นของพิกเซลอิสระ (dp) โดยใช้
MediaQuery.of(context)หากไม่ต้องการใช้ความกว้างเต็มหน้าจอ คุณสามารถกำหนดความกว้างของคุณเองได้ใช้เมธอดแบบคงที่ที่เหมาะสมในคลาส
AdSizeเพื่อรับออบเจ็กต์AdSizeเช่น ใช้AdSize.getLargeAnchoredAdaptiveBannerAdSize(int width)เพื่อรับขนาดโฆษณาสำหรับการวางแนวปัจจุบัน
// Get an AnchoredAdaptiveBannerAdSize before loading the ad.
final size = await AdSize.getLargeAnchoredAdaptiveBannerAdSize(
MediaQuery.sizeOf(context).width.truncate(),
);
โหลดโฆษณา
ตัวอย่างต่อไปนี้จะโหลดโฆษณาแบนเนอร์
แทนที่ _adUnitId ด้วยรหัสหน่วยโฆษณาของคุณเอง
เหตุการณ์โฆษณาแบนเนอร์
คุณสามารถฟังเหตุการณ์วงจรการทำงาน เช่น เมื่อโหลดโฆษณาแล้ว ผ่านการใช้ AdManagerBannerAdListener ตัวอย่างนี้จะติดตั้งใช้งานแต่ละเมธอดและบันทึกข้อความลงในคอนโซล
onAdOpened: (Ad ad) {
// Called when an ad opens an overlay that covers the screen.
debugPrint("Ad was opened.");
},
onAdClosed: (Ad ad) {
// Called when an ad removes an overlay that covers the screen.
debugPrint("Ad was closed.");
},
onAdImpression: (Ad ad) {
// Called when an impression occurs on the ad.
debugPrint("Ad recorded an impression.");
},
onAdClicked: (Ad ad) {
// Called when an a click event occurs on the ad.
debugPrint("Ad was clicked.");
},
onAdWillDismissScreen: (Ad ad) {
// iOS only. Called before dismissing a full screen view.
debugPrint("Ad will be dismissed.");
},
รีเฟรชโฆษณา
หากกำหนดค่าหน่วยโฆษณาให้รีเฟรช คุณไม่จำเป็นต้องขอโฆษณาอื่นเมื่อโฆษณาโหลดไม่สำเร็จ Google Mobile Ads Flutter Plugin จะพิจารณาอัตราการรีเฟรช ที่คุณระบุไว้ใน UI ของ Ad Manager หากยังไม่ได้เปิดใช้การรีเฟรช ให้ส่งคำขอใหม่ ดูรายละเอียดเพิ่มเติมเกี่ยวกับการรีเฟรชหน่วยโฆษณา เช่น การตั้งค่าอัตราการรีเฟรชได้ที่ อัตราการรีเฟรชสำหรับโฆษณาในแอปบนอุปกรณ์เคลื่อนที่
แสดงโฆษณาแบนเนอร์
หากต้องการแสดง AdManagerBannerAd เป็นวิดเจ็ต คุณต้องสร้างอินสแตนซ์ AdWidget ด้วยโฆษณาที่รองรับหลังจากเรียก load() คุณสามารถสร้างวิดเจ็ตก่อนเรียก load() ได้ แต่ต้องเรียก load() ก่อนที่จะเพิ่มวิดเจ็ตลงในแผนผังวิดเจ็ต
AdWidget สืบทอดมาจากคลาส Widget ของ Flutter และสามารถใช้ได้เหมือนกับวิดเจ็ตอื่นๆ ใน iOS โปรดตรวจสอบว่าได้วางวิดเจ็ตในวิดเจ็ตที่มีความกว้างและความสูงที่ระบุ มิเช่นนั้น โฆษณาอาจไม่แสดง คุณสามารถวาง AdManagerBannerAd ในคอนเทนเนอร์ที่มีขนาดตรงกับโฆษณาได้ดังนี้
if (_bannerAd != null)
Align(
alignment: Alignment.bottomCenter,
child: SafeArea(
child: SizedBox(
width: _bannerAd!.size.width.toDouble(),
height: _bannerAd!.size.height.toDouble(),
child: AdWidget(ad: _bannerAd!),
),
),
),
คุณต้องยกเลิกการจัดสรรโฆษณาเมื่อไม่จำเป็นต้องเข้าถึงโฆษณาอีกต่อไป แนวทางปฏิบัติแนะนำสำหรับเวลาที่ควรเรียก dispose() คือหลังจากนำ AdWidget ออกจากแผนผังวิดเจ็ตแล้ว หรือใน Callback AdManagerBannerAdListener.onAdFailedToLoad()
เท่านี้ก็เรียบร้อย ตอนนี้แอปของคุณพร้อมที่จะแสดงโฆษณาแบนเนอร์แล้ว
ข้อจำกัดในการเลื่อนใน Android 9 และต่ำกว่า
เราทราบว่าอุปกรณ์รุ่นเก่าหรืออุปกรณ์ที่มีประสิทธิภาพต่ำกว่าบางเครื่องที่ใช้ Android 9 หรือ ต่ำกว่าอาจมี ประสิทธิภาพไม่ดีเท่าที่ควร เมื่อแสดงโฆษณาแบนเนอร์แทรกในบรรทัดภายในมุมมองการเลื่อน เราขอแนะนำให้ใช้แบนเนอร์ประเภทนี้ใน Android 10 ขึ้นไปเท่านั้น แบนเนอร์ตำแหน่งคงที่ เช่น แบนเนอร์ที่ตรึงไว้ จะไม่ได้รับผลกระทบและสามารถใช้ได้อย่างมีประสิทธิภาพสูงสุดใน Android API ทุกระดับ
ดูข้อมูลเกี่ยวกับแบนเนอร์ประเภทอื่นๆ
ทำความคุ้นเคยกับแบนเนอร์ประเภทอื่นๆ ที่กำหนดไว้ในส่วนนี้สำหรับแอปพลิเคชัน Flutter
แบนเนอร์แบบปรับขนาดได้ที่แทรกในบรรทัด
แบนเนอร์แบบปรับขนาดได้ที่แทรกในบรรทัดมีความสูงไม่คงที่และมีขนาดใหญ่กว่าแบนเนอร์แบบปรับขนาดได้ที่ตรึงไว้ เราขอแนะนำให้ใช้โฆษณาแบนเนอร์แบบปรับขนาดได้ที่แทรกในบรรทัดแทนโฆษณาแบนเนอร์แบบปรับขนาดได้ที่ตรึงไว้สำหรับแอปที่วางโฆษณาแบนเนอร์ในเนื้อหาที่เลื่อนได้ ดูรายละเอียดเพิ่มเติมได้ที่แบนเนอร์แบบปรับขนาดได้ที่แทรกในบรรทัด
แบนเนอร์แบบยุบได้
โฆษณาแบนเนอร์แบบยุบได้คือโฆษณาแบนเนอร์ที่แสดงเป็นโฆษณาซ้อนทับขนาดใหญ่ในตอนแรก โดยมีปุ่มสำหรับยุบโฆษณาให้มีขนาดเล็กลง ลองใช้แบนเนอร์นี้เพื่อเพิ่มประสิทธิภาพให้ดียิ่งขึ้น ดูรายละเอียดเพิ่มเติมได้ที่ โฆษณาแบนเนอร์แบบยุบได้