Quảng cáo gốc có nhiều tính năng nâng cao cho phép bạn tuỳ chỉnh thêm và mang lại trải nghiệm quảng cáo tốt nhất có thể. Hướng dẫn này trình bày cách sử dụng các tính năng nâng cao của quảng cáo gốc.
Điều kiện tiên quyết
- Tích hợp Định dạng quảng cáo gốc.
Chế độ kiểm soát thành phần
Phần này trình bày chi tiết cách tuỳ chỉnh thành phần mẫu quảng cáo trong quảng cáo gốc. Bạn có thể chỉ định tỷ lệ khung hình ưu tiên cho tài sản truyền thông và cách tải xuống cũng như hiển thị thành phần hình ảnh.
Các chế độ điều khiển tỷ lệ khung hình ưu tiên của nội dung nghe nhìn
Chế độ kiểm soát tỷ lệ khung hình của nội dung nghe nhìn cho phép bạn chỉ định lựa chọn ưu tiên về tỷ lệ khung hình của mẫu quảng cáo.
Gọi NativeAdRequest.Builder.setMediaAspectRatio()
bằng giá trị
NativeAd.NativeMediaAspectRatio.
Khi bạn không đặt thông số này, quảng cáo được trả về có thể có tỷ lệ khung hình bất kỳ.
Khi đặt, bạn có thể cải thiện trải nghiệm người dùng bằng cách chỉ định loại tỷ lệ khung hình ưu tiên.
Ví dụ sau đây hướng dẫn SDK ưu tiên trả về hình ảnh hoặc video có tỷ lệ khung hình cụ thể.
Kotlin
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.build()
Java
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.build();
Chế độ kiểm soát việc tải hình ảnh xuống
Chế độ kiểm soát tải hình ảnh xuống cho phép bạn quyết định xem SDK sẽ trả về thành phần hình ảnh hay chỉ trả về URI.
Gọi NativeAdRequest.Builder.disableImageDownloading().
Theo mặc định, chế độ kiểm soát việc tải hình ảnh xuống sẽ bị tắt.
Khi bạn tắt, GMA Next-Gen SDK sẽ điền sẵn cả hình ảnh và URI cho bạn.
Khi được bật, SDK sẽ chỉ điền URI, cho phép bạn tải hình ảnh thực tế xuống theo ý muốn.
Ví dụ sau đây hướng dẫn SDK chỉ trả về URI.
Kotlin
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.disableImageDownloading()
.build()
val adCallback: NativeAdLoaderCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Get the image uri.
val imageUri = nativeAd.image?.uri
}
};
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);
Java
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.disableImageDownloading()
.build();
NativeAdLoaderCallback adLoaderCallback =
new NativeAdLoaderCallback() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
// Get the image uri.
Uri imageUri = nativeAd.getImage().getUri();
}
};
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);
Các chế độ kiểm soát tải trọng hình ảnh
Một số quảng cáo có một loạt hình ảnh thay vì chỉ một hình ảnh. Hãy sử dụng tính năng này để cho biết ứng dụng của bạn đã sẵn sàng hiển thị tất cả hình ảnh hay chỉ một hình ảnh.
Theo mặc định, các chế độ kiểm soát tải trọng hình ảnh sẽ bị tắt.
Khi bạn tắt chế độ này, ứng dụng của bạn sẽ hướng dẫn SDK chỉ cung cấp hình ảnh đầu tiên cho mọi thành phần có chứa chuỗi hình ảnh.
Khi được bật, ứng dụng của bạn cho biết rằng ứng dụng đã sẵn sàng hiển thị tất cả hình ảnh cho mọi thành phần có nhiều hình ảnh.
Ví dụ sau đây hướng dẫn SDK trả về nhiều thành phần hình ảnh.
Vị trí đặt Lựa chọn quảng cáo
Phần này trình bày chi tiết cách đặt vị trí lớp phủ Lựa chọn quảng cáo. Bạn có thể đặt vị trí của quảng cáo ở một trong bốn góc hoặc hiển thị quảng cáo trong một khung hiển thị tuỳ chỉnh.
Chế độ kiểm soát vị trí của biểu tượng Lựa chọn quảng cáo
Chế độ kiểm soát vị trí Lựa chọn quảng cáo cho phép bạn chọn góc để hiển thị biểu tượng Lựa chọn quảng cáo.
Gọi NativeAdRequest.Builder.setAdChoicesPlacement()
bằng giá trị
NativeAdRequest.AdChoicesPlacement.
Nếu bạn không đặt, thì vị trí của biểu tượng Lựa chọn quảng cáo sẽ được đặt ở trên cùng bên phải.
Nếu bạn đặt, biểu tượng Lựa chọn quảng cáo sẽ được đặt ở vị trí tuỳ chỉnh theo yêu cầu.
Ví dụ sau đây minh hoạ cách đặt vị trí hình ảnh Lựa chọn quảng cáo tuỳ chỉnh.
Kotlin
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
.build()
Java
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
.build();
Chế độ xem tuỳ chỉnh Lựa chọn quảng cáo
Tính năng chế độ xem tuỳ chỉnh Lựa chọn quảng cáo cho phép bạn đặt biểu tượng Lựa chọn quảng cáo ở một vị trí tuỳ chỉnh. Điều này khác với các chế độ kiểm soát vị trí của AdChoices, chỉ cho phép chỉ định một trong bốn góc.
Gọi NativeAdView.setAdChoicesView()
bằng giá trị AdChoicesView.
Ví dụ sau đây minh hoạ cách đặt chế độ xem Lựa chọn quảng cáo tuỳ chỉnh, trong đó biểu tượng Lựa chọn quảng cáo được hiển thị bên trong AdChoicesView.
Kotlin
override fun onNativeAdLoaded(nativeAd: NativeAd) {
val nativeAdView = NativeAdView(applicationContext)
val adChoicesView = AdChoicesView(this)
nativeAdView.adChoicesView = adChoicesView
}
Java
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
NativeAdView nativeAdView = new NativeAdView(getApplicationContext());
AdChoicesView adChoicesView = new AdChoicesView(this);
nativeAdView.setAdChoicesView(adChoicesView);
}
Điều khiển video
Phần này trình bày chi tiết cách tuỳ chỉnh trải nghiệm phát cho quảng cáo dạng video. Bạn có thể đặt trạng thái tắt tiếng ban đầu và triển khai các chế độ điều khiển phát tuỳ chỉnh.
Hành vi tắt tiếng khi bắt đầu
Hành vi bắt đầu tắt tiếng cho phép bạn tắt hoặc bật âm thanh bắt đầu của video.
Gọi VideoOptions.Builder.setStartMuted() với giá trị boolean và gọi NativeAdOptions.Builder.setVideoOptions().
Hành vi bắt đầu tắt tiếng được bật theo mặc định.
Khi bạn tắt chế độ này, ứng dụng của bạn sẽ yêu cầu video bắt đầu bằng âm thanh.
Khi được bật, ứng dụng của bạn sẽ yêu cầu video bắt đầu ở chế độ tắt tiếng.
Ví dụ sau đây cho thấy cách bắt đầu video có âm thanh.
Kotlin
val videoOptions = VideoOptions.Builder()
.setStartMuted(false)
.build()
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
Java
VideoOptions videoOptions = VideoOptions.Builder()
.setStartMuted(false)
.build()
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
Bộ điều khiển chế độ phát tuỳ chỉnh
Nhờ đó, bạn có thể yêu cầu các chế độ điều khiển đầu vào video tuỳ chỉnh để phát, tạm dừng hoặc tắt tiếng video.
Để đặt trạng thái tắt tiếng khi bắt đầu quảng cáo, hãy gọi VideoOptions.Builder.setCustomControlsRequested().
Bộ điều khiển chế độ phát tuỳ chỉnh bị tắt theo mặc định.
Khi bạn tắt chế độ này, video của bạn sẽ hiển thị các nút điều khiển đầu vào do SDK kết xuất.
Nếu quảng cáo có nội dung video và các chế độ điều khiển tuỳ chỉnh được bật, thì bạn nên hiển thị các chế độ điều khiển tuỳ chỉnh cùng với quảng cáo, vì quảng cáo sẽ không tự hiển thị bất kỳ chế độ điều khiển nào. Sau đó, các chế độ điều khiển có thể gọi các phương thức liên quan trên
VideoOptions.Builder.setCustomControlsRequested().
Ví dụ sau đây cho thấy cách yêu cầu một video có bộ điều khiển chế độ phát tuỳ chỉnh.
Kotlin
val videoOptions: VideoOptions.Builder()
.setCustomControlsRequested(true)
.build()
val adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
Java
VideoOptions VideoOptions = VideoOptions.Builder()
.setCustomControlsRequested(true)
.build()
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
Kiểm tra xem bạn đã bật chế độ kiểm soát tuỳ chỉnh hay chưa
Vì tại thời điểm yêu cầu, bạn không biết liệu quảng cáo được trả về có cho phép các chế độ kiểm soát video tuỳ chỉnh hay không, nên bạn phải kiểm tra xem quảng cáo đó có bật chế độ kiểm soát tuỳ chỉnh hay không.
Kotlin
val adCallback: NativeAdLoaderCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
val mediaContent = nativeAd.mediaContent;
if (mediaContent != null) {
val videoController = mediaContent.videoController;
val canShowCustomControls = videoController?.isCustomControlsEnabled();
}
}
};
Java
NativeAdLoaderCallback adCallback =
new NativeAdLoaderCallback() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
MediaContent mediaContent = nativeAd.getMediaContent();
if (mediaContent != null) {
VideoController videoController = mediaContent.getVideoController();
if (videoController != null) {
boolean canShowCustomControls = videoController.isCustomControlsEnabled();
}
}
}
};
Hiển thị các nút điều khiển video tuỳ chỉnh
Hiển thị các chế độ điều khiển video tuỳ chỉnh bằng cách áp dụng các phương pháp hay nhất sau đây:
- Hiển thị chế độ xem các chế độ điều khiển tuỳ chỉnh dưới dạng chế độ xem con của chế độ xem quảng cáo gốc. Phương pháp này cho phép các phép tính khả năng xem của tính năng đo lường mở coi các chế độ điều khiển tuỳ chỉnh là thành phần che khuất thân thiện.
- Tránh hiển thị lớp phủ vô hình trên toàn bộ chế độ xem nội dung nghe nhìn. Lớp phủ chặn lượt nhấp vào chế độ xem nội dung nghe nhìn, ảnh hưởng tiêu cực đến hiệu suất quảng cáo gốc. Thay vào đó, hãy tạo một lớp phủ nhỏ vừa đủ để chứa các nút điều khiển.
Cử chỉ nhấp tuỳ chỉnh
Thao tác nhấp tuỳ chỉnh là một tính năng quảng cáo gốc cho phép bạn đăng ký thao tác vuốt trên lượt xem quảng cáo dưới dạng lượt nhấp vào quảng cáo. Tính năng này hoạt động với các ứng dụng sử dụng cử chỉ vuốt để điều hướng nội dung. Hướng dẫn này trình bày cách bật thao tác nhấp tuỳ chỉnh trên quảng cáo gốc.
Gọi NativeAdRequest.Builder.enableCustomClickGestureDirection() bằng NativeAd.SwipeGestureDirection và giá trị boolean.
Theo mặc định, cử chỉ nhấp tuỳ chỉnh sẽ bị tắt.
Khi bị tắt, ứng dụng của bạn sẽ hỗ trợ hành vi nhấp thông thường.
Khi được bật, ứng dụng của bạn sẽ hỗ trợ các cử chỉ vuốt tuỳ chỉnh.
Ví dụ sau đây triển khai cử chỉ vuốt tuỳ chỉnh sang phải và giữ nguyên hành vi nhấn thông thường.
Kotlin
Java
Theo dõi các sự kiện cử chỉ vuốt
Để theo dõi các sự kiện cử chỉ vuốt, hãy gọi NativeAd.setAdEventCallback() bằng NativeAdEventCallback và triển khai phương thức onAdSwipeGestureClicked().
Kotlin
val adCallback: NativeAdLoaderCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Implement the onAdSwipeGestureClicked() method.
val nativeAdCallback: NativeAdEventCallback = object : NativeAdEventCallback {
override fun onAdSwipeGestureClicked() {
// A swipe gesture click has occurred.
}
}
}
}
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adCallback)
Java
NativeAdLoaderCallback adCallback =
new NativeAdLoaderCallback() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
// Implement the onAdSwipeGestureClicked() method.
NativeAdEventCallback nativeAdCallback = new NativeAdEventCallback() {
@Override
public void onAdSwipeGestureClicked() {
// A swipe gesture click has occurred.
}
};
}
};
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adCallback);
Dàn xếp
Thao tác nhấp tuỳ chỉnh chỉ hoạt động trên những quảng cáo gốc mà SDK quảng cáo trên thiết bị di động của Google hiển thị. Những nguồn quảng cáo yêu cầu SDK của bên thứ ba để hiển thị sẽ không phản hồi chế độ cài đặt hướng dẫn nhấp tuỳ chỉnh.