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
- Xem hết hướng dẫn Bắt đầu sử dụng.
- Trình bổ trợ Unity phiên bản 9.0.0 trở lên.
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 một quảng cáo lớp phủ gốc bằng cách sử dụng phương thức Load()
tĩnh trên
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 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
- Tìm hiểu thêm về quảng cáo gốc trong cẩm nang về quảng cáo gốc của chúng tôi.
- Xem nguyên tắc và chính sách về quảng cáo gốc.