MobileAds
sınıfı, Google Mobile Ads SDK'sı için genel ayarlar sağlar.
Unity ana iş parçacığında reklam etkinlikleri oluşturma
Google Mobile Ads SDK'sı, Unity ana iş parçacığından farklı bir iş parçacığında etkinlikler oluşturur. Reklam etkinliklerini uygulayıp Unity nesneleriyle etkileşimde bulunursanız Mobile Ads SDK etkinliklerini Unity ana iş parçacığıyla senkronize etmeniz gerekir.
Reklam etkinliklerini Unity ana iş parçacığıyla manuel olarak veya Google Mobile Ads SDK'sının senkronizasyonu yönetmesine izin vererek otomatik olarak senkronize edin.
Reklam etkinliklerini manuel olarak senkronize etme
Reklam etkinliklerini senkronize etmek için ana iş parçacığında ExecuteInUpdate
yöntemini manuel olarak kullanın. RaiseAdEventsOnUnityMainThread
özelliği devre dışı bırakıldığında ve UnityEngine nesneleriyle etkileşimde bulunduğunda bu yöntemi kullanmanız gerekir.
Aşağıdaki örnekte, arka plan iş parçacığı kaydedilir ve UnityEngine nesneleriyle etkileşim kurmak için bir işlem çalıştırılır:
rewardedAd.OnAdPaid += (AdValue value) =>
{
// Log the ad value immediately.
UnityEngine.Debug.Log($"Received ad value of {value.Value} {value.CurrencyCode}.");
MobileAdsEventExecutor.ExecuteInUpdate(() =>
{
// Interact with UnityEngine objects here.
});
};
Reklam etkinliklerinde senkronizasyonu otomatikleştirme
Google Mobile Ads SDK'sı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 kontrolü
Uygulamanızın kendi ses düzeyi denetimleri (ör. özel müzik veya ses efekti ses düzeyleri) varsa uygulama ses düzeyinin Google Mobile Ads SDK'sına bildirilmesi, video reklamların uygulama ses düzeyi ayarlarına uymasını sağlar. Bu sayede kullanıcılar video reklamları beklenen ses düzeyinde alır.
Ses yüksekliği 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 düzeyine göre bağımsız olarak ayarlayabilir.
Reklamı yüklemeden önce SetApplicationVolume()
yöntemini çağırarak göreli uygulama sesini Google Mobile Ads SDK'sına bildirebilirsiniz. Geçerli reklam ses seviyesi değerleri 0.0
(sessiz) ile 1.0
(mevcut cihaz ses seviyesi) aralığındadır. Uygulama hacminin SDK'ya nasıl bildirileceğine dair bir örneği aşağıda bulabilirsiniz:
// 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);
Uygulama sesi varsayılan olarak mevcut cihaz sesine (1
) ayarlanır ve uygulama sessize alınmaz.
Çerez izni
Uygulamanızın özel şartları varsa sınırlı reklamları (SR) etkinleştirmek için isteğe bağlı ApplicationPreferences
anahtarını gad_has_consent_for_cookies
sıfır olarak ayarlayabilirsiniz:
// Enable limited ads (LTD)
ApplicationPreferences.SetInt("gad_has_consent_for_cookies", 0);
Android küçültme
Bu Unity yayınlama seçeneği, Java kodu küçültme özelliğini etkinleştirmenize olanak tanır. Küçültmeyi etkinleştirirseniz SDK tarafından referans verilen sınıfları tutmak için özel bir proguard dosyası da oluşturmanız gerekir.
Özel Proguard Dosyasını Etkinleştirme
Project Settings > Player > Android > Publishing Settings > Build'e (Proje Ayarları > Oyuncu > Android > Yayınlama Ayarları > Derleme) gidin ve şunları seçin:
- Özel Proguard Dosyası
/Assets/Plugins/Android/proguard-user.txt
bağlantısını açın ve aşağıdakileri ekleyin:
-keep class com.google.** { public *; }
Kilitlenme raporlamayı devre dışı bırakma
Google Mobile Ads SDK'sı, hata ayıklama ve analiz amacıyla kilitlenme raporları toplar. Bu kilitlenme raporlamayı aşağıdaki kodla devre dışı bırakabilirsiniz. Aşağıdaki bölümlerde, Android ve iOS'te kilitlenme raporlamanın nasıl devre dışı bırakılacağı açıklanmaktadır.
Android
Uygulamanızın AndroidManifest.xml
dosyasına DISABLE_CRASH_REPORTING
değeri 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 eklentisi sürümünü alma
Unity SDK sürümünü almak 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 SDK'sı, Android ve iOS platform SDK'larına bağlıdır. Platform SDK'sının sürümünü almak için aşağıdakileri çalıştırın:
// Get the underlying platform SDK version.
Debug.Log("Platform SDK Version: " + MobileAds.GetPlatformVersion());