เมื่อเกิดการแสดงผล Google Mobile Ads SDK (เบต้า) จะให้ข้อมูลรายได้จากโฆษณา ที่เชื่อมโยงกับการแสดงผลนั้น คุณสามารถใช้ข้อมูลเพื่อคำนวณมูลค่าตลอดช่วงชีวิตของผู้ใช้ หรือส่งต่อข้อมูลไปยังระบบอื่นๆ ที่เกี่ยวข้องได้
คู่มือนี้มีไว้เพื่อช่วยคุณติดตั้งใช้งานการบันทึกข้อมูลรายได้จากโฆษณาระดับการแสดงผล ในแอป Android
ข้อกำหนดเบื้องต้น
- ตรวจสอบว่าคุณได้ เปิดใช้ฟีเจอร์รายได้จากโฆษณาระดับการแสดงผล ใน UI ของ AdMob แล้ว
- ทำตามคู่มือเริ่มต้นใช้งาน
ก่อนที่จะได้รับรายได้จากโฆษณาระดับการแสดงผล คุณต้องใช้รูปแบบโฆษณาอย่างน้อย 1 รูปแบบต่อไปนี้
ตัวจัดการเหตุการณ์แบบเสียค่าใช้จ่าย
โฆษณาแต่ละรูปแบบมี
onAdPaid
การเรียกกลับเหตุการณ์
ในระหว่างวงจรของเหตุการณ์โฆษณา Google Mobile Ads SDK (เบต้า) จะตรวจสอบ
เหตุการณ์การแสดงผลและเรียกใช้ตัวแฮนเดิลที่มีมูลค่าที่ได้รับ
ตัวอย่างต่อไปนี้จัดการเหตุการณ์ที่ต้องชำระเงินสำหรับโฆษณาที่มีการให้รางวัล
Kotlin
ad.adEventCallback =
object : RewardedAdEventCallback {
override fun onAdPaid(adValue: AdValue) {
// Send the impression-level ad revenue information to your
// preferred analytics server directly within this callback.
// Extract the impression-level ad revenue data.
val valueMicros = adValue.valueMicros
val currencyCode = adValue.currencyCode
val precisionType = adValue.precisionType
val loadedAdSourceResponseInfo = ad.getResponseInfo().loadedAdSourceResponseInfo
val adSourceName = loadedAdSourceResponseInfo?.name
val adSourceId = loadedAdSourceResponseInfo?.id
val adSourceInstanceName = loadedAdSourceResponseInfo?.instanceName
val adSourceInstanceId = loadedAdSourceResponseInfo?.instanceId
val extras = ad.getResponseInfo().responseExtras
val mediationGroupName = extras.getString("mediation_group_name")
val mediationABTestName = extras.getString("mediation_ab_test_name")
val mediationABTestVariant = extras.getString("mediation_ab_test_variant")
}
}
Java
ad.setAdEventCallback(
new RewardedAdEventCallback() {
@Override
public void onAdPaid(@NonNull AdValue value) {
// Send the impression-level ad revenue information to your preferred
// analytics server directly within this callback.
// Extract the impression-level ad revenue data.
long valueMicros = value.getValueMicros();
String currencyCode = value.getCurrencyCode();
PrecisionType precisionType = value.getPrecisionType();
AdSourceResponseInfo loadedAdSourceResponseInfo =
ad.getResponseInfo().getLoadedAdSourceResponseInfo();
String adSourceName = loadedAdSourceResponseInfo.getName();
String adSourceId = loadedAdSourceResponseInfo.getId();
String adSourceInstanceName = loadedAdSourceResponseInfo.getInstanceName();
String adSourceInstanceId = loadedAdSourceResponseInfo.getInstanceId();
Bundle extras = ad.getResponseInfo().getResponseExtras();
String mediationGroupName = extras.getString("mediation_group_name");
String mediationABTestName = extras.getString("mediation_ab_test_name");
String mediationABTestVariant = extras.getString("mediation_ab_test_variant");
}
});
ระบุชื่อแหล่งที่มาของโฆษณาเหตุการณ์ที่กำหนดเอง
สําหรับแหล่งที่มาของโฆษณาเหตุการณ์ที่กําหนดเอง พร็อพเพอร์ตี้ AdSourceResponseInfo.name
จะแสดงชื่อแหล่งที่มาของโฆษณา Custom event
หากคุณใช้เหตุการณ์ที่กำหนดเองหลายรายการ ชื่อแหล่งที่มาของโฆษณาจะมีความละเอียดไม่เพียงพอที่จะแยกความแตกต่างระหว่างเหตุการณ์ที่กำหนดเองหลายรายการ หากต้องการค้นหาเหตุการณ์ที่กําหนดเองที่เฉพาะเจาะจง ให้ทําดังนี้
- รับพร็อพเพอร์ตี้
AdSourceResponseInfo.name
- ตั้งชื่อแหล่งที่มาของโฆษณาที่ไม่ซ้ำกัน
ตัวอย่างต่อไปนี้จะตั้งชื่อแหล่งที่มาของโฆษณาที่ไม่ซ้ำกันสำหรับเหตุการณ์ที่กำหนดเอง
Kotlin
private fun getUniqueAdSourceName(loadedAdapterResponseInfo: AdSourceResponseInfo): String {
var adSourceName = loadedAdapterResponseInfo.name
if (adSourceName == "Custom Event") {
if (
loadedAdapterResponseInfo.adapterClassName ==
"com.google.ads.mediation.sample.customevent.SampleCustomEvent"
) {
adSourceName = "Sample Ad Network (Custom Event)"
}
}
return adSourceName
}
Java
private String getUniqueAdSourceName(@NonNull AdSourceResponseInfo loadedAdapterResponseInfo) {
String adSourceName = loadedAdapterResponseInfo.getName();
if (adSourceName.equals("Custom Event")) {
if (loadedAdapterResponseInfo
.getAdapterClassName()
.equals("com.google.ads.mediation.sample.customevent.SampleCustomEvent")) {
adSourceName = "Sample Ad Network (Custom Event)";
}
}
return adSourceName;
}
ดูข้อมูลเพิ่มเติมเกี่ยวกับแหล่งที่มาของโฆษณาที่ชนะได้ที่เรียกข้อมูลเกี่ยวกับ การตอบกลับโฆษณา
การผสานรวม App Attribution Partner (AAP)
โปรดดูรายละเอียดทั้งหมดเกี่ยวกับการส่งต่อข้อมูลรายได้จากโฆษณาไปยังแพลตฟอร์มข้อมูลวิเคราะห์ ในคู่มือของพาร์ทเนอร์
SDK ของพาร์ทเนอร์ |
---|
Adjust |
AppsFlyer |
Singular |
Tenjin |
แนวทางปฏิบัติแนะนำสำหรับการนำไปใช้
- ตั้งค่า Listener ทันทีเมื่อสร้างหรือได้รับสิทธิ์เข้าถึงออบเจ็กต์โฆษณา และก่อนแสดงโฆษณา ซึ่งจะช่วยให้คุณไม่พลาด การเรียกกลับของกิจกรรมแบบชำระเงิน
- ส่งข้อมูลรายได้จากโฆษณาระดับการแสดงผลไปยังเซิร์ฟเวอร์การวิเคราะห์ที่คุณต้องการทันทีเมื่อมีการเรียกใช้การเรียกกลับของเหตุการณ์ที่ชำระเงิน วิธีนี้ช่วยให้มั่นใจได้ว่าคุณจะไม่พลาดการเรียกกลับโดยไม่ได้ตั้งใจและหลีกเลี่ยงความคลาดเคลื่อนของข้อมูล
AdValue
AdValue
คือคลาสที่แสดงมูลค่าที่เป็นตัวเงินที่ได้รับจากโฆษณา
รวมถึงรหัสสกุลเงินของมูลค่าและประเภทความแม่นยำที่เข้ารหัสดังนี้
PrecisionType | คำอธิบาย |
---|---|
UNKNOWN |
มูลค่าโฆษณาที่ไม่รู้จัก ระบบจะแสดงผลข้อความนี้เมื่อเปิดใช้การรายงานผล Conversion ของ LTV แต่มีข้อมูลไม่เพียงพอ |
ESTIMATED |
มูลค่าโฆษณาโดยประมาณจากข้อมูลรวม |
PUBLISHER_PROVIDED |
ผู้เผยแพร่โฆษณาเป็นผู้ระบุมูลค่าโฆษณา เช่น CPM ที่กําหนดเองในกลุ่มสื่อกลาง |
PRECISE |
มูลค่าที่ตรงกับค่าใช้จ่ายโฆษณานี้ |
ในกรณีของการแสดงโฆษณาสื่อกลางของ AdMob นั้น AdMob จะพยายาม
ระบุESTIMATED
ค่าสำหรับแหล่งที่มาของโฆษณาที่
เพิ่มประสิทธิภาพ
สําหรับแหล่งที่มาของโฆษณาที่ไม่ได้เพิ่มประสิทธิภาพ หรือในกรณีที่มีข้อมูลรวมไม่เพียงพอที่จะรายงานค่าประมาณที่มีความหมาย ระบบจะแสดงค่า PUBLISHER_PROVIDED
ทดสอบการแสดงผลจากแหล่งที่มาของโฆษณาซึ่งใช้การเสนอราคา
หลังจากเหตุการณ์รายได้จากโฆษณาระดับการแสดงผลเกิดขึ้นสำหรับ แหล่งที่มาของโฆษณาที่เสนอราคาผ่านคำขอทดสอบ คุณจะได้รับเฉพาะค่าต่อไปนี้
UNKNOWN
: ระบุประเภทความแม่นยำ
0
: ระบุมูลค่าโฆษณา
ก่อนหน้านี้ คุณอาจเห็นประเภทความแม่นยำเป็นค่าอื่นที่ไม่ใช่
UNKNOWN
และมูลค่าโฆษณามากกว่า 0
ดูรายละเอียดเกี่ยวกับการส่งคำขอโฆษณาทดสอบได้ที่ เปิดใช้อุปกรณ์ทดสอบ