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