אתחול ה-SDK

בדף הזה מוסבר איך להפעיל את 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
היחס הנוכחי

Kotlin

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

Groovy

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

Groovy

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 הנוכחי כך שלא יימשך כתלות על ידי מתאמי גישור.

בקובץ 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 (בטא):

היחס הנוכחי

ההטמעה דורשת תג <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 -> {});

בדיקת שינויים בהטמעה

בדוגמאות הבאות מוצגת הפעלה של הגרסה הנוכחית ושל Google Mobile Ads SDK (בטא):

היחס הנוכחי

קוראים ל-MobileAds.initialize() כדי להפעיל את Google Mobile Ads SDK. מומלץ לבצע את ההפעלה בשרשור רקע כדי להפחית את שגיאות ה-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();
  }
}