Global Settings

The MobileAds class provides global settings for the Google Mobile Ads SDK.

Video ad volume control

If your app has its own volume controls (such as custom music or sound effect volumes), disclosing app volume to the Google Mobile Ads SDK allows video ads to respect app volume settings. This ensures users receive video ads with the expected audio volume.

The device volume, controlled through volume buttons or OS-level volume slider, determines the volume for device audio output. However, apps can independently adjust volume levels relative to the device volume to tailor the audio experience. For app open, banner, interstitial, rewarded, and rewarded interstitial ad formats, you can report the relative app volume to the SDK through the static setAppVolume() method. Valid ad volume values range from 0.0 (silent) to 1.0 (current device volume). Here's an example of how to report the relative app volume to the SDK:

Kotlin

override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)

  val backgroundScope = CoroutineScope(Dispatchers.IO)
  backgroundScope.launch {
    // Initialize the Google Mobile Ads SDK on a background thread.
    MobileAds.initialize(this@MainActivity) {}
    
    // Set app volume to be half of current device volume.
    MobileAds.setAppVolume(0.5f)
  }
}

Java

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  new Thread(
          () -> {
            // Initialize the Google Mobile Ads SDK on a background thread.
            MobileAds.initialize(this, initializationStatus -> {});
            
            // Set app volume to be half of current device volume.
            MobileAds.setAppVolume(0.5f);
          })
      .start();
}

To inform the SDK that the app volume has muted, use the setAppMuted() method:

Kotlin

MobileAds.setAppMuted(true)

Java

MobileAds.setAppMuted(true);

By default, the app volume is set to 1 (the current device volume), and the app is not muted.

Native ads

See VideoOptions for instructions on how to control the mute settings. Custom volume control is not supported for native ads.

If your app has special requirements, you can set the optional SharedPreferences gad_has_consent_for_cookies. The SDK will enable limited ads (LTD) when the gad_has_consent_for_cookies preference is set to zero.

Kotlin

val sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context)
// Set the value to 0 to enable limited ads.
sharedPrefs.edit().putInt("gad_has_consent_for_cookies", 0).apply()

Java

Context activity = getActivity();
SharedPreferences sharedPreferences =
  PreferenceManager.getDefaultSharedPreferences(activity);
// Set the value to 0 to enable limited ads.
sharedPreferences.edit().putInt("gad_has_consent_for_cookies", 0).apply();