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

หน้านี้จะอธิบายวิธีการเริ่มต้นใช้งาน Google Mobile Ads SDK (เบต้า)

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

หากต้องการใช้ Google Mobile Ads SDK (เบต้า) คุณต้องผสานรวมโดยไม่ใช้สื่อกลาง หรือใช้ AdMob เป็นแพลตฟอร์มสื่อกลาง แพลตฟอร์มสื่อกลางอื่นๆ ไม่สามารถใช้งานร่วมกับ Google Mobile Ads SDK (เบต้า)

กำหนดค่าบิลด์สำหรับ Google Mobile Ads SDK (เบต้า)

ส่วนต่อไปนี้จะแสดงขั้นตอนที่จำเป็นในการกำหนดค่า Google Mobile Ads SDK (เบต้า)

รวมทรัพยากร Dependency ของ Google Mobile Ads SDK (เบต้า)

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

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

Kotlin

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

ดึงดูด

dependencies {
  // ...
  implementation 'com.google.android.gms:play-services-ads:24.7.0'
}
Google Mobile Ads SDK (เบต้า)

Kotlin

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")
}

ดึงดูด

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 ปัจจุบัน อย่างไรก็ตาม Google Mobile Ads 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 ขั้นต่ำและคอมไพล์

Google Mobile Ads SDK (เบต้า) ต้องใช้ระดับ API ขั้นต่ำของ Android ที่ 24 และระดับ API ของ Android ที่คอมไพล์ที่ 34 ปรับค่า minSdk และ compileSdk ใน ไฟล์บิลด์ระดับแอปเป็น 24 ขึ้นไปและ 34 ขึ้นไปตามลำดับ

เริ่มต้น Google Mobile Ads SDK (เบต้า)

Google Mobile Ads SDK (เบต้า) ต้องมีการเริ่มต้นก่อนที่จะโหลดโฆษณา ซึ่งเป็นการเปลี่ยนแปลงจาก Mobile Ads SDK ปัจจุบันที่การเริ่มต้นเป็นทางเลือก แต่เราขอแนะนำให้เริ่มต้น อัปเดตโค้ดหากก่อนหน้านี้คุณไม่ได้เริ่มต้น SDK ก่อนที่จะโหลดโฆษณา

ส่วนนี้จะอธิบายความแตกต่างในการติดตั้งใช้งานการเริ่มต้น SDK ระหว่าง SDK ปัจจุบันกับ Google Mobile Ads SDK (เบต้า)

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

ตัวอย่างต่อไปนี้จะตั้งค่า รหัสแอป AdMob ใน SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google (เบต้า) และ SDK ปัจจุบัน

ปัจจุบัน

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

<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>
Google Mobile Ads 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 Google Mobile Ads SDK (beta).
InitializationConfig initConfig =
    new InitializationConfig.Builder("SAMPLE_APP_ID").build();
MobileAds.initialize(this, initConfig, initializationStatus -> {});

ตรวจสอบการเปลี่ยนแปลงการติดตั้งใช้งาน

ตัวอย่างต่อไปนี้จะเริ่มต้น SDK ปัจจุบันและ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google (เบต้า)

ปัจจุบัน

เรียกใช้ 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();
  }
}
Google Mobile Ads SDK (เบต้า)

เรียกใช้ MobileAds.initialize() เพื่อเริ่มต้นใช้งาน Google Mobile Ads 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 Google Mobile Ads SDK (beta) 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.
    }
  }
}

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 Google Mobile Ads SDK (beta) 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();
  }
}