Global ayarlar

MobileAds sınıfı, Google Mobile Ads Unity Plugin için genel ayarlar sağlar.

Unity ana iş parçacığında reklam etkinliklerini tetikleme

Google Mobile Ads Unity Plugin, Unity ana iş parçacığından farklı bir iş parçacığında etkinlikler oluşturur. Reklam etkinliklerini uyguluyor ve Unity nesneleriyle etkileşim kuruyorsanız Google Mobile Ads Unity Plugin etkinliklerini Unity ana iş parçacığıyla senkronize etmeniz gerekir.

Reklam etkinliklerini Unity ana iş parçacığıyla manuel olarak veya Google Mobile Ads Unity Plugin'ın senkronizasyonu işlemesine izin vererek otomatik olarak senkronize edin.

Önerilen: Reklam etkinliklerini manuel olarak senkronize etme

Reklam etkinliklerini manuel olarak senkronize etmek için ana iş parçacığında ExecuteInUpdate yöntemini kullanın. UnityEngine nesneleriyle etkileşim kurarken ve RaiseAdEventsOnUnityMainThread özelliği devre dışıyken ExecuteInUpdate yöntemini kullanmanız gerekir.

Aşağıdaki örnekte, bir arka plan iş parçacığı günlüğe kaydedilir ve UnityEngine nesneleriyle etkileşim kurmak için bir işlem çalıştırılır:

// Google Mobile Ads events are raised off the Unity main thread.

// This log is executed off the Unity main thread.
// Write all time-sensitive code before ExecuteInUpdate().
Debug.Log("Executing off the Unity main thread.");

// Use ExecuteInUpdate to run code on the main thread, allowing you to
// interact with Unity UI and GameObjects.
// Changed to fully-qualified name to resolve CS0103
GoogleMobileAds.Common.MobileAdsEventExecutor.ExecuteInUpdate(() =>
{
    // This callback may be delayed on Android until the user returns to the app.
    Debug.Log("Executing on the Unity main thread.");

    // Place all code that interacts with Unity UI and GameObjects inside this callback.
    if (_myGameObject != null)
    {
        _myGameObject.SetActive(true);
    }
});

Reklam etkinliklerinde senkronizasyonu otomatikleştirme

Google Mobile Ads Unity Plugin uygulamasının reklam etkinliklerini senkronize etmesi için MobileAds.RaiseAdEventsOnUnityMainThread özelliğini true olarak ayarlayın:

...
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    public void Start()
    {
        // When true all events raised by GoogleMobileAds will be raised
        // on the Unity main thread. The default value is false.
        MobileAds.RaiseAdEventsOnUnityMainThread = true;
    }
}

Video reklam ses düzeyi kontrolü

Uygulamanızın kendi ses seviyesi kontrolleri (özel müzik veya ses efekti gibi) varsa uygulama ses seviyesini Google Mobile Ads Unity Plugin ile paylaşmak, video reklamların uygulamadaki ses seviyesi ayarlarına uymasını sağlar. Bu sayede kullanıcılar video reklamları beklenen ses düzeyinde alır.

Ses düğmeleri veya işletim sistemi düzeyindeki ses düzeyi kaydırıcısı aracılığıyla kontrol edilen cihaz ses düzeyi, cihaz ses çıkışının ses düzeyini belirler. Ancak uygulamalar, ses deneyimini özelleştirmek için ses seviyelerini cihaz ses seviyesine göre bağımsız olarak ayarlayabilir.

Reklamı yüklemeden önce SetApplicationVolume() yöntemini çağırarak göreceli uygulama ses seviyesini Google Mobile Ads Unity Plugin öğesine bildirebilirsiniz. Geçerli reklam sesi değerleri 0.0 (sessiz) ile 1.0 (mevcut cihaz ses seviyesi) arasında değişir. Uygulamanın göreceli ses seviyesini SDK'ya nasıl bildireceğinize dair bir örnek:

// Set app volume to be half of current device volume.
MobileAds.SetApplicationVolume(0.5f);

SDK'ya uygulama sesinin kapatıldığını bildirmek için reklamı yüklemeden önce SetApplicationMuted() yöntemini çağırın:

// Set app to be muted.
MobileAds.SetApplicationMuted(true);

Varsayılan olarak, uygulama ses düzeyi 1 (mevcut cihaz ses düzeyi) olarak ayarlanır ve uygulamanın sesi kapatılmaz.

Uygulamanızın özel şartları varsa sınırlı reklamları etkinleştirmek için isteğe bağlı ApplicationPreferences anahtarını gad_has_consent_for_cookies sıfır olarak ayarlayabilirsiniz:

// Enable limited ads
ApplicationPreferences.SetInt("gad_has_consent_for_cookies", 0);

Android sadeleştirme

Bu Unity yayınlama seçeneği, Java kodu sadeleştirmeyi etkinleştirmenize olanak tanır. Sadeleştirmeyi etkinleştirirseniz SDK tarafından referans verilen sınıfları korumak için özel bir proguard dosyası da oluşturmanız gerekir.

  1. Özel Proguard Dosyasını Etkinleştirme

    Project Settings > Player > Android > Publishing Settings > Build'e (Proje Ayarları > Oynatıcı > Android > Yayınlama Ayarları > Derleme) gidin ve şunları seçin:

    • Özel Proguard Dosyası
  2. /Assets/Plugins/Android/proguard-user.txt dosyasını açın ve aşağıdakileri ekleyin:

-keep class com.google.** { public *; }

Kilitlenme raporlamasını devre dışı bırakma

Google Mobile Ads Unity Plugin, hata ayıklama ve analiz için kilitlenme raporları toplar. Kilitlenme raporlamayı devre dışı bırakmak için Android ve iOS ile ilgili aşağıdaki bölümlere bakın.

Android

Uygulamanızın AndroidManifest.xml dosyasına DISABLE_CRASH_REPORTING, true olarak ayarlanmış <meta-data> etiketini ekleyin:

<manifest>
   <application>
       <meta-data
           android:name="com.google.android.gms.ads.flag.DISABLE_CRASH_REPORTING"
           android:value="true" />
   </application>
</manifest>

iOS

iOS'te kilitlenme raporlarını devre dışı bırakmak için DisableSDKCrashReporting yöntemini çağırın:

void Awake() {
  MobileAds.DisableSDKCrashReporting();
}

Unity eklenti sürümünü alma

Unity SDK sürümünü öğrenmek için aşağıdaki komutu çalıştırın:

// Get the Unity SDK version.
Debug.Log("Unity SDK Version: " + MobileAds.GetVersion());

Platform sürümünü alma

Unity için Google Mobile Ads Unity Plugin, Android ve iOS platformu SDK'larına bağlıdır. Platform SDK'sının sürümünü öğrenmek için aşağıdaki komutu çalıştırın:

// Get the underlying platform SDK version.
Debug.Log("Platform SDK Version: " + MobileAds.GetPlatformVersion());