โฆษณาเนทีฟคือชิ้นงานโฆษณาที่แสดงต่อผู้ใช้ผ่านคอมโพเนนต์ UI ที่เป็น เนทีฟของแพลตฟอร์ม โดยจะแสดงโดยใช้ประเภทมุมมองเดียวกันกับที่คุณใช้สร้างเลย์เอาต์อยู่แล้ว และสามารถจัดรูปแบบให้ตรงกับการออกแบบภาพของแอปได้
เมื่อโฆษณาเนทีฟโหลด แอปจะได้รับออบเจ็กต์โฆษณาที่มีชิ้นงานของโฆษณา และแอป (ไม่ใช่ Google Mobile Ads SDK (เบต้า)) จะเป็นผู้ รับผิดชอบในการแสดงโฆษณา
โดยทั่วไปแล้ว การใช้โฆษณาเนทีฟให้ประสบความสำเร็จมี 2 ส่วน ได้แก่ การโหลดโฆษณาโดยใช้ SDK แล้วแสดงเนื้อหาโฆษณาในแอป
หน้านี้แสดงวิธีใช้ SDK เพื่อโหลดโฆษณาเนทีฟ เคล็ดลับ: ดูข้อมูลเพิ่มเติมเกี่ยวกับโฆษณาเนทีฟได้ในPlaybook สำหรับโฆษณาเนทีฟ
ตัวอย่างพร้อมให้ใช้งานสำหรับ Java และ Kotlinนอกจากนี้ คุณยังดูเรื่องราวความสำเร็จของลูกค้าได้ที่กรณีศึกษา 1 และกรณีศึกษา 2
ข้อกำหนดเบื้องต้น
- ทำตามคู่มือเริ่มต้นใช้งาน
- SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google (เบต้า) 0.6.0-alpha01 ขึ้นไป
ทดสอบด้วยโฆษณาทดสอบเสมอ
เมื่อสร้างและทดสอบแอป โปรดใช้โฆษณาทดสอบแทน โฆษณาจริงที่ใช้งานจริง หากไม่ดำเนินการดังกล่าวอาจส่งผลให้บัญชีถูกระงับ
วิธีที่ง่ายที่สุดในการโหลดโฆษณาทดสอบคือการใช้รหัสหน่วยโฆษณาทดสอบเฉพาะสำหรับ โฆษณาเนทีฟ
รูปแบบโฆษณา | รหัสหน่วยโฆษณาตัวอย่าง |
---|---|
เนทีฟ | ca-app-pub-3940256099942544/2247696110 |
วิดีโอเนทีฟ | ca-app-pub-3940256099942544/1044960115 |
โหลดโฆษณา
หากต้องการโหลดโฆษณาเนทีฟ ให้เรียกใช้เมธอด NativeAdLoader.load()
ซึ่งใช้ NativeAdRequest
และ 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"
}
}
ตั้งค่าการเรียกกลับของเหตุการณ์โฆษณาเนทีฟ
เมื่อจัดการ onNativeAdLoaded
ให้ตั้งค่า NativeAd
ที่ได้รับด้วย
NativeAdEventCallback
เพื่อกำหนดฟังก์ชันสำหรับการรับเหตุการณ์วงจรของโฆษณาเนทีฟ
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.
}
}
ไม่บังคับ: โหลดโฆษณาหลายรายการ
หากต้องการโหลดโฆษณาหลายรายการ ให้เรียกใช้ load()
โดยมีพารามิเตอร์ numberOfAds
ที่ไม่บังคับ
ค่าสูงสุดที่คุณตั้งได้คือ 5
ซึ่งแสดงถึงจำนวนโฆษณา
SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google (เบต้า) อาจไม่แสดงโฆษณาตามจำนวนที่คุณขอ
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)
}
โฆษณาที่ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google (เบต้า) แสดงจะมีความเฉพาะตัว แต่โฆษณาจากพื้นที่โฆษณาที่สงวนไว้ หรือผู้ซื้อบุคคลที่สามอาจไม่ซ้ำกัน
หากใช้สื่อกลาง อย่าเรียกใช้เมธอด load()
คำขอโฆษณาเนทีฟหลายรายการใช้ไม่ได้กับรหัสหน่วยโฆษณาที่กำหนดค่าไว้สำหรับสื่อกลาง
แนวทางปฏิบัติแนะนำ
ทำตามกฎต่อไปนี้เมื่อโหลดโฆษณา
แอปที่ใช้โฆษณาเนทีฟในรายการควรแคชล่วงหน้าสำหรับรายการโฆษณา
เมื่อแคชโฆษณาล่วงหน้า ให้ล้างแคชและโหลดซ้ำหลังจากผ่านไป 1 ชั่วโมง
จำกัดการแคชโฆษณาเนทีฟให้มีเฉพาะสิ่งที่จำเป็น เช่น เมื่อแคชล่วงหน้า ให้แคชเฉพาะโฆษณาที่มองเห็นได้ทันทีบนหน้าจอ โฆษณาเนทีฟ ใช้หน่วยความจำมาก และการแคชโฆษณาเนทีฟโดยไม่ทำลายโฆษณา จะทำให้มีการใช้หน่วยความจำมากเกินไป
ทำลายโฆษณาเนทีฟเมื่อไม่ได้ใช้งานแล้ว
การเร่งฮาร์ดแวร์สำหรับโฆษณาวิดีโอ
คุณต้องเปิดใช้การเร่งด้วยฮาร์ดแวร์ เพื่อให้โฆษณาวิดีโอแสดงในมุมมองโฆษณาเนทีฟได้สำเร็จ
ระบบจะเปิดใช้การเร่งด้วยฮาร์ดแวร์โดยค่าเริ่มต้น แต่บางแอปอาจเลือก ปิดใช้ หากแอปของคุณเป็นเช่นนี้ เราขอแนะนำให้เปิดใช้การเร่งด้วยฮาร์ดแวร์สำหรับคลาส Activity ที่ใช้โฆษณา
การเปิดใช้การเร่งฮาร์ดแวร์
หากแอปทำงานไม่ถูกต้องเมื่อเปิดการเร่งด้วยฮาร์ดแวร์
ทั่วโลก คุณสามารถควบคุมการเร่งด้วยฮาร์ดแวร์สำหรับกิจกรรมแต่ละอย่างได้เช่นกัน หากต้องการเปิดหรือปิดใช้การเร่งฮาร์ดแวร์ ให้ใช้แอตทริบิวต์ android:hardwareAccelerated
สำหรับองค์ประกอบ
<application>
และ
<activity>
ใน AndroidManifest.xml
ตัวอย่างต่อไปนี้เปิดใช้การเร่งด้วยฮาร์ดแวร์
สำหรับทั้งแอป แต่ปิดใช้สำหรับกิจกรรมหนึ่งๆ
<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>
ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกในการควบคุมการเร่งด้วยฮาร์ดแวร์ได้ที่คำแนะนำ การเร่งด้วยฮาร์ดแวร์ โปรดทราบ ว่าคุณจะเปิดใช้มุมมองโฆษณาแต่ละรายการสำหรับการเร่งฮาร์ดแวร์ไม่ได้หากปิดใช้ กิจกรรม ดังนั้นกิจกรรมเองจึงต้องเปิดใช้การเร่งฮาร์ดแวร์
แสดงโฆษณา
เมื่อโหลดโฆษณาแล้ว สิ่งที่เหลืออยู่คือการแสดงโฆษณาต่อผู้ใช้ โปรดไปที่คู่มือขั้นสูงเกี่ยวกับโฆษณาเนทีฟเพื่อดูวิธี
ตัวอย่าง
ดาวน์โหลดและเรียกใช้แอปตัวอย่าง ที่แสดงการใช้ Google Mobile Ads SDK (เบต้า)