Bắt đầu
Quảng cáo lớp phủ gốc đượ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 hiển thị 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 quảng cáo biểu ngữ hoạt độ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 ưu điểm chính mà quảng cáo lớp phủ gốc 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ố thông tin quan trọng cần lưu ý trong quá trình triển khai.
Điều kiện tiên quyết
Trước khi tiếp tục, hãy làm như sau:
- Thiết lập Google Mobile Ads Unity Plugin.
- Cài đặt 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 và bạn có thể dùng mã này để 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 đăng ký một ứng dụng trong giao diện web AdMob và tạo các mã đơn vị quảng cáo riêng để 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 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 tham số trong trình xử lý hoàn thành.
Đoạn 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 để
kết xuất quảng cáo lớp phủ gốc. Sử dụng hằng số NativeTemplateID để chọn mẫu gốc
phù hợp cho quảng cáo.
Đoạn mã sau đây kết xuất 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
Đoạn 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
Đoạn 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 chính sách và nguyên tắc về quảng cáo gốc.