Quảng cáo lớp phủ gốc

Bắt đầu

Quảng cáo lớp phủ gốc hiển thị cho người dùng thông qua các thành phần giao diện người dùng vốn có của nền tảng. Những quảng cáo này được trình bày dưới dạng lớp phủ trên ứng dụng. Cách thức này tương tự như cách hoạt động của quảng cáo biểu ngữ, nhưng có khả năng tuỳ chỉnh giao diện của quảng cáo.

Quảng cáo lớp phủ gốc hỗ trợ tính năng dàn xếp và quảng cáo dạng video. Đây là một lợi thế chính của quảng cáo lớp phủ gốc so với quảng cáo gốc.

Hướng dẫn này trình bày cách triển khai quảng cáo lớp phủ gốc trong ứng dụng Unity, cũng như một số điều quan trọng cần lưu ý trong quá trình triển khai.

Điều kiện tiên quyết

Luôn thử nghiệm bằng quảng cáo thử nghiệm

Mã mẫu sau đây chứa một mã đơn vị quảng cáo mà bạn có thể dùng để yêu cầu hiển thị quảng cáo thử nghiệm. Mã này được định cấu hình đặc biệt để trả về quảng cáo thử nghiệm thay vì quảng cáo thực tế cho mọi yêu cầu, vì vậy, mã này rất an toàn để sử dụng.

Tuy nhiên, sau khi bạn đăng ký một ứng dụng trong giao diện web AdMob và tạo mã đơn vị quảng cáo của riêng mình để sử dụng trong ứng dụng, hãy định cấu hình thiết bị của bạn làm thiết bị thử nghiệm một cách rõ ràng trong quá trình phát triển.

Android

ca-app-pub-3940256099942544/2247696110

iOS

ca-app-pub-3940256099942544/3986624511

Tải quảng cáo lớp phủ gốc

Bạn có thể tải quảng cáo lớp phủ gốc bằng cách sử dụng phương thức Load() tĩnh cho lớp NativeOverlayAd. Đối tượng NativeOverlayAd đã tải được cung cấp dưới dạng một thông số trong trình xử lý hoàn thành.

Mã sau đây sử dụng NativeOverlayAd để tải quảng cáo:



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


private NativeOverlayAd _nativeOverlayAd;

/// <summary>
/// Loads the ad.
/// </summary>
public void LoadAd()
{
    // Clean up the old ad before loading a new one.
    if (_nativeOverlayAd != null)
    {
        DestroyAd();
    }

    Debug.Log("Loading native overlay ad.");

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

    // Optional: Define native ad options.
    var options = new NativeAdOptions
    {
        AdChoicesPosition = AdChoicesPlacement.TopRightCorner,
        MediaAspectRatio = NativeMediaAspectRatio.Any,
    };

    // Send the request to load the ad.
    NativeOverlayAd.Load(_adUnitId, adRequest, options,
        (NativeOverlayAd ad, LoadAdError error) =>
    {
        if (error != null)
        {
            Debug.LogError("Native Overlay ad failed to load an ad " +
                           " with error: " + error);
            return;
        }

        // The ad should always be non-null if the error is null, but
        // double-check to avoid a crash.
        if (ad == null)
        {
            Debug.LogError("Unexpected error: Native Overlay ad load event " +
                           " fired with null ad and null error.");
            return;
        }

        // The operation completed successfully.
        Debug.Log("Native Overlay ad loaded with response : " +
                   ad.GetResponseInfo());
        _nativeOverlayAd = ad;

        // Register to ad events to extend functionality.
        RegisterEventHandlers(ad);
    });
}

Kết xuất và tạo kiểu cho quảng cáo lớp phủ gốc

Quảng cáo lớp phủ gốc được kết xuất bằng NativeTemplateStyle. Lớp này xác định các trường cho phép bạn tuỳ chỉnh giao diện của quảng cáo.

TemplateID là một chuỗi bắt buộc xác định mẫu gốc dùng để hiển thị quảng cáo lớp phủ gốc. Sử dụng hằng số NativeTemplateID để chọn một mẫu gốc phù hợp cho quảng cáo của bạn.

Mã sau đây hiển thị quảng cáo lớp phủ gốc bằng mẫu trung bình và kiểu tuỳ chỉnh.

/// <summary>
/// Renders the ad.
/// </summary>
public void RenderAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Rendering Native Overlay ad.");

        // Define a native template style with a custom style.
        var style = new NativeTemplateStyle
        {
            TemplateID = NativeTemplateID.Medium,
            MainBackgroundColor = Color.red,
            CallToActionText = new NativeTemplateTextStyles
            {
                BackgroundColor = Color.green,
                FontColor = Color.white,
                FontSize = 9,
                Style = NativeTemplateFontStyle.Bold
            }
        };

        // Renders a native overlay ad at the default size
        // and anchored to the bottom of the screne.
        _nativeOverlayAd.RenderTemplate(style, AdPosition.Bottom);
    }
}

Hiển thị và ẩn quảng cáo lớp phủ gốc

Mã sau đây minh hoạ cách hiển thị quảng cáo lớp phủ gốc đã tải.

/// <summary>
/// Shows the ad.
/// </summary>
public void ShowAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Showing Native Overlay ad.");
        _nativeOverlayAd.Show();
    }
}

Ẩn quảng cáo lớp phủ gốc

Mã sau đây minh hoạ cách ẩn quảng cáo lớp phủ gốc.

/// <summary>
/// Hides the ad.
/// </summary>
public void HideAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Hiding Native Overlay ad.");
        _nativeOverlayAd.Hide();
    }
}

Huỷ quảng cáo lớp phủ gốc

Khi sử dụng xong quảng cáo lớp phủ gốc, hãy nhớ gọi Destroy() để giải phóng tài nguyên.

/// <summary>
/// Destroys the native overlay ad.
/// </summary>
public void DestroyAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Destroying native overlay ad.");
        _nativeOverlayAd.Destroy();
        _nativeOverlayAd = null;
    }
}

Các bước tiếp theo