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

Chọn nền tảng: Android iOS Flutter Unity

Bắt đầu

Quảng cáo gốc dạng lớp phủ 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. Các quảng cáo này xuất hiện dưới dạng lớp phủ ở trên cùng của ứng dụng. Điều 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 gốc dạng lớp phủ trong ứng dụng Unity, cũng như một số điểm 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 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 đăng ký một ứng dụng trong giao diện web AdMob và tạo mã đơn vị quảng cáo riêng để sử dụng trong ứng dụng, bạn cần định cấu hình thiết bị của mình 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 gốc dạng lớp phủ

Bạn có thể hoàn thành việc tải một quảng cáo gốc dạng lớp phủ 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.

Đoạn mã sau đây sử dụng NativeOverlayAd để tải một 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);
    });
}

Hiển thị và tạo kiểu cho quảng cáo gốc dạng lớp phủ

Quảng cáo gốc dạng lớp phủ được hiển thị 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 gốc lớp phủ. 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.

Đoạn mã sau đây kết xuất quảng cáo gốc dạng lớp phủ bằng một 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 và ẩn quảng cáo gốc dạng lớp phủ

Đoạn mã sau đây minh hoạ cách hiển thị một quảng cáo gốc dạng lớp phủ đã 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 gốc dạng lớp phủ

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

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

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

Khi sử dụng xong quảng cáo gốc dạng lớp phủ, 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