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

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

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

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

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

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

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

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

Android

ca-app-pub-3940256099942544/6300978111

iOS

ca-app-pub-3940256099942544/2934735716

เริ่มต้น SDK โฆษณาในอุปกรณ์เคลื่อนที่

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

using GoogleMobileAds;
using GoogleMobileAds.Api;

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

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

ตัวอย่าง BannerView

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

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

ขั้นตอนแรกในการใช้มุมมองแบนเนอร์คือการสร้างอินสแตนซ์ของมุมมองแบนเนอร์ ในสคริปต์ C# ที่แนบมากับ GameObject


  // These ad units are configured to always serve test ads.
#if UNITY_ANDROID
  private string _adUnitId = "ca-app-pub-3940256099942544/6300978111";
#elif UNITY_IPHONE
  private string _adUnitId = "ca-app-pub-3940256099942544/2934735716";
#else
  private string _adUnitId = "unused";
#endif

  BannerView _bannerView;

  /// <summary>
  /// Creates a 320x50 banner view at top of the screen.
  /// </summary>
  public void CreateBannerView()
  {
      Debug.Log("Creating banner view");

      // If we already have a banner, destroy the old one.
      if (_bannerView != null)
      {
          DestroyAd();
      }

      // Create a 320x50 banner at top of the screen
      _bannerView = new BannerView(_adUnitId, AdSize.Banner, AdPosition.Top);
  }

ตัวสร้างสำหรับ BannerView มีพารามิเตอร์ต่อไปนี้

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

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

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

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

// Create a 320x50 banner views at coordinate (0,50) on screen.
_bannerView = new BannerView(_adUnitId, AdSize.Banner, 0, 50);

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

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

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

// Use the AdSize argument to set a custom size for the ad.
AdSize adSize = new AdSize(250, 250);
_bannerView = new BannerView(_adUnitId, adSize, AdPosition.Bottom);

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

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

/// <summary>
/// Creates the banner view and loads a banner ad.
/// </summary>
public void LoadAd()
{
    // create an instance of a banner view first.
    if(_bannerView == null)
    {
        CreateBannerView();
    }

    // create our request used to load the ad.
    var adRequest = new AdRequest();

    // send the request to load the ad.
    Debug.Log("Loading banner ad.");
    _bannerView.LoadAd(adRequest);
}

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

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

/// <summary>
/// listen to events the banner view may raise.
/// </summary>
private void ListenToAdEvents()
{
    // Raised when an ad is loaded into the banner view.
    _bannerView.OnBannerAdLoaded += () =>
    {
        Debug.Log("Banner view loaded an ad with response : "
            + _bannerView.GetResponseInfo());
    };
    // Raised when an ad fails to load into the banner view.
    _bannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
    {
        Debug.LogError("Banner view failed to load an ad with error : "
            + error);
    };
    // Raised when the ad is estimated to have earned money.
    _bannerView.OnAdPaid += (AdValue adValue) =>
    {
        Debug.Log(String.Format("Banner view paid {0} {1}.",
            adValue.Value,
            adValue.CurrencyCode));
    };
    // Raised when an impression is recorded for an ad.
    _bannerView.OnAdImpressionRecorded += () =>
    {
        Debug.Log("Banner view recorded an impression.");
    };
    // Raised when a click is recorded for an ad.
    _bannerView.OnAdClicked += () =>
    {
        Debug.Log("Banner view was clicked.");
    };
    // Raised when an ad opened full screen content.
    _bannerView.OnAdFullScreenContentOpened += () =>
    {
        Debug.Log("Banner view full screen content opened.");
    };
    // Raised when the ad closed full screen content.
    _bannerView.OnAdFullScreenContentClosed += () =>
    {
        Debug.Log("Banner view full screen content closed.");
    };
}

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

เมื่อใช้มุมมองแบนเนอร์เสร็จแล้ว อย่าลืมเรียกใช้ Destroy() เพื่อปล่อย ทรัพยากร

/// <summary>
/// Destroys the banner view.
/// </summary>
public void DestroyAd()
{
    if (_bannerView != null)
    {
        Debug.Log("Destroying banner view.");
        _bannerView.Destroy();
        _bannerView = null;
    }
}

เท่านี้ก็เรียบร้อย ตอนนี้แอปของคุณพร้อมแสดงโฆษณาแบนเนอร์แล้ว

รีเฟรชโฆษณา

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

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

ขนาดในหน่วย 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
ดูข้อมูลเพิ่มเติมเกี่ยวกับแบนเนอร์แบบปรับได้ ซึ่งมีไว้เพื่อแทนที่แบนเนอร์อัจฉริยะ

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