Trang này trình bày hướng dẫn cách khởi chạy SDK quảng cáo trên thiết bị di động thế hệ mới.
Trước khi bắt đầu
Để sử dụng SDK Quảng cáo trên thiết bị di động thế hệ mới, bạn phải tích hợp mà không cần dàn xếp hoặc sử dụng Ad Manager làm nền tảng dàn xếp. Các nền tảng dàn xếp khác không tương thích với SDK Quảng cáo trên thiết bị di động thế hệ mới.
Định cấu hình bản dựng cho SDK quảng cáo trên thiết bị di động thế hệ mới
Các phần sau đây cho bạn biết các bước cần thiết để định cấu hình SDK Quảng cáo trên thiết bị di động thế hệ mới.
Thêm phần phụ thuộc SDK quảng cáo trên thiết bị di động thế hệ mới
SDK Quảng cáo trên thiết bị di động thế hệ mới yêu cầu một phần phụ thuộc Gradle khác. Trong tệp bản dựng cấp ứng dụng, hãy xoá nội dung tham chiếu đến phần phụ thuộc SDK Quảng cáo trên thiết bị di động hiện tại và thêm cấu phần phần mềm mới.
Phần phụ thuộc Gradle | |
---|---|
Hiện tại |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:24.4.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:24.4.0' } |
Thế hệ mới |
Kotlindependencies { // ... // Comment out/remove play-services-ads. // implementation("com.google.android.gms:play-services-ads:24.4.0") implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.17.0-alpha02") } Groovydependencies { // ... // Comment out/remove play-services-ads. // implementation 'com.google.android.gms:play-services-ads:24.4.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.17.0-alpha02' } |
Loại trừ các mô-đun com.google.android.gms
trong các chế độ tích hợp dàn xếp
Bộ chuyển đổi dàn xếp tiếp tục phụ thuộc vào SDK quảng cáo trên thiết bị di động hiện tại. Tuy nhiên, SDK quảng cáo trên thiết bị di động thế hệ mới bao gồm tất cả các lớp mà bộ chuyển đổi dàn xếp yêu cầu. Để tránh lỗi biên dịch liên quan đến các ký hiệu trùng lặp, bạn cần loại trừ SDK Quảng cáo trên thiết bị di động hiện tại khỏi việc được các bộ chuyển đổi dàn xếp lấy làm phần phụ thuộc.
Trong tệp bản dựng cấp ứng dụng, hãy loại trừ cả mô-đun play-services-ads
và play-services-ads-lite
trên toàn cầu khỏi tất cả các phần phụ thuộc.
Kotlin
configurations.all { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") }
Groovy
configurations { all { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") } }
Đặt cấp độ API Android tối thiểu và biên dịch
SDK Quảng cáo trên thiết bị di động thế hệ mới yêu cầu API Android cấp 24 trở lên và API Android biên dịch cấp 34. Điều chỉnh các giá trị minSdk
và compileSdk
trong tệp bản dựng cấp ứng dụng thành 24 trở lên và 34 trở lên tương ứng.
Khởi chạy SDK thế hệ mới
SDK Quảng cáo trên thiết bị di động thế hệ mới yêu cầu khởi chạy trước khi tải quảng cáo. Đây là điểm khác biệt so với SDK Quảng cáo trên thiết bị di động hiện tại, trong đó việc khởi chạy là không bắt buộc nhưng nên thực hiện. Cập nhật mã của bạn nếu trước đây bạn chưa khởi chạy SDK trước khi tải quảng cáo.
Phần này trình bày sự khác biệt trong cách triển khai quá trình khởi chạy SDK giữa SDK quảng cáo trên thiết bị di động hiện tại và SDK quảng cáo trên thiết bị di động thế hệ mới.
Đặt mã ứng dụng Ad Manager
Các ví dụ sau đây thiết lập mã ứng dụng Ad Manager trong SDK Quảng cáo trên thiết bị di động hiện tại và thế hệ mới:
Hiện tại |
Để tích hợp, bạn cần có thẻ <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> |
Thế hệ mới |
Cung cấp mã ứng dụng Ad Manager theo phương thức lập trình trong quá trình khởi chạy SDK. Kotlin// Initialize the Google Mobile Ads SDK. val initConfig = InitializationConfig.Builder("SAMPLE_APP_ID").build() MobileAds.initialize(this@MainActivity, initConfig) {} Java// Initialize the Google Mobile Ads SDK. InitializationConfig initConfig = new InitializationConfig.Builder("SAMPLE_APP_ID").build(); MobileAds.initialize(this, initConfig, initializationStatus -> {}); |
Xem xét các thay đổi về cách triển khai
Các ví dụ sau đây khởi chạy SDK quảng cáo trên thiết bị di động hiện tại và thế hệ mới:
Hiện tại |
Gọi 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(); } } |
Thế hệ mới |
Gọi 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 the Google Mobile Ads 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. } } } 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 the Google Mobile Ads 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(); } } |