Quảng cáo gốc là thành phần quảng cáo 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. Quảng cáo này hiển thị bằng cách sử dụng các loại chế độ xem tương tự với chế độ xem mà bạn đã tạo bố cục, và có thể được định dạng cho phù hợp với kiểu thiết kế trực quan của ứng dụng.
Khi một quảng cáo gốc tải, ứng dụng của bạn sẽ nhận được một đối tượng quảng cáo chứa các thành phần của quảng cáo đó, và khi đó ứng dụng (thay vì SDK quảng cáo trên thiết bị di động của Google (beta)) sẽ chịu trách nhiệm hiển thị các thành phần đó.
Nói chung, có hai bước để triển khai thành công quảng cáo gốc: Tải quảng cáo bằng SDK rồi hiển thị nội dung quảng cáo trong ứng dụng của bạn.
Trang này cho biết cách sử dụng SDK để tải quảng cáo gốc. Lưu ý: 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.
Tại đây, chúng tôi có sẵn các mẫu dành cho Java và Kotlin.Bạn cũng có thể xem một số câu chuyện thành công của khách hàng: nghiên cứu điển hình 1, nghiên cứu điển hình 2.
Điều kiện tiên quyết
- Xem hết hướng dẫn Bắt đầu sử dụng.
- SDK Quảng cáo của Google trên thiết bị di động (beta) phiên bản 0.6.0-alpha01 trở lên.
Luôn thử nghiệm bằng quảng cáo thử nghiệm
Khi bạn 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 đang chạy trong 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 quảng cáo gốc:
Định dạng quảng cáo | Mã đơn vị quảng cáo mẫu |
---|---|
Mã gốc | ca-app-pub-3940256099942544/2247696110 |
Quảng cáo video gốc | ca-app-pub-3940256099942544/1044960115 |
Tải một quảng cáo
Để tải quảng cáo gốc, hãy gọi phương thức NativeAdLoader.load()
. Phương thức này nhận một NativeAdRequest
và một NativeAdLoaderCallback
.
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAd
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoader
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoaderCallback
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdRequest
class NativeFragment : Fragment() {
private var nativeAd: NativeAd? = null
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
loadAd()
}
private fun loadAd() {
// Build an ad request with native ad options to customize the ad.
val adRequest = NativeAdRequest
.Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
.build()
val adCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Called when a native ad has loaded.
}
override fun onAdFailedToLoad(adError: LoadAdError) {
// Called when a native ad has failed to load.
}
}
// Load the native ad with our request and callback.
NativeAdLoader.load(adRequest, adCallback)
}
companion object {
// Sample native ad unit ID.
const val AD_UNIT_ID = "ca-app-pub-3940256099942544/2247696110"
}
}
Đặt lệnh gọi lại sự kiện quảng cáo gốc
Khi xử lý onNativeAdLoaded
, hãy đặt NativeAd
đã nhận bằng NativeAdEventCallback
để xác định các hàm nhận sự kiện trong vòng đời của quảng cáo gốc:
nativeAd.adEventCallback =
object : NativeAdEventCallback {
override fun onAdShowedFullScreenContent() {
// Native ad showed full screen content.
}
override fun onAdDismissedFullScreenContent() {
// Native ad dismissed full screen content.
}
override fun onAdFailedToShowFullScreenContent {
// Native ad failed to show full screen content.
}
override fun onAdImpression() {
// Native ad recorded an impression.
}
override fun onAdClicked() {
// Native ad recorded a click.
}
}
Không bắt buộc: Tải nhiều quảng cáo
Để tải nhiều quảng cáo, hãy gọi load()
bằng tham số numberOfAds
không bắt buộc.
Giá trị tối đa mà bạn có thể đặt là 5
, cho biết số lượng quảng cáo.
SDK quảng cáo trên thiết bị di động của Google (bản thử nghiệm) có thể không trả về chính xác số lượng quảng cáo mà bạn đã yêu cầu.
private fun loadAd() {
// Build an ad request with native ad options to customize the ad.
val adRequest = NativeAdRequest
.Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
.build()
val adCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Called when a native ad has loaded.
}
override fun onAdFailedToLoad(adError: LoadAdError) {
// Called when a native ad has failed to load.
}
override fun onAdLoadingCompleted() {
// Called when all native ads have loaded.
}
}
// Load the native ad with our request and callback.
NativeAdLoader.load(adRequest, 3, adCallback)
}
Quảng cáo mà SDK quảng cáo trên thiết bị di động của Google (phiên bản thử nghiệm) trả về là duy nhất, mặc dù quảng cáo từ khoảng không quảng cáo được đặt trước hoặc bên mua bên thứ ba có thể không phải là quảng cáo duy nhất.
Nếu bạn đang sử dụng tính năng dàn xếp, đừng gọi phương thức load()
. Yêu cầu cho nhiều quảng cáo gốc không hoạt động đối với các mã đơn vị quảng cáo được định cấu hình cho hoạt động dàn xếp.
Các phương pháp hay nhất
Hãy tuân thủ các quy tắc sau khi tải quảng cáo.
Những ứng dụng sử dụng quảng cáo gốc trong một danh sách nên lưu trước vào bộ nhớ đệm danh sách quảng cáo.
Khi lưu trước quảng cáo vào bộ nhớ đệm, hãy xoá bộ nhớ đệm và tải lại sau một giờ.
Hạn chế việc lưu vào bộ nhớ đệm quảng cáo gốc chỉ ở mức cần thiết. Ví dụ: khi lưu vào bộ nhớ đệm trước, chỉ lưu vào bộ nhớ đệm những quảng cáo xuất hiện ngay trên màn hình. Quảng cáo gốc có mức sử dụng bộ nhớ lớn và việc lưu vào bộ nhớ đệm quảng cáo gốc mà không huỷ chúng sẽ dẫn đến việc sử dụng bộ nhớ quá mức.
Huỷ quảng cáo gốc khi không còn sử dụng.
Tăng tốc phần cứng cho quảng cáo dạng video
Để quảng cáo dạng video hiển thị thành công ở chế độ xem quảng cáo gốc, bạn phải bật tính năng tăng tốc phần cứng.
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ũng có thể chọn tắt tính năng này. Nếu sử dụng tính năng tăng tốc phần cứng cho ứng dụng của mình, bạn nên bật tính năng này cho các lớp Hoạt động có 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 trên toàn cầu khi tính năng tăng tốc phần cứng đang bật, thì bạn vẫn có thể kiểm soát tính năng này cho các hoạt động riêng lẻ. Để bật hoặc tắt tính năng tăng tốc phần cứng, hãy sử dụng thuộc tính android:hardwareAccelerated
cho các phần tử <application>
và <activity>
trong AndroidManifest.xml
. Ví dụ sau đây sẽ bật tính năng tăng tốc phần cứng
cho toàn bộ ứng dụng, nhưng sẽ tắt tính năng này cho 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 hướng dẫn tăng tốc phần cứng để biết thêm thông tin về các cách kiểm soát tính năng tăng tốc phần cứng. Xin lưu ý rằng hệ thống 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 đang tắt, do đó, Hoạt động phải tự bật tính năng tăng tốc phần cứng.
Hiển thị quảng cáo
Sau khi bạn đã tải quảng cáo, tất cả công việc còn lại là hiển thị quảng cáo cho người dùng. Hãy xem Hướng dẫn về Quảng cáo gốc nâng cao của chúng tôi để biết cách thực hiện.
Ví dụ:
Tải xuống và chạy ứng dụng mẫu minh hoạ cách sử dụng SDK quảng cáo trên thiết bị di động của Google (bản thử nghiệm).