SDK'yı başlatma

Bu sayfada, Google Mobile Ads SDK'sını (beta) başlatma talimatları yer almaktadır.

Başlamadan önce

Google Mobile Ads SDK'sını (beta) kullanmak için uyumlulaştırma olmadan entegrasyon yapmanız veya uyumlulaştırma platformu olarak AdMob'u kullanmanız gerekir. Diğer uyumlulaştırma platformları, Google Mobile Ads SDK'sı (beta) ile uyumlu değildir.

Derlemenizi Google Mobile Ads SDK'sı (beta) için yapılandırma

Aşağıdaki bölümlerde, Google Mobile Ads SDK'sını (beta) yapılandırmak için gerekli adımlar gösterilmektedir.

Google Mobile Ads SDK'sı (beta) bağımlılığını ekleme

Google Mobile Ads SDK'sı (beta) için farklı bir Gradle bağımlılığı gerekir. Uygulama düzeyindeki derleme dosyanızda, mevcut Mobile Ads SDK'sı bağımlılığına yapılan referansı kaldırın ve yeni yapıyı ekleyin.

Gradle bağımlılıkları
Şu anki adı

Kotlin

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

Modern

dependencies {
  // ...
  implementation 'com.google.android.gms:play-services-ads:24.7.0'
}
Google Mobile Ads SDK'sı (beta)

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

Modern

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'
}

Uyumlulaştırma entegrasyonlarında com.google.android.gms modüllerini hariç tutma

Uyumlulaştırma bağdaştırıcıları, mevcut Mobile Ads SDK'sına bağlı olmaya devam eder. Ancak Google Mobile Ads SDK'sı (beta), uyumlulaştırma bağdaştırıcıları için gereken tüm sınıfları içerir. Yinelenen sembollerle ilgili derleme hatalarını önlemek için mevcut Mobile Ads SDK'sının aracılık bağdaştırıcıları tarafından bağımlılık olarak çekilmesini engellemeniz gerekir.

Uygulama düzeyindeki derleme dosyanızda hem play-services-ads hem de play-services-ads-lite modüllerini tüm bağımlılıklardan genel olarak hariç tutun.

Kotlin

configurations.all {
    exclude(group = "com.google.android.gms", module = "play-services-ads")
    exclude(group = "com.google.android.gms", module = "play-services-ads-lite")
}

Modern

configurations {
  all {
    exclude(group = "com.google.android.gms", module = "play-services-ads")
    exclude(group = "com.google.android.gms", module = "play-services-ads-lite")
  }
}

Minimum ve derleme Android API düzeylerini ayarlama

Google Mobile Ads SDK'sı (beta) için minimum Android API düzeyi 24 ve derleme Android API düzeyi 34 olmalıdır. Uygulama düzeyindeki derleme dosyanızda minSdk ve compileSdk değerlerini sırasıyla 24 veya daha yüksek ve 34 veya daha yüksek olarak ayarlayın.

Google Mobile Ads SDK'sını (beta) başlatma

Google Mobile Ads SDK'sında (beta) reklamların yüklenmesinden önce başlatma işlemi yapılması gerekir. Bu, başlatma işleminin isteğe bağlı olduğu ancak önerildiği mevcut Mobile Ads SDK'sında yapılan bir değişikliktir. Daha önce reklamları yüklemeden önce SDK'yı başlatmıyorsanız kodunuzu güncelleyin.

Bu bölümde, mevcut SDK ile Google Mobile Ads SDK'sının (beta) SDK başlatma uygulaması arasındaki farklar ele alınmaktadır.

AdMob uygulama kimliğini ayarlama

Aşağıdaki örneklerde, mevcut ve Google Mobile Ads SDK'sında (beta) AdMob uygulama kimliği ayarlanmaktadır:

Şu anki adı

Entegrasyon için uygulamanızın AndroidManifest.xml dosyasında AdMob uygulama kimliğinizi içeren <meta-data> etiketi gerekir.android:name="com.google.android.gms.ads.APPLICATION_ID"

<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'sı (beta)

AdMob uygulama kimliğinizi, SDK başlatma işleminin bir parçası olarak programatik bir şekilde sağlayın.

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

Uygulama değişikliklerini inceleme

Aşağıdaki örneklerde mevcut ve Google Mobile Ads SDK'sı (beta) başlatılıyor:

Şu anki adı

Google Mobile Ads SDK'sını ilk kullanıma hazırlamak için MobileAds.initialize() işlevini çağırın. ANR'leri azaltmak için arka plan iş parçacığında başlatma yapılması önerilir.

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'sı (beta)

Google Mobile Ads SDK'sını (beta) başlatmak için MobileAds.initialize() işlevini çağırın. Bu yöntem, arka plan iş parçacığında çağrılmalıdır. Aksi takdirde "Uygulama yanıt vermiyor" (ANR) hatası oluşabilir.

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