MobileAds sınıfı, Google Mobil Reklamlar Unity eklentisi için genel ayarlar sağlar.
Reklam etkinliklerini Unity ana iş parçacığında tetikleme
Google Mobile Ads Unity eklentisi, 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 Google Mobil Reklamlar Unity eklentisi etkinliklerini Unity ana iş parçacığıyla senkronize etmeniz gerekir.
Reklam etkinliklerini Unity ana iş parçacığıyla manuel olarak veya Google Mobil Reklamlar Unity eklentisinin senkronizasyonu yönetmesine 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, 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.
// Place all time-sensitive code outside of ExecuteInUpdate().
UnityEngine.Debug.Log($"Received ad value of {value.Value} {value.CurrencyCode}.");
MobileAdsEventExecutor.ExecuteInUpdate(() =>
{
// Interact with UnityEngine objects here.
// This method is delayed, don't put time sensitive code here.
});
};
Reklam etkinliklerinde senkronizasyonu otomatikleştirme
Google Mobile Ads Unity eklentisinin 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 (ör. özel müzik veya ses efekti ses seviyeleri) varsa uygulama ses seviyesini Google Mobile Ads Unity eklentisine bildirmek, video reklamların uygulama ses seviyesi 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 düzeylerini 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 Mobil Reklamlar Unity eklentisine 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 ApplicationPreferences anahtarını sıfır olarak ayarlayarak sınırlı reklamları etkinleştirebilirsiniz
:gad_has_consent_for_cookies
// Enable limited ads
ApplicationPreferences.SetInt("gad_has_consent_for_cookies", 0);
Android küçültme
Bu Unity yayınlama seçeneği, Java kodu küçültmeyi 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.txtbağlantısını açın ve aşağıdakileri ekleyin:
-keep class com.google.** { public *; }
Kilitlenme raporlamayı devre dışı bırakma
Google Mobile Ads Unity eklentisi, hata ayıklama ve analiz amacıyla kilitlenme raporlarını 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 <meta-data> etiketini ekleyin ve DISABLE_CRASH_REPORTING değerini true olarak ayarlayın:
<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 Unity eklentisi, 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());