การผสานรวม SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เข้ากับแอปเป็นขั้นตอนแรกของการแสดงโฆษณาและสร้างรายได้ เมื่อผสานรวม SDK แล้ว คุณจะเลือกรูปแบบโฆษณา (เช่น โฆษณาเนทีฟหรือวิดีโอที่มีการให้รางวัล) แล้วทําตามขั้นตอนเพื่อใช้งานได้
ข้อควรทราบก่อนเริ่มต้น
ทําตามขั้นตอนต่อไปนี้เพื่อเตรียมแอป
ข้อกําหนดเบื้องต้นของแอป
- ใช้ Android Studio 3.2 ขึ้นไป
ตรวจสอบว่าไฟล์บิลด์ของแอปใช้ค่าต่อไปนี้
minSdkVersion
จาก19
ขึ้นไปcompileSdkVersion
จาก28
ขึ้นไป
ตั้งค่าแอปในบัญชี AdMob
ลงทะเบียนแอปของคุณเป็นแอป AdMob โดยทําตามขั้นตอนต่อไปนี้
ลงชื่อเข้าใช้หรือลงชื่อสมัครใช้บัญชี AdMob
ลงทะเบียนแอปกับ AdMob ขั้นตอนนี้จะสร้างแอป AdMob ที่มีรหัสแอป AdMob ที่ไม่ซ้ํากัน ซึ่งจําเป็นสําหรับการใช้งานภายหลังในคู่มือนี้
กําหนดค่าแอป
ในไฟล์
build.gradle
ระดับโปรเจ็กต์ ให้ใส่ที่เก็บ Maven ของ Google และที่เก็บส่วนกลางของ Maven ทั้งในส่วนbuildscript
และallprojects
ดังนี้buildscript { repositories { google() mavenCentral() } } allprojects { repositories { google() mavenCentral() } }
เพิ่มทรัพยากร Dependency สําหรับ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google ลงในไฟล์ Gradle ระดับแอปของโมดูล ซึ่งปกติจะเป็น
app/build.gradle
dependencies { implementation 'com.google.android.gms:play-services-ads:21.5.0' }
เพิ่ม AdMob รหัสแอป (ระบุใน AdMob UI) ลงในไฟล์
AndroidManifest.xml
ของแอป ในการดําเนินการดังกล่าว ให้เพิ่มแท็ก<meta-data>
ที่มีandroid:name="com.google.android.gms.ads.APPLICATION_ID"
คุณดูรหัสแอปได้ใน AdMob UI สําหรับandroid:value
ให้แทรกรหัสแอป AdMob ของคุณเองล้อมรอบด้วยเครื่องหมายคําพูด<manifest> <application> <!-- Sample AdMob 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>
ในแอปจริง ให้ใช้รหัสแอป AdMob จริง ไม่ใช่รหัสที่ระบุไว้ข้างต้น หากต้องการทดสอบ SDK ในแอป Hello World คุณสามารถใช้รหัสแอปตัวอย่างที่แสดงด้านบน
โปรดทราบว่าการเพิ่มแท็ก
<meta-data>
ตามที่ปรากฏด้านบน เกิดเหตุขัดข้องพร้อมกับข้อความ:The Google Mobile Ads SDK was initialized incorrectly.
(ไม่บังคับ) ประกาศสิทธิ์
AD_ID
ที่เวอร์ชันก่อนหน้าจะใช้งานได้กับ Android 13หากแอปใช้ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เวอร์ชัน 20.4.0 ขึ้นไป ให้ข้ามขั้นตอนนี้เนื่องจาก SDK จะประกาศสิทธิ์
com.google.android.gms.permission.AD_ID
โดยอัตโนมัติ และจะเข้าถึงรหัสโฆษณาได้ทุกเมื่อที่มีสําหรับแอปที่ใช้ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เวอร์ชัน 20.3.0 หรือต่ํากว่าและกําหนดเป้าหมายเป็น Android 13 คุณต้องเพิ่มสิทธิ์
com.google.android.gms.permission.AD_ID
ในไฟล์AndroidManifest.xml
เพื่อให้ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เข้าถึงรหัสโฆษณาได้<manifest> <application> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/> <-- For apps targeting Android 13 or higher & GMA SDK version 20.3.0 or lower --> <uses-permission android:name="com.google.android.gms.permission.AD_ID"/> </application> </manifest>
ดูข้อมูลเพิ่มเติมเกี่ยวกับการประกาศสิทธิ์
com.google.android.gms.permission.AD_ID
รวมถึงวิธีปิดใช้ได้ที่บทความใน Play Console นี้
เริ่มต้น SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google
ก่อนโหลดโฆษณา ให้แอปเริ่ม SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google ด้วยการเรียก MobileAds.initialize()
ซึ่งจะเริ่มต้น SDK และเรียก Listener ที่สมบูรณ์เมื่อเริ่มต้นเสร็จแล้ว (หรือหลังจากหมดเวลา 30 วินาที) ซึ่งจะต้องดําเนินการเพียงครั้งเดียว โดยทําได้เมื่อเปิดแอป
โฆษณาอาจโหลดล่วงหน้าโดย SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google หรือ SDK ของพาร์ทเนอร์สื่อกลางในการเรียก MobileAds.initialize()
หากต้องการขอความยินยอมจากผู้ใช้ในเขตเศรษฐกิจยุโรป (EEA) ให้ตั้งค่าแฟล็กเฉพาะคําขอ (เช่น tagForChildDirectedTreatment
หรือ tag_for_under_age_of_consent
) หรือดําเนินการอื่นๆ ก่อนโหลดโฆษณา โปรดตรวจสอบว่าได้ดําเนินการดังกล่าวก่อนเริ่มต้นใช้งาน SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google
ต่อไปนี้คือตัวอย่างวิธีเรียกเมธอด initialize()
ในกิจกรรม
ตัวอย่างกิจกรรมหลัก (ข้อความที่ตัดตอนมา)
Java
import com.google.android.gms.ads.MobileAds; import com.google.android.gms.ads.initialization.InitializationStatus; import com.google.android.gms.ads.initialization.OnInitializationCompleteListener; public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MobileAds.initialize(this, new OnInitializationCompleteListener() { @Override public void onInitializationComplete(InitializationStatus initializationStatus) { } }); } }
Kotlin
import com.google.android.gms.ads.MobileAds class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) MobileAds.initialize(this) {} } }
หากคุณใช้สื่อกลาง ให้รอจนกว่าจะมีการเรียกตัวแฮนเดิลการเล่นเสร็จ ก่อนที่จะโหลดโฆษณา เนื่องจากจะทําให้อะแดปเตอร์สื่อกลางทั้งหมดเริ่มทํางาน
เลือกรูปแบบโฆษณา
มีการนําเข้า SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google แล้ว และคุณพร้อมที่จะใช้โฆษณา AdMob มีรูปแบบโฆษณาต่างๆ มากมายเพื่อให้คุณเลือกรูปแบบที่เหมาะกับประสบการณ์ของผู้ใช้แอปมากที่สุดได้
แบนเนอร์
โฆษณาสี่เหลี่ยมผืนผ้าที่ปรากฏที่ด้านบนหรือด้านล่างของหน้าจออุปกรณ์ โฆษณาแบนเนอร์จะแสดงบนหน้าจอขณะที่ผู้ใช้โต้ตอบกับแอป และจะรีเฟรชโดยอัตโนมัติหลังจากช่วงเวลาหนึ่งๆ ได้ หากคุณเพิ่งเริ่มใช้การโฆษณาบนอุปกรณ์เคลื่อนที่ ก็เป็นวิธีที่ยอดเยี่ยมในการเริ่มต้นใช้งาน
โฆษณาคั่นระหว่างหน้า
โฆษณาแบบเต็มหน้าจอที่ครอบคลุมอินเทอร์เฟซของแอปจนกว่าผู้ใช้จะปิด สัญญาณเหล่านี้เหมาะสําหรับการหยุดชั่วคราวระหว่างการดําเนินการตามปกติของแอป เช่น ระหว่างเล่นเกมผ่านด่านหรือหลังจากการทํางานเสร็จเท่านั้น
เนทีฟ
โฆษณาที่ปรับแต่งได้ซึ่งตรงกับรูปลักษณ์ของแอป คุณกําหนดสถานที่และตําแหน่งที่จะวางได้เพื่อให้เลย์เอาต์สอดคล้องกับการออกแบบของแอปมากขึ้น
ได้รับรางวัลแล้ว
โฆษณาที่ให้รางวัลแก่ผู้ใช้ที่ดูวิดีโอสั้น และโต้ตอบกับโฆษณาและแบบสํารวจที่เล่นได้ ใช้สําหรับสร้างรายได้จากแอปที่เล่นฟรี
แหล่งข้อมูลเพิ่มเติม
ที่เก็บโฆษณาบนอุปกรณ์เคลื่อนที่ Google บน GitHub สาธิตวิธีใช้รูปแบบโฆษณาต่างๆ ที่ API นี้นําเสนอ