Quảng cáo biểu ngữ là quảng cáo hình chữ nhật chiếm một phần bố cục của ứng dụng. Chúng luôn hiển thị trên màn hình trong khi người dùng tương tác với ứng dụng, hoặc cố định ở ở đầu hoặc cuối màn hình hoặc cùng dòng với nội dung khi người dùng cuộn. Biểu ngữ quảng cáo có thể tự động làm mới sau một khoảng thời gian nhất định. Xem bài viết Tổng quan về quảng cáo biểu ngữ để biết thêm thông tin.
Hướng dẫn này chỉ cho bạn cách bắt đầu sử dụng cố định quảng cáo biểu ngữ thích ứng, Tối đa hoá hiệu suất bằng cách tối ưu hoá kích thước quảng cáo cho mỗi thiết bị sử dụng chiều rộng quảng cáo mà bạn chỉ định.
Quảng cáo biểu ngữ thích ứng cố định là quảng cáo có tỷ lệ khung hình cố định thay vì quảng cáo có kích thước cố định. Tỷ lệ khung hình tương tự như tiêu chuẩn ngành 320x50. Một lần bạn chỉ định chiều rộng đầy đủ có sẵn, tuỳ chọn này sẽ trả về cho bạn quảng cáo có chiều cao cho chiều rộng đó. Chiều cao tối ưu không thay đổi giữa các yêu cầu từ cùng một thiết bị, và các chế độ xem xung quanh không cần phải di chuyển khi quảng cáo làm mới.
Điều kiện tiên quyết
- Xem hết Hướng dẫn bắt đầu sử dụng.
Luôn thử nghiệm bằng quảng cáo thử nghiệm
Khi tạo và thử nghiệm ứng dụng, hãy nhớ sử dụng quảng cáo thử nghiệm thay vì quảng cáo thực tế. Chúng tôi có thể tạm ngưng tài khoản của bạn nếu bạn không làm như vậy.
Cách dễ nhất để tải quảng cáo thử nghiệm là sử dụng mã đơn vị quảng cáo thử nghiệm dành riêng cho Biểu ngữ Android:
ca-app-pub-3940256099942544/9214589741
Mã này được định cấu hình đặc biệt để trả về quảng cáo thử nghiệm cho mọi yêu cầu và bạn có thể sử dụng nó trong ứng dụng của riêng bạn khi lập trình, thử nghiệm và gỡ lỗi. Hãy đảm bảo rằng bạn hãy thay thế mã này bằng mã đơn vị quảng cáo của riêng bạn trước khi xuất bản ứng dụng.
Để biết thêm thông tin về cách hoạt động của quảng cáo thử nghiệm của SDK quảng cáo trên thiết bị di động, hãy xem bài viết Thử nghiệm Google Ads.
Thêm AdManagerAdView vào bố cục
Bước đầu tiên để hiển thị biểu ngữ là đặt AdManagerAdView
trong bố cục của ứng dụng:
Java
// Create a new ad view.
adView = new AdManagerAdView(this);
adView.setAdUnitId(AD_UNIT);
adView.setAdSize(getAdSize());
// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);
Kotlin
// Create a new ad view.
val adView = AdManagerAdView(this)
adView.adUnitId = AD_UNIT_ID
adView.setAdSize(adSize)
this.adView = adView
// Replace ad container with new ad view.
binding.adViewContainer.removeAllViews()
binding.adViewContainer.addView(adView)
Tải một quảng cáo
Sau khi AdManagerAdView đã sẵn sàng, bước tiếp theo là
tải quảng cáo. Đã hoàn tất việc này bằng loadAd()
trong lớp AdManagerAdView
. Bạn sẽ mất AdManagerAdRequest
tham số, chứa thông tin trong thời gian chạy (chẳng hạn như thông tin nhắm mục tiêu) về một
yêu cầu quảng cáo duy nhất.
Sau đây là ví dụ cho thấy cách tải một quảng cáo:
Java
// Start loading the ad in the background.
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();
adView.loadAd(adRequest);
Kotlin
// Start loading the ad in the background.
val adRequest = AdManagerAdRequest.Builder().build()
adView.loadAd(adRequest)
Nếu quảng cáo không tải được, bạn không cần phải yêu cầu một cách rõ ràng một quảng cáo khác như miễn là bạn đã định cấu hình đơn vị quảng cáo để làm mới; SDK quảng cáo trên thiết bị di động của Google tuân theo mọi tốc độ làm mới mà bạn đã chỉ định trong Ad Manager giao diện web. Nếu chưa bật tính năng làm mới, bạn sẽ cần phải gửi một của bạn.
Vậy là xong! Bây giờ, ứng dụng của bạn đã sẵn sàng hiển thị quảng cáo biểu ngữ.
Sự kiện quảng cáo
Bạn có thể theo dõi một số sự kiện trong vòng đời của quảng cáo, bao gồm tải, lượt hiển thị và lượt nhấp vào quảng cáo, cũng như sự kiện mở và đóng quảng cáo. Bạn nên để đặt lệnh gọi lại trước khi tải biểu ngữ.Java
adView.setAdListener(new AdListener() {
@Override
public void onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
@Override
public void onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
@Override
public void onAdFailedToLoad(LoadAdError adError) {
// Code to be executed when an ad request fails.
}
@Override
public void onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
@Override
public void onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
});
Kotlin
adView.adListener = object: AdListener() {
override fun onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
override fun onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
override fun onAdFailedToLoad(adError : LoadAdError) {
// Code to be executed when an ad request fails.
}
override fun onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
override fun onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
override fun onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
}
Mỗi phương thức có thể ghi đè trong
AdListener
tương ứng với một sự kiện trong vòng đời của quảng cáo.
Phương thức có thể ghi đè | |
---|---|
onAdClicked() |
onAdClicked()
được gọi khi một lần nhấp được ghi lại cho một quảng cáo.
|
onAdClosed() |
onAdClosed()
được gọi khi người dùng quay lại ứng dụng sau khi xem
URL đích. Ứng dụng của bạn có thể dùng mã này để tiếp tục các hoạt động bị tạm ngưng hoặc
thực hiện mọi hoạt động cần thiết khác để chuẩn bị sẵn sàng cho hoạt động tương tác.
|
onAdFailedToLoad() |
onAdFailedToLoad()
là phương thức duy nhất chứa thông số. Thông số lỗi thuộc loại
LoadAdError mô tả lỗi đã xảy ra. Để biết thêm thông tin,
hãy tham khảo phần Gỡ lỗi tải quảng cáo
.
|
onAdImpression() |
onAdImpression()
được gọi khi một lượt hiển thị được ghi lại cho một quảng cáo.
|
onAdLoaded() |
onAdLoaded()
được thực thi khi quảng cáo tải xong. Nếu bạn muốn hoãn
thêm AdManagerAdView
đối với hoạt động hoặc mảnh của bạn cho đến khi bạn chắc chắn rằng quảng cáo sẽ được tải, cho
ví dụ, bạn có thể làm như vậy tại đây.
|
onAdOpened() |
onAdOpened()
được gọi khi một quảng cáo mở lớp phủ bao phủ màn hình.
|
Tăng tốc phần cứng cho quảng cáo dạng video
Để quảng cáo video hiển thị thành công ở chế độ xem quảng cáo biểu ngữ, phần cứng tăng tốc phải không được bật.
Tính năng tăng tốc phần cứng được bật theo mặc định nhưng một số ứng dụng có thể chọn tắt
nó. Nếu điều này đúng với ứng dụng của bạn, bạn nên bật chế độ tăng tốc phần cứng cho
Các lớp Activity
sử dụng quảng cáo.
Bật tính năng tăng tốc phần cứng
Nếu ứng dụng của bạn hoạt động không đúng cách khi bật tính năng tăng tốc phần cứng
trên toàn cầu, bạn cũng có thể kiểm soát dữ liệu đó cho từng hoạt động riêng lẻ. Để bật hoặc
tắt tính năng tăng tốc phần cứng, bạn có thể sử dụng android:hardwareAccelerated
cho
<application>
và
<activity>
trong AndroidManifest.xml
của bạn. Ví dụ sau đây bật tính năng phần cứng
cho toàn bộ ứng dụng nhưng tắt tính năng này đối với một hoạt động:
<application android:hardwareAccelerated="true">
<!-- For activities that use ads, hardwareAcceleration should be true. -->
<activity android:hardwareAccelerated="true" />
<!-- For activities that don't use ads, hardwareAcceleration can be false. -->
<activity android:hardwareAccelerated="false" />
</application>
Xem bài viết Tăng tốc phần cứng hướng dẫn để biết thêm thông tin thông tin về các tuỳ chọn kiểm soát tăng tốc phần cứng. Lưu ý rằng bạn không thể bật chế độ xem quảng cáo riêng lẻ để tăng tốc phần cứng nếu hoạt động bị tắt nên hoạt động phải tự bật tính năng tăng tốc phần cứng.
Tính số lượt hiển thị theo cách thủ công
Phương pháp tính số lượt hiển thị thủ công chỉ tương thích với phương pháp bán trực tiếp và tự quảng bá chiến dịch có quảng cáo được quản lý trực tiếp trong Ad Manager. Không nên được sử dụng cho quảng cáo chèn lấp hoặc quảng cáo của mạng bên thứ ba. Để biết thêm chi tiết, hãy xem phần Cách tính số lượt hiển thị và số lượt nhấp.
Bạn có thể gửi ping hiển thị tới Ad Manager theo cách thủ công nếu bạn có
các điều kiện về thời điểm ghi lại một lượt hiển thị. Để làm điều này, hãy bật
AdManagerAdRequest
cho các lượt hiển thị thủ công trước khi tải quảng cáo:
Java
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
.setManualImpressionsEnabled(true)
.build();
Kotlin
val adRequest = AdManagerAdRequest.Builder()
.setManualImpressionsEnabled(true)
.build()
Khi bạn xác định rằng một quảng cáo đã được trả về thành công và đang hiển thị trên màn hình, bạn có thể ghi lại một lượt hiển thị theo cách thủ công:
Java
{ ad_view }.recordManualImpression();
Kotlin
AdManagerAdView.recordManualImpression()
Sự kiện ứng dụng
Sự kiện ứng dụng cho phép bạn tạo những quảng cáo có thể gửi tin nhắn đến mã ứng dụng của sự kiện đó. Ứng dụng thì có thể hành động dựa trên các tin nhắn này.
Bạn có thể theo dõi các sự kiện ứng dụng cụ thể của Ad Manager bằng cách sử dụng AppEventListener
.
Những sự kiện này có thể xảy ra bất kỳ lúc nào trong vòng đời của quảng cáo, thậm chí trước khi
onAdLoaded()
sẽ được gọi.
Java
public interface AppEventListener {
void onAppEvent(String name, String info);
}
Kotlin
interface AppEventListener {
fun onAppEvent(name: String, info: String)
}
void onAppEvent(String name, String info)
được gọi khi một sự kiện ứng dụng xảy ra
trong một quảng cáo. Giao diện này có thể được triển khai bởi hoạt động của bạn hoặc bất kỳ
đối tượng:
Java
import com.google.android.gms.ads.admanager.*;
public class BannerExample extends Activity implements AppEventListener {
}
Kotlin
import com.google.android.gms.ads.admanager.*
class BannerExample : Activity(), AppEventListener {
}
rồi truyền đến AdManagerAdView
:
Java
AdManagerAdView.setAppEventListener(this);
Kotlin
AdManagerAdView.appEventListener = this
Dưới đây là ví dụ minh hoạ cách thay đổi màu nền của ứng dụng tuỳ thuộc vào sự kiện ứng dụng kèm theo tên màu:
Java
@Override
public void onAppEvent(String name, String info) {
if ("color".equals(name)) {
if ("green".equals(info)) {
// Set background color to green.
} else if ("blue".equals(info)) {
// Set background color to blue.
} else {
// Set background color to black.
}
}
}
Kotlin
override fun onAppEvent(name: String?, info: String?) {
if (name == "color") {
when (info) {
"green" -> {
// Set background color to green.
}
"blue" -> {
// Set background color to blue.
}
else -> {
// Set background color to black.
}
}
}
}
Đây là mẫu quảng cáo tương ứng đã gửi thông báo sự kiện ứng dụng màu tới Trình nghe:
<html>
<head>
<script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
// Send a color=green event when ad loads.
admob.events.dispatchAppEvent("color", "green");
document.getElementById("ad").addEventListener("click", function() {
// Send a color=blue event when ad is clicked.
admob.events.dispatchAppEvent("color", "blue");
});
});
</script>
<style>
#ad {
width: 320px;
height: 50px;
top: 0px;
left: 0px;
font-size: 24pt;
font-weight: bold;
position: absolute;
background: black;
color: white;
text-align: center;
}
</style>
</head>
<body>
<div id="ad">Carpe diem!</div>
</body>
</html>
Xem ví dụ về Sự kiện ứng dụng Ad Manager để biết cách triển khai sự kiện ứng dụng trong Ứng dụng minh hoạ API.
Tài nguyên khác
Ví dụ trên GitHub
Các bước tiếp theo
Biểu ngữ có thể thu gọn
Quảng cáo biểu ngữ có thể thu gọn là quảng cáo biểu ngữ ban đầu được trình bày dưới dạng quảng cáo biểu ngữ lớn hơn có nút để thu gọn quảng cáo xuống kích thước nhỏ hơn. Cân nhắc sử dụng để tối ưu hoá hiệu suất hơn nữa. Xem bài viết quảng cáo biểu ngữ có thể thu gọn để biết thêm thông tin.
Quảng cáo biểu ngữ thích ứng cùng dòng
Biểu ngữ thích ứng cùng dòng là biểu ngữ lớn hơn, cao hơn so với biểu ngữ thích ứng cố định biểu ngữ. Biểu tượng này có nhiều loại chiều cao và có thể cao bằng màn hình của thiết bị. Nên dùng quảng cáo biểu ngữ thích ứng cùng dòng thay vì quảng cáo biểu ngữ thích ứng cố định cho những ứng dụng đặt quảng cáo biểu ngữ trong nội dung có thể cuộn. Xem nội dung thích ứng cùng dòng biểu ngữ để tìm hiểu thêm chi tiết.