เริ่มต้นใช้งาน SDK

หน้านี้มีวิธีการเริ่มต้นใช้งาน GMA Next-Gen SDK

ก่อนเริ่มต้น

หากต้องการใช้ GMA Next Gen SDK คุณต้องผสานรวมโดยไม่มีสื่อกลาง หรือใช้ Ad Manager เป็นแพลตฟอร์มสื่อกลาง แพลตฟอร์มสื่อกลางอื่นๆ ใช้ร่วมกับ GMA SDK รุ่นถัดไปไม่ได้

กำหนดค่าบิลด์สำหรับ GMA Next-Gen SDK

ส่วนต่อไปนี้จะแสดงขั้นตอนที่จำเป็นในการกำหนดค่า GMA Next-Gen SDK

รวมการอ้างอิง GMA Next-Gen SDK

GMA Next-Gen SDK ต้องใช้การอ้างอิง Gradle ที่แตกต่างกัน ในไฟล์บิลด์ระดับแอป ให้นำการอ้างอิงไปยังทรัพยากร Dependency ของ Mobile Ads SDK ปัจจุบันออก แล้วรวมอาร์ติแฟกต์ใหม่

ทรัพยากร Dependency ของ Gradle
ปัจจุบัน

Kotlin

dependencies {
  // ...
  implementation("com.google.android.gms:play-services-ads:24.9.0")
}

ดึงดูด

dependencies {
  // ...
  implementation 'com.google.android.gms:play-services-ads:24.9.0'
}
GMA Next-Gen SDK

Kotlin

dependencies {
  // ...
  // Comment out/remove play-services-ads.
  // implementation("com.google.android.gms:play-services-ads:24.9.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.9.0'
  implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.22.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.configureEach {
    exclude(group = "com.google.android.gms", module = "play-services-ads")
    exclude(group = "com.google.android.gms", module = "play-services-ads-lite")
}

ดึงดูด

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 ขั้นต่ำและคอมไพล์

GMA 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 SDK รุ่นถัดไป

ตั้งค่ารหัสแอป Ad Manager

ตัวอย่างต่อไปนี้จะตั้งค่ารหัสแอป Ad Manager ใน SDK ปัจจุบันและ GMA Next-Gen

ปัจจุบัน

การผสานรวมต้องใช้แท็ก <meta-data> ที่มี android:name="com.google.android.gms.ads.APPLICATION_ID" ซึ่งมี รหัสแอป Ad Manager ภายในไฟล์ AndroidManifest.xml ของแอป

<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

ปัจจุบัน

เรียกใช้ MobileAds.initialize() เพื่อเริ่มต้น SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google ขอแนะนําให้เริ่มต้นในเธรดเบื้องหลังเพื่อลด ANR

Kotlin

import 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) {}
    }
  }
}

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

    new Thread(
            () -> {
              // Initialize the Google Mobile Ads SDK on a background thread.
              MobileAds.initialize(this, initializationStatus -> {});
            })
        .start();
  }
}
GMA Next-Gen SDK

เรียกใช้ MobileAds.initialize() เพื่อเริ่มต้นใช้ GMA Next-Gen SDK ต้องเรียกใช้ในเธรดเบื้องหลัง หากไม่ทำเช่นนั้นอาจทำให้เกิดข้อผิดพลาด "แอปพลิเคชันไม่ตอบสนอง" (ANR)

Kotlin

import 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.
      }
      // Other methods on MobileAds can now be called.
    }
  }
}

Java

import 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.
                  });
              // Other methods on MobileAds can now be called.
            })
        .start();
  }
}