หน้านี้จะอธิบายวิธีการเริ่มต้นใช้งาน GMA Next Gen SDK
ก่อนเริ่มต้น
หากต้องการใช้ GMA Next Gen SDK คุณต้องผสานรวมโดยไม่มีสื่อกลาง หรือใช้ AdMob เป็นแพลตฟอร์มสื่อกลาง แพลตฟอร์มสื่อกลางอื่นๆ ใช้ร่วมกับ GMA Next Gen SDK ไม่ได้
กำหนดค่าบิลด์สำหรับ GMA Next Gen SDK
ส่วนต่อไปนี้จะแสดงขั้นตอนที่จำเป็นในการกำหนดค่า GMA Next Gen SDK
รวมการขึ้นต่อกันของ GMA Next Gen SDK
GMA Next Gen SDK ต้องใช้การอ้างอิง Gradle ที่แตกต่างกัน ในไฟล์บิลด์ระดับแอป ให้นำการอ้างอิงไปยังทรัพยากร Dependency ของ Mobile Ads SDK ปัจจุบันออก แล้วรวมอาร์ติแฟกต์ใหม่
| ทรัพยากร Dependency ของ Gradle | |
|---|---|
| ปัจจุบัน |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:24.7.0") } ดึงดูดdependencies { // ... implementation 'com.google.android.gms:play-services-ads:24.7.0' } |
| GMA Next Gen SDK |
Kotlindependencies { // ... // Comment out/remove play-services-ads. // implementation("com.google.android.gms:play-services-ads:24.7.0") implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.21.0-beta01") } ดึงดูดdependencies { // ... // Comment out/remove play-services-ads. // implementation 'com.google.android.gms:play-services-ads:24.7.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.21.0-beta01' } |
ไม่รวมโมดูล com.google.android.gms ในการผสานรวมสื่อกลาง
อแดปเตอร์สื่อกลางจะยังคงขึ้นอยู่กับ Mobile Ads SDK ปัจจุบัน อย่างไรก็ตาม GMA Next Gen SDK มีคลาสทั้งหมดที่อแดปเตอร์สื่อกลางต้องการ หากต้องการหลีกเลี่ยงข้อผิดพลาดในการคอมไพล์ที่เกี่ยวข้องกับสัญลักษณ์ที่ซ้ำกัน คุณต้องยกเว้นไม่ให้สื่อกลาง ดึง Mobile Ads SDK ปัจจุบันมาเป็นทรัพยากร Dependency
ในไฟล์บิลด์ระดับแอป ให้ยกเว้นทั้งโมดูล play-services-ads และ
play-services-ads-lite จากทรัพยากร Dependency ทั้งหมดทั่วโลก
Kotlin
configurations.all { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") }
ดึงดูด
configurations { all { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") } }
ตั้งค่าระดับ 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 ระหว่าง SDK ปัจจุบันกับ GMA Next Gen SDK
ตั้งค่ารหัสแอป AdMob
ตัวอย่างต่อไปนี้จะตั้งค่า รหัสแอป AdMob ใน SDK ปัจจุบันและ GMA Next Gen
| ปัจจุบัน |
การผสานรวมต้องใช้แท็ก <manifest> <application> <!-- Sample AdMob 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 |
ระบุรหัสแอป AdMob โดยอัตโนมัติเป็นส่วนหนึ่งของการเริ่มต้น 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
| ปัจจุบัน |
เรียกใช้ 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 AdMob app ID: ca-app-pub-3940256099942544~3347511713 InitializationConfig.Builder("SAMPLE_APP_ID").build() ) { // Adapter initialization is complete. } // Other methods on MobileAds can now be called. } } } 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 AdMob app ID: ca-app-pub-3940256099942544~3347511713 new InitializationConfig.Builder("SAMPLE_APP_ID") .build(), initializationStatus -> { // Adapter initialization is complete. }); // Other methods on MobileAds can now be called. }) .start(); } } |