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.
Consent for cookies
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();