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