หน้านี้จะอธิบายวิธีการเริ่มต้นใช้งาน GMA Next-Gen SDK
ก่อนเริ่มต้น
หากต้องการใช้ GMA Next-Gen SDK คุณต้องผสานรวมโดยไม่ใช้สื่อกลาง หรือใช้ Ad Manager เป็นแพลตฟอร์มสื่อกลาง แพลตฟอร์มสื่อกลางอื่นๆ ไม่สามารถใช้งานร่วมกับ GMA Next-Gen SDK ได้
กำหนดค่าบิลด์สำหรับ GMA Next-Gen SDK
ส่วนต่อไปนี้จะแสดงขั้นตอนที่จำเป็นในการกำหนดค่า GMA Next-Gen SDK
รวมทรัพยากร Dependency ของ GMA Next-Gen SDK
GMA Next-Gen SDK ต้องใช้ทรัพยากร Dependency ของ Gradle ที่แตกต่างกัน ในไฟล์บิลด์ระดับแอป ให้นำการอ้างอิงทรัพยากร Dependency ของ Mobile Ads SDK ปัจจุบันออกและรวมอาร์ติแฟกต์ใหม่
| ทรัพยากร Dependency ของ Gradle | |
|---|---|
| กระแสน้ำ |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:25.2.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:25.2.0' } |
| GMA Next-Gen SDK |
Kotlindependencies { // ... // Comment out/remove play-services-ads. // implementation("com.google.android.gms:play-services-ads:25.2.0") implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.0.1") } Groovydependencies { // ... // Comment out/remove play-services-ads. // implementation 'com.google.android.gms:play-services-ads:25.2.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.0.1' } |
ยกเว้นโมดูล com.google.android.gms ในการผสานรวมสื่อกลาง
อะแดปเตอร์สื่อกลางยังคงต้องใช้ Mobile Ads SDK ปัจจุบัน อย่างไรก็ตาม GMA Next-Gen SDK มีคลาสทั้งหมดที่อะแดปเตอร์สื่อกลางต้องใช้ คุณต้องยกเว้นไม่ให้ดึง Mobile Ads SDK ปัจจุบันเข้ามาเป็นทรัพยากร Dependency โดยอะแดปเตอร์สื่อกลางเพื่อหลีกเลี่ยงข้อผิดพลาดในการคอมไพล์ที่เกี่ยวข้องกับสัญลักษณ์ที่ซ้ำกัน
ในไฟล์บิลด์ระดับแอป ให้ยกเว้นโมดูล play-services-ads และ
play-services-ads-lite ทั้ง 2 โมดูลทั่วโลกจากทรัพยากร Dependency ทั้งหมด
Kotlin
configurations.configureEach { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") }
Groovy
configurations.configureEach { exclude group: "com.google.android.gms", module: "play-services-ads" exclude group: "com.google.android.gms", module: "play-services-ads-lite" }
ตั้งค่าระดับ API ของ Android ขั้นต่ำและระดับ API ของ Android ที่ใช้คอมไพล์
GMA Next-Gen SDK กำหนดให้ใช้ระดับ API ของ Android ขั้นต่ำที่ 24 และระดับ API ของ Android ที่ใช้คอมไพล์ที่ 34 ปรับค่า minSdk และ compileSdk ในไฟล์บิลด์ระดับแอปเป็น 24 ขึ้นไปและ 34 ขึ้นไปตามลำดับ
เริ่มต้นใช้งาน GMA Next-Gen SDK
GMA Next-Gen SDK กำหนดให้ต้องเริ่มต้นใช้งานก่อนที่จะโหลดโฆษณา ซึ่งแตกต่าง จาก Mobile Ads SDK ปัจจุบันที่การเริ่มต้นใช้งานเป็นตัวเลือก แต่เราขอแนะนำให้ทำ อัปเดตโค้ดหากก่อนหน้านี้คุณไม่ได้เริ่มต้นใช้งาน SDK ก่อนที่จะโหลดโฆษณา
ส่วนนี้จะอธิบายความแตกต่างในการใช้งานการเริ่มต้นใช้งาน SDK ระหว่าง ปัจจุบันกับ GMA Next-Gen SDK
ตั้งค่ารหัสแอป Ad Manager
ตัวอย่างต่อไปนี้จะตั้งค่ารหัสแอป Ad Manager ใน SDK ปัจจุบันและ GMA Next-Gen SDK
| กระแสน้ำ |
การผสานรวมต้องใช้แท็ก <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="SAMPLE_APP_ID"/> </application> </manifest> |
| GMA Next-Gen SDK |
ระบุรหัสแอป Ad Manager โดยใช้โปรแกรมเป็นส่วนหนึ่งของการเริ่มต้นใช้งาน SDK Kotlin// Initialize the Google Mobile Ads SDK. val initConfig = InitializationConfig.Builder("SAMPLE_APP_ID").build() MobileAds.initialize(this@MainActivity, initConfig) {} Java// Initialize GMA Next-Gen SDK. InitializationConfig initConfig = new InitializationConfig.Builder("SAMPLE_APP_ID").build(); MobileAds.initialize(this, initConfig, initializationStatus -> {}); |
ตรวจสอบการเปลี่ยนแปลงการใช้งาน
ตัวอย่างต่อไปนี้จะเริ่มต้นใช้งาน SDK ปัจจุบันและ GMA Next-Gen SDK
| กระแสน้ำ |
เรียกใช้ Kotlinimport com.google.android.gms.ads.MobileAds import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val backgroundScope = CoroutineScope(Dispatchers.IO) backgroundScope.launch { // Initialize the Google Mobile Ads SDK on a background thread. MobileAds.initialize(this@MainActivity) {} } } } Javaimport 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); new Thread( () -> { // Initialize the Google Mobile Ads SDK on a background thread. MobileAds.initialize(this, initializationStatus -> {}); }) .start(); } } |
| GMA Next-Gen SDK |
เรียกใช้
Kotlinimport com.google.android.libraries.ads.mobile.sdk.MobileAds import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val backgroundScope = CoroutineScope(Dispatchers.IO) backgroundScope.launch { // Initialize GMA Next-Gen SDK on a background thread. MobileAds.initialize( this@MainActivity, // Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 InitializationConfig.Builder("SAMPLE_APP_ID").build() ) { // Adapter initialization is complete. } // SDK initialization is complete. If you don't want to wait for bidding adapters to finish // initializing, start loading ads now. } } } Javaimport com.google.android.libraries.ads.mobile.sdk.MobileAds; import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig; public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); new Thread( () -> { // Initialize GMA Next-Gen SDK on a background thread. MobileAds.initialize( this, // Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 new InitializationConfig.Builder("SAMPLE_APP_ID") .build(), initializationStatus -> { // Adapter initialization is complete. }); // SDK initialization is complete. If you don't want to wait for bidding adapters to // finish initializing, start loading ads now. }) .start(); } } |