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

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

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

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

  • นําเข้า SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เวอร์ชัน 21.1.0 ขึ้นไป

โฆษณาแต่ละรูปแบบมี OnPaidEventListener ตลอดอายุการใช้งานของเหตุการณ์โฆษณา Google Mobile Ads SDK จะตรวจสอบเหตุการณ์การแสดงผลและเรียกใช้ตัวแฮนเดิลที่มีมูลค่าที่ได้รับ

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

Kotlin

import com.google.android.gms.ads.rewarded.RewardedAd

class MainActivity : AppCompatActivity() {
  private var rewardedAd: RewardedAd? = null
  private final var TAG = "MainActivity"

  override fun onCreate(savedInstanceState: Bundle?) {
    val adRequest = AdRequest.Builder().build()

    RewardedAd.load(this, "AD_UNIT_ID",
      adRequest, object: RewardedAdLoadCallback() {
        override fun onAdLoaded(ad: RewardedAd) {
          rewardedAd = ad
          // Set paid event listener
          rewardedAd.onPaidEventListener = OnPaidEventListener { adValue ->
            // TODO: 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 precision = adValue.precisionType

            // Get the ad unit ID.
            val adUnitId = rewardedAd.adUnitId

            val loadedAdapterResponseInfo = rewardedAd.responseInfo.loadedAdapterResponse
            val adSourceName = loadedAdapterResponseInfo.adSourceName
            val adSourceId = loadedAdapterResponseInfo.adSourceId
            val adSourceInstanceName = loadedAdapterResponseInfo.adSourceInstanceName
            val adSourceInstanceId = loadedAdapterResponseInfo.adSourceInstanceId
            val extras = rewardedAd.responseInfo.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

import com.google.android.gms.ads.rewarded.RewardedAd;

public class MainActivity extends Activity {
  private RewardedAd rewardedAd;
  private final String TAG = "MainActivity";

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    AdRequest adRequest = new AdRequest.Builder().build();

    RewardedAd.load(this, "AD_UNIT_ID",
      adRequest, new RewardedAdLoadCallback(){
        @Override
        public void onAdLoaded(@NonNull RewardedAd ad) {
          rewardedAd = ad;
          // Set paid event listener
          rewardedAd.setOnPaidEventListener(new OnPaidEventListener() {
            @Override
            public void onPaidEvent(AdValue adValue) {
              // TODO: 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 = adValue.getValueMicros();
              String currencyCode = adValue.getCurrencyCode();
              int precision = adValue.getPrecisionType();

              // Get the ad unit ID.
              String adUnitId = rewardedAd.getAdUnitId();
              
              AdapterResponseInfo loadedAdapterResponseInfo = rewardedAd.getResponseInfo().
                  getLoadedAdapterResponseInfo();
              String adSourceName = loadedAdapterResponseInfo.getAdSourceName();
              String adSourceId = loadedAdapterResponseInfo.getAdSourceId();
              String adSourceInstanceName = loadedAdapterResponseInfo.getAdSourceInstanceName();
              String adSourceInstanceId = loadedAdapterResponseInfo.getAdSourceInstanceId();

              Bundle extras = rewardedAd.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");
            }
          });
        }
    });
  }
}

ดูข้อมูลเพิ่มเติมเกี่ยวกับแหล่งที่มาของโฆษณาที่ชนะได้ที่ดึงข้อมูลเกี่ยวกับการตอบกลับโฆษณา

การผสานรวม App Attribution Partner (AAP)

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

SDK ของพาร์ทเนอร์
Adjust
AppsFlyer
Singular
Tenjin

แนวทางปฏิบัติแนะนำในการนำใช้งาน

  • ตั้งค่า Listener ทันทีที่คุณสร้างหรือเข้าถึงออบเจ็กต์โฆษณา และก่อนแสดงโฆษณา ซึ่งจะช่วยให้คุณไม่พลาดการเรียกกลับเหตุการณ์แบบชำระเงิน
  • ส่งข้อมูลรายได้จากโฆษณาระดับการแสดงผลไปยังเซิร์ฟเวอร์ข้อมูลวิเคราะห์ที่ต้องการทันทีเมื่อมีการเรียกใช้การเรียกกลับเหตุการณ์แบบชําระเงิน วิธีนี้ช่วยให้มั่นใจว่าคุณจะไม่ทิ้งการเรียกกลับโดยไม่ตั้งใจและหลีกเลี่ยงความคลาดเคลื่อนของข้อมูล

AdValue

AdValue คือคลาสที่แสดงมูลค่าเงินที่ได้รับจากโฆษณา ซึ่งรวมถึงรหัสสกุลเงินของค่าและประเภทความแม่นยำที่เข้ารหัสไว้ดังด้านล่าง

PrecisionType คำอธิบาย
UNKNOWN ค่าโฆษณาที่ไม่รู้จัก ระบบจะแสดงผลลัพธ์นี้เมื่อเปิดใช้ LTV Pingback แต่มีข้อมูลไม่เพียงพอ
ESTIMATED มูลค่าโฆษณาโดยประมาณจากข้อมูลรวม
PUBLISHER_PROVIDED ผู้เผยแพร่โฆษณาเป็นผู้ระบุมูลค่าโฆษณา เช่น CPM ที่กําหนดเองในกลุ่มสื่อกลาง
PRECISE มูลค่าที่ตรงกับค่าใช้จ่ายโฆษณานี้

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

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

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

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

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

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

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