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

เลือกแพลตฟอร์ม: Android iOS Android (เดิม)

Google Mobile Ads SDK รองรับการสร้างรายได้จากแอปด้วยพร็อพเพอร์ตี้ 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 ขั้นตอนเดียวกันนี้ใช้ได้กับ รูปแบบโฆษณาทั้งหมดที่ Google Mobile Ads SDK รองรับ

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

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

เช่น หากต้องการโหลดโฆษณาแบนเนอร์โดยวาง 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>

หรือจะสร้างลำดับชั้นการแสดงผลแบบเป็นโปรแกรมก็ได้

Java

AdManagerAdView adView = new AdManagerAdView(this);

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

// TODO: Add adView to your view hierarchy.

Kotlin

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 จะทําให้เกิดข้อผิดพลาดในคําขอโฆษณาพร้อมข้อความต่อไปนี้

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

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

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

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

คุณส่งคำขอสำหรับฟีเจอร์ "ราคาพื้น"ได้

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

Java

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();

Kotlin

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();