หน้านี้มีวิธีการเริ่มต้นใช้งาน GMA Next-Gen SDK
ก่อนเริ่มต้น
หากต้องการใช้ GMA 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.8.0") } ดึงดูดdependencies { // ... implementation 'com.google.android.gms:play-services-ads:24.8.0' } |
| GMA Next-Gen SDK |
Kotlindependencies { // ... // Comment out/remove play-services-ads. // implementation("com.google.android.gms:play-services-ads:24.8.0") implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.22.0-beta01") } ดึงดูดdependencies { // ... // Comment out/remove play-services-ads. // implementation 'com.google.android.gms:play-services-ads:24.8.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.22.0-beta01' } |
ไม่รวมโมดูล com.google.android.gms ในการผสานรวมสื่อกลาง
อแดปเตอร์สื่อกลางจะยังคงขึ้นอยู่กับ Mobile Ads SDK ปัจจุบัน อย่างไรก็ตาม GMA 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 ปัจจุบันและ SDK รุ่นถัดไปของ GMA
| ปัจจุบัน |
การผสานรวมต้องใช้แท็ก <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 ปัจจุบันและ SDK รุ่นถัดไปของ GMA
| ปัจจุบัน |
เรียกใช้ 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(); } } |