ตั้งค่าโฆษณาแบนเนอร์

เลือกแพลตฟอร์ม: Android ใหม่ Android iOS Unity Flutter

มุมมองแบนเนอร์คือโฆษณาแบบรูปภาพหรือข้อความรูปสี่เหลี่ยมผืนผ้าที่ใช้พื้นที่บนหน้าจอ โดยจะแสดงบนหน้าจอในระหว่างที่ผู้ใช้โต้ตอบกับแอป และสามารถรีเฟรชโดยอัตโนมัติหลังจากผ่านไประยะเวลาหนึ่ง หากคุณเพิ่งเริ่มใช้การโฆษณาบนอุปกรณ์เคลื่อนที่ โฆษณาแบนเนอร์เป็นจุดเริ่มต้นที่ดี

คู่มือนี้จะแสดงวิธีผสานรวมมุมมองแบนเนอร์ลงในแอป Unity นอกจากข้อมูลโค้ดและวิธีการแล้ว ยังมีข้อมูลเกี่ยวกับการปรับขนาดแบนเนอร์อย่างเหมาะสมและลิงก์ไปยังแหล่งข้อมูลเพิ่มเติมด้วย

ข้อกำหนดเบื้องต้น

ตั้งค่า Google Mobile Ads Unity Plugin ก่อนดำเนินการต่อ

ทดสอบด้วยโฆษณาทดสอบเสมอ

โค้ดตัวอย่างต่อไปนี้มีรหัสหน่วยโฆษณาที่คุณใช้เพื่อขอ โฆษณาทดสอบได้ ซึ่งได้รับการกำหนดค่าเป็นพิเศษให้แสดงโฆษณาทดสอบแทน โฆษณาจริงสำหรับทุกคำขอ จึงใช้งานได้อย่างปลอดภัย

อย่างไรก็ตาม หลังจากลงทะเบียนแอปในอินเทอร์เฟซเว็บของ Ad Manager และสร้างรหัสหน่วยโฆษณา ของคุณเองเพื่อใช้ในแอปแล้ว ให้กำหนดค่าอุปกรณ์เป็นอุปกรณ์ทดสอบ อย่างชัดแจ้งในระหว่าง การพัฒนา

/21775744923/example/fixed-size-banner

เริ่มต้น Google Mobile Ads Unity Plugin

ก่อนโหลดโฆษณา ให้แอปเริ่มต้น Google Mobile Ads Unity Plugin โดยเรียกใช้ MobileAds.Initialize() คุณต้องทำขั้นตอนนี้เพียงครั้งเดียว ซึ่งควรทำเมื่อเปิดแอป

using GoogleMobileAds;
using GoogleMobileAds.Api;

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    public void Start()
    {
        // Initialize Google Mobile Ads Unity Plugin.
        MobileAds.Initialize((InitializationStatus initStatus) =>
        {
            // This callback is called once the MobileAds SDK is initialized.
        });
    }
}

หากใช้สื่อกลาง ให้รอจนกว่าจะมีการเรียกกลับก่อนโหลดโฆษณา เพื่อให้แน่ใจว่าอะแดปเตอร์สื่อกลางทั้งหมดได้รับการเริ่มต้นแล้ว

ตัวอย่าง BannerView

โค้ดตัวอย่างต่อไปนี้แสดงรายละเอียดวิธีใช้มุมมองแบนเนอร์ ในตัวอย่างนี้ ให้สร้างอินสแตนซ์ของมุมมองแบนเนอร์ ใช้ AdManagerAdRequest เพื่อโหลดโฆษณาลงในมุมมองแบนเนอร์ แล้วขยายขีดความสามารถโดยจัดการเหตุการณ์วงจรการทำงาน

สร้างมุมมองแบนเนอร์

ขั้นตอนแรกในการใช้มุมมองแบนเนอร์คือการสร้างอินสแตนซ์ของมุมมองแบนเนอร์

// Create a 320x50 banner at top of the screen.
adManagerBannerView = new AdManagerBannerView("AD_UNIT_ID", AdSize.Banner, AdPosition.Top);

แทนที่ AD_UNIT_ID ด้วยรหัสหน่วยโฆษณา

คอนสตรักเตอร์สำหรับ AdManagerBannerView มีพารามิเตอร์ต่อไปนี้

  • adUnitId: รหัสหน่วยโฆษณาของโฆษณาแบนเนอร์ที่จะโหลด
  • AdSize: ขนาดแบนเนอร์ที่ต้องการใช้
  • AdPosition: ตำแหน่งที่จะวางมุมมองแบนเนอร์

(ไม่บังคับ) สร้างมุมมองแบนเนอร์ที่มีตำแหน่งที่กำหนดเอง

หากต้องการควบคุมตำแหน่งที่จะวางมุมมองแบนเนอร์บนหน้าจอได้มากกว่าที่ค่า AdPosition มีให้ ให้ใช้คอนสตรักเตอร์ที่มีพิกัด x และ y เป็นพารามิเตอร์

// Create a 320x50 banner views at coordinate (0,50) on screen.
adManagerBannerView = new AdManagerBannerView("AD_UNIT_ID", AdSize.Banner, 0, 50);

มุมซ้ายบนของมุมมองแบนเนอร์จะอยู่ที่ค่า x และ y ที่ส่งไปยังคอนสตรักเตอร์ โดยจุดเริ่มต้นคือมุมซ้ายบนของหน้าจอ

(ไม่บังคับ) สร้างมุมมองแบนเนอร์ที่มีขนาดที่กำหนดเอง

นอกจากการใช้ค่าคงที่ AdSize แล้ว คุณยังระบุขนาดที่กำหนดเองสำหรับโฆษณาได้ด้วย

// Create a 250x250 banner at the bottom of the screen.
AdSize adSize = new AdSize(250, 250);
adManagerBannerView = new AdManagerBannerView("AD_UNIT_ID", adSize, AdPosition.Bottom);

(ไม่บังคับ) โฆษณาหลายขนาด

Ad Manager ช่วยให้คุณระบุขนาดโฆษณาหลายขนาดที่อาจมีสิทธิ์แสดงใน AdManagerBannerView ได้ ก่อนที่จะใช้ฟีเจอร์นี้ใน SDK ให้สร้างรายการโฆษณาที่กำหนดเป้าหมายเป็นหน่วยโฆษณาเดียวกันซึ่งเชื่อมโยงกับครีเอทีฟโฆษณาที่มีขนาดต่างๆ

ในแอป ให้ส่งพารามิเตอร์ AdSize หลายรายการไปยัง ValidAdSizes

// Create a 250x250 banner at the bottom of the screen.
adManagerBannerView = new AdManagerBannerView("AD_UNIT_ID", AdSize.Banner, AdPosition.Top);

// Add multiple ad sizes.
adManagerBannerView.ValidAdSizes = new List<AdSize>
{
    AdSize.Banner,
    new AdSize(120, 20),
    new AdSize(250, 250),
};

หาก AdManagerAdView เปลี่ยนขนาดเมื่อรีเฟรช เลย์เอาต์ควรปรับให้เข้ากับขนาดใหม่ได้โดยอัตโนมัติ AdManagerAdView จะใช้ขนาดที่ส่งในพารามิเตอร์แรกโดยค่าเริ่มต้นจนกว่าโฆษณาถัดไปจะแสดง

โหลดโฆษณาแบนเนอร์

หลังจากวาง AdManagerBannerView แล้ว ให้โหลดโฆษณาด้วยเมธอด LoadAd() ในคลาส AdManagerBannerView โดยจะใช้พารามิเตอร์ ซึ่งเก็บข้อมูล รันไทม์ เช่น ข้อมูลการกำหนดเป้าหมาย ป้ายกำกับการยกเว้น และรหัสที่ผู้เผยแพร่โฆษณา ให้ไว้

หากต้องการโหลดโฆษณา ให้สร้าง AdManagerAdRequest แล้วส่งไปยังเมธอด LoadAd()

// Send a request to load an ad into the banner view.
adManagerBannerView.LoadAd(new AdManagerAdRequest());

รอเหตุการณ์มุมมองแบนเนอร์

หากต้องการปรับแต่งลักษณะการทำงานของโฆษณา คุณสามารถเชื่อมต่อกับเหตุการณ์ต่างๆ ในวงจรการทำงานของโฆษณา เช่น การโหลด การเปิด หรือการปิด หากต้องการรอเหตุการณ์เหล่านี้ ให้ลงทะเบียนผู้รับมอบสิทธิ์

adManagerBannerView.OnBannerAdLoaded += () =>
{
    // Raised when an ad is loaded into the banner view.
};
adManagerBannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
{
    // Raised when an ad fails to load into the banner view.
};
adManagerBannerView.OnAdPaid += (AdValue adValue) =>
{
    // Raised when the ad is estimated to have earned money.
};
adManagerBannerView.OnAdImpressionRecorded += () =>
{
    // Raised when an impression is recorded for an ad.
};
adManagerBannerView.OnAdClicked += () =>
{
    // Raised when a click is recorded for an ad.
};
adManagerBannerView.OnAdFullScreenContentOpened += () =>
{
    // Raised when an ad opened full screen content.
};
adManagerBannerView.OnAdFullScreenContentClosed += () =>
{
    // Raised when the ad closed full screen content.
};

ทำลายมุมมองแบนเนอร์

หากต้องการทำลายแบนเนอร์ ให้เรียกใช้เมธอด Destroy() เพื่อปล่อยทรัพยากร

if (adManagerBannerView != null)
{
    // Always destroy the banner view when no longer needed.
    adManagerBannerView.Destroy();
    adManagerBannerView = null;
}

สำหรับแบนเนอร์ที่โหลดไม่สำเร็จ เราขอแนะนำให้รีเฟรชแบนเนอร์แทนการทำลายและสร้างแบนเนอร์ใหม่ ดูรายละเอียดได้ที่ รีเฟรชโฆษณา

รีเฟรชโฆษณา

หากกำหนดค่าหน่วยโฆษณาให้รีเฟรช คุณไม่จำเป็นต้องขอโฆษณาอื่นเมื่อโฆษณาโหลดไม่สำเร็จ Google Mobile Ads Unity Plugin จะใช้ตามอัตราการรีเฟรช ที่คุณระบุไว้ใน UI ของ Ad Manager หากไม่ได้เปิดใช้การรีเฟรช ให้ส่งคำขอใหม่ ดูรายละเอียดเพิ่มเติมเกี่ยวกับการรีเฟรชหน่วยโฆษณา เช่น การตั้งค่าอัตราการรีเฟรช ได้ที่ อัตราการรีเฟรชสำหรับโฆษณาในแอปบนอุปกรณ์เคลื่อนที่

ตารางต่อไปนี้แสดงขนาดแบนเนอร์มาตรฐาน

ขนาดเป็น dp (กว้างxสูง) คำอธิบาย ความพร้อมใช้งาน ค่าคงที่ AdSize
320x50 แบนเนอร์มาตรฐาน โทรศัพท์และแท็บเล็ต BANNER
320x100 แบนเนอร์ขนาดใหญ่ โทรศัพท์และแท็บเล็ต LARGE_BANNER
300x250 สี่เหลี่ยมผืนผ้าขนาดกลาง IAB โทรศัพท์และแท็บเล็ต MEDIUM_RECTANGLE
468x60 แบนเนอร์ขนาดเต็ม IAB แท็บเล็ต FULL_BANNER
728x90 ลีดเดอร์บอร์ด IAB แท็บเล็ต LEADERBOARD
ความกว้างที่ระบุ x ความสูงแบบปรับขนาดได้ แบนเนอร์แบบปรับขนาดได้ โทรศัพท์และแท็บเล็ต ไม่มี
ความกว้างของหน้าจอ x 32|50|90 แบนเนอร์อัจฉริยะ โทรศัพท์และแท็บเล็ต SMART_BANNER
ดูข้อมูลเพิ่มเติมเกี่ยวกับ แบนเนอร์แบบปรับขนาดได้ ซึ่งออกแบบมาเพื่อแทนที่ แบนเนอร์อัจฉริยะ

เหตุการณ์ของแอป

เหตุการณ์ของแอปช่วยให้คุณสร้างโฆษณาที่ส่งข้อความไปยังโค้ดของแอปได้ จากนั้นแอปจะดำเนินการตามข้อความเหล่านี้

คุณสามารถรอเหตุการณ์ของแอปที่เฉพาะเจาะจงของ Ad Manager ได้โดยใช้ AppEvent เหตุการณ์เหล่านี้อาจเกิดขึ้นได้ทุกเมื่อในวงจรการทำงานของโฆษณา แม้กระทั่งก่อนที่จะมีการเรียกใช้การโหลด

OnAppEventReceived จะเกิดขึ้นเมื่อมีเหตุการณ์ของแอปในโฆษณา ต่อไปนี้เป็นตัวอย่างวิธีจัดการเหตุการณ์นี้ในโค้ด

adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
    Debug.Log($"Received app event from the ad: {args.Name}, {args.Data}.");
};

ตัวอย่างต่อไปนี้แสดงวิธีเปลี่ยนสีพื้นหลังของแอปโดยขึ้นอยู่กับเหตุการณ์ของแอปที่มีชื่อสี

adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
    if (args.Name == "color")
    {
        Color color;
        if (ColorUtility.TryParseHtmlString(args.Data, out color))
        {
            renderer.material.color = color;
        }
    }
};

และนี่คือครีเอทีฟโฆษณาที่เกี่ยวข้องซึ่งส่งเหตุการณ์ของแอปสี

<html>
<head>
  <script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
  <script>
    document.addEventListener("DOMContentLoaded", function() {
      // Send a color=green event when ad loads.
      admob.events.dispatchAppEvent("color", "green");

      document.getElementById("ad").addEventListener("click", function() {
        // Send a color=blue event when ad is clicked.
        admob.events.dispatchAppEvent("color", "blue");
      });
    });
  </script>
  <style>
    #ad {
      width: 320px;
      height: 50px;
      top: 0;
      left: 0;
      font-size: 24pt;
      font-weight: bold;
      position: absolute;
      background: black;
      color: white;
      text-align: center;
    }
  </style>
</head>
<body>
  <div id="ad">Carpe diem!</div>
</body>
</html>

แหล่งข้อมูลเพิ่มเติม