รายได้จากโฆษณาระดับการแสดงผล

เลือกแพลตฟอร์ม: Android เลือกใหม่ Android iOS Unity

เมื่อมีการแสดงผล GMA Next-Gen SDK จะให้ข้อมูลรายได้จากโฆษณา ที่เชื่อมโยงกับการแสดงผลนั้น คุณสามารถใช้ข้อมูลนี้เพื่อคํานวณมูลค่าตลอดช่วงชีวิตของลูกค้าของผู้ใช้ หรือส่งต่อข้อมูลไปยังระบบอื่นๆ ที่เกี่ยวข้อง

คู่มือนี้มีไว้เพื่อช่วยคุณติดตั้งใช้งานการดึงข้อมูลรายได้จากโฆษณาระดับการแสดงผลในแอป Android

ข้อกำหนดเบื้องต้น

โฆษณาแต่ละรูปแบบจะมี onAdPaid โค้ดเรียกกลับของเหตุการณ์ ในระหว่างวงจรของเหตุการณ์โฆษณา GMA Next-Gen 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 หากคุณใช้เหตุการณ์ที่กําหนดเองหลายรายการ ชื่อแหล่งที่มาของโฆษณาจะไม่ละเอียดเพียงพอที่จะแยกความแตกต่างระหว่างเหตุการณ์ที่กําหนดเองหลายรายการ หากต้องการค้นหาเหตุการณ์ที่กําหนดเองที่เฉพาะเจาะจง ให้ทำดังนี้

  1. รับพร็อพเพอร์ตี้AdSourceResponseInfo.name
  2. ตั้งชื่อแหล่งที่มาของโฆษณาที่ไม่ซ้ำกัน

ตัวอย่างต่อไปนี้จะตั้งชื่อแหล่งที่มาของโฆษณาที่ไม่ซ้ำกันสำหรับเหตุการณ์ที่กำหนดเอง

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 มูลค่าโฆษณาที่ไม่ทราบ ระบบจะแสดงผลค่านี้เมื่อเปิดใช้การ Pingback ของ LTV แต่มีข้อมูลไม่เพียงพอ
ESTIMATED มูลค่าโฆษณาโดยประมาณจากข้อมูลรวม
PUBLISHER_PROVIDED มูลค่าโฆษณาที่ผู้เผยแพร่โฆษณาระบุ เช่น CPM ที่กําหนดเองในกลุ่มสื่อกลาง
PRECISE มูลค่าที่แน่นอนในการชำระสำหรับโฆษณานี้

ในกรณีของสื่อกลาง AdMob นั้น AdMob จะพยายาม แสดงมูลค่า ESTIMATED สําหรับแหล่งที่มาของโฆษณาที่ ได้รับการ เพิ่มประสิทธิภาพ สําหรับแหล่งที่มาของโฆษณาที่ไม่ได้เพิ่มประสิทธิภาพ หรือในกรณีที่มีข้อมูลรวมไม่เพียงพอที่จะรายงานการประมาณที่มีความหมาย ระบบจะแสดงมูลค่า PUBLISHER_PROVIDED

ทดสอบการแสดงผลจากแหล่งที่มาของโฆษณาซึ่งใช้การเสนอราคา

หลังจากเกิดเหตุการณ์รายได้จากโฆษณาระดับการแสดงผลสําหรับ แหล่งที่มาของโฆษณาซึ่งใช้การเสนอราคาผ่านคําขอทดสอบ คุณจะได้รับเฉพาะค่าต่อไปนี้

  • UNKNOWN: ระบุประเภทความแม่นยํา
  • 0: ระบุมูลค่าโฆษณา

ก่อนหน้านี้ คุณอาจเห็นประเภทความแม่นยำเป็นค่าอื่นที่ไม่ใช่ UNKNOWN และมูลค่าโฆษณามากกว่า 0

ดูรายละเอียดเกี่ยวกับการส่งคําขอโฆษณาทดสอบได้ที่ เปิดใช้อุปกรณ์ทดสอบ