Google Mobile Ads SDK รองรับการสร้างรายได้จากแอปด้วยพร็อพเพอร์ตี้ Ad Exchange คู่มือนี้จะแสดงวิธี กำหนดค่าแอปสำหรับรูปแบบโฆษณาทั้งหมดที่ Ad Exchange รองรับ
ข้อกำหนดเบื้องต้น
- ทำตาม ข้อกำหนดเบื้องต้น
- กำหนดค่า แอป สำหรับ Google Mobile Ads SDK
กำหนดค่าแอปเพื่อเข้าถึง 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();