בדף הזה מוסבר איך להפעיל את Google Mobile Ads SDK (בטא).
לפני שמתחילים
כדי להשתמש ב-Google Mobile Ads SDK (בטא), צריך לבצע שילוב ללא בחירת רשת מודעות או להשתמש ב-AdMob כפלטפורמה לבחירת רשת מודעות. פלטפורמות התיווך האחרות לא תואמות ל-Google Mobile Ads SDK (בטא).
הגדרת ה-build ל-Google Mobile Ads SDK (בטא)
בקטעים הבאים מוסבר איך להגדיר את Google Mobile Ads SDK (בטא).
הכללה של התלות ב-Google Mobile Ads SDK (בטא)
Google Mobile Ads SDK (בטא) דורש תלות שונה ב-Gradle. בקובץ ה-build ברמת האפליקציה, מסירים את ההפניה לתלות הנוכחית ב-Mobile Ads SDK וכוללים את הארטיפקט החדש.
יחסי תלות של Gradle | |
---|---|
היחס הנוכחי |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:24.7.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:24.7.0' } |
Google Mobile Ads 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") } Groovydependencies { // ... // 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 הנוכחי כך שלא יימשך כתלות על ידי מתאמי גישור.
בקובץ build ברמת האפליקציה, מוציאים את המודולים play-services-ads
ו-play-services-ads-lite
מכל התלויות באופן גלובלי.
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") } }
הגדרת רמות ה-API המינימליות והמצטברות ב-Android
Google Mobile Ads SDK (בטא) דורש רמת API מינימלית של Android 24 ורמת API של Android 34 למהדר. משנים את הערכים של minSdk
ו-compileSdk
בקובץ build ברמת האפליקציה ל-24 ומעלה ול-34 ומעלה, בהתאמה.
אתחול של Google Mobile Ads SDK (בטא)
ב-Google Mobile Ads SDK (בטא) נדרשת הפעלה לפני טעינת מודעות. זה שינוי לעומת Mobile Ads SDK הנוכחי, שבו ההפעלה היא אופציונלית אבל מומלצת. אם לא הפעלתם את ה-SDK לפני טעינת המודעות, תצטרכו לעדכן את הקוד.
בקטע הזה מוסבר על ההבדלים בהטמעה של אתחול ה-SDK בין הגרסה הנוכחית לבין Google Mobile Ads SDK (בטא).
הגדרת מזהה האפליקציה ב-AdMob
בדוגמאות הבאות מוגדר מזהה האפליקציה ב-AdMob בגרסה הנוכחית וב-Google Mobile Ads SDK (בטא):
היחס הנוכחי |
ההטמעה דורשת תג <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 -> {}); |
בדיקת שינויים בהטמעה
בדוגמאות הבאות מוצגת הפעלה של הגרסה הנוכחית ושל Google Mobile Ads SDK (בטא):
היחס הנוכחי |
קוראים ל- 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(); } } |
Google Mobile Ads 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 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. } } } 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 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(); } } |