ตั้งค่าการเข้าถึงโดยตรงสําหรับ Ad Exchange

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

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

กำหนดค่าแอปสำหรับการเข้าถึง Ad Exchange

เพิ่มรหัสแอป Ad Manager (ระบุไว้ใน UI ของ Ad Manager) ลงในไฟล์ AndroidManifest.xml ของแอปผ่านแท็ก <meta-data> ที่มี android:name="com.google.android.gms.ads.APPLICATION_ID" สําหรับ android:value ให้แทรกรหัสแอป Ad Manager ของคุณเองโดยใส่เครื่องหมายคำพูด

<manifest>
    <application>
        <!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>

โปรดทราบว่าการไม่เพิ่มแท็ก <meta-data> ตามที่แสดงด้านบนจะทำให้ระบบขัดข้องพร้อมแสดงข้อความต่อไปนี้

Missing application ID.

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

โหลดโฆษณาจาก Ad Exchange

คุณสามารถใช้โค้ดเว็บพร็อพเพอร์ตี้ Ad Exchange ที่มีเครื่องหมายทับท้ายในแอปแทนรหัสหน่วยโฆษณา

เช่น หากต้องการโหลดโฆษณาแบนเนอร์โดยวาง AdManagerAdView ในเลย์เอาต์สำหรับ Activity ให้ทำดังนี้

# main_activity.xml
...
  <com.google.android.gms.ads.admanager.AdManagerAdView
      xmlns:ads="http://schemas.android.com/apk/res-auto"
      android:id="@+id/adManagerAdView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_alignParentBottom="true"
      ads:adSize="BANNER"
      ads:adUnitId="ca-mb-app-pub-5629679302779023/">
  </com.google.android.gms.ads.admanager.AdManagerAdView>

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

Invalid Request. Cannot determine request type. Is your ad unit id correct?

นอกจากนี้ โปรดทราบว่าคุณสามารถแปลงรหัสเว็บพร็อพเพอร์ตี้ของ Ad Exchange เป็นหน่วยโฆษณาได้ หลังจากนั้น คุณจะใช้ UI ของ Ad Manager เพื่อสร้างแท็ก Ad Exchange และคัดลอกลงในแอปได้ แท็กที่สร้างขึ้นควรมีโค้ดเว็บพร็อพเพอร์ตี้ Ad Exchange ตามด้วยรหัสหน่วยโฆษณาที่สืบทอดโดยไม่มีเครื่องหมายทับท้าย เช่น ca-mb-app-pub-5629679302779023/banner

หรือจะสร้าง AdManagerAdView แบบเป็นโปรแกรมก็ได้ โดยทำดังนี้

JavaKotlin
AdManagerAdView adView = new AdManagerAdView(this);

adView.setAdSizes(AdSize.BANNER);
adView.setAdUnitId("ca-mb-app-pub-5629679302779023/");

// TODO: Add adView to your view hierarchy.
val adView = AdManagerAdView(this)

adView.adSizes = AdSize.BANNER
adView.adUnitId = "ca-mb-app-pub-5629679302779023/"

// TODO: Add adView to your view hierarchy.

เมื่อติดตั้ง AdManagerAdView แล้ว คุณสามารถเรียกใช้loadAd()วิธีในคลาส AdManagerAdView และปรับแต่งลักษณะการทํางานของโฆษณาโดยใช้เหตุการณ์ของโฆษณา

เท่านี้ก็เรียบร้อย ตอนนี้แอปของคุณพร้อมที่จะโหลดและแสดงโฆษณาแบนเนอร์จาก Ad Exchange แล้ว

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

(ผู้เผยแพร่โฆษณาในยุโรปที่ได้รับอนุมัติเท่านั้น) เพิ่มราคาพื้น

คุณสามารถส่งคำขอใช้ฟีเจอร์ "ราคาพื้น"

เมื่อได้รับอนุมัติแล้ว คุณสามารถรวมชั้นสาธารณะหรือชั้นส่วนตัวในคําขอโฆษณาได้โดยใช้พารามิเตอร์ pubf และ pvtf ตามลําดับ ในตัวอย่างโค้ดต่อไปนี้ ให้แทนที่ "123" ด้วยราคาพื้นในหน่วยไมโครและสกุลเงินเริ่มต้นของเครือข่าย ตัวอย่างวิธีใช้ไมโคร: หากสกุลเงินเริ่มต้นของคุณคือ USD การป้อน "6000000" จะเท่ากับ $6.00

JavaKotlin
Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

AdManagerAdRequest request = new AdManagerAdRequest.Builder()
    .addNetworkExtrasBundle(AdMobAdapter.class, extras)
    .build();
val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

val request = AdManagerAdRequest.Builder()
    .addNetworkExtrasBundle(AdMobAdapter::class::java, extras)
    .build();