Skip to content

Commit 0563d42

Browse files
malandr2copybara-github
authored andcommitted
Add more RequestConfiguration snippets
PiperOrigin-RevId: 814711838
1 parent 116d1b7 commit 0563d42

File tree

4 files changed

+319
-0
lines changed

4 files changed

+319
-0
lines changed
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
// Copyright 2025 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// https://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
package com.google.android.gms.snippets;
16+
17+
import android.os.Bundle;
18+
import com.google.ads.mediation.admob.AdMobAdapter;
19+
import com.google.android.gms.ads.AdRequest;
20+
import com.google.android.gms.ads.AdView;
21+
import com.google.android.gms.ads.admanager.AdManagerAdRequest;
22+
import java.util.ArrayList;
23+
import java.util.Arrays;
24+
import java.util.List;
25+
26+
/** Java code snippets for the developer guide. */
27+
final class AdRequestSnippets {
28+
29+
private void addNetworkExtras(AdView adView) {
30+
// [START add_network_extras]
31+
Bundle extras = new Bundle();
32+
extras.putString("collapsible", "bottom");
33+
AdRequest adRequest =
34+
new AdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter.class, extras).build();
35+
adView.loadAd(adRequest);
36+
// [END add_network_extras]
37+
}
38+
39+
private void addCustomTargeting() {
40+
// [START add_custom_targeting]
41+
// Example: Pass custom targeting "age=25".
42+
AdManagerAdRequest newRequest =
43+
new AdManagerAdRequest.Builder().addCustomTargeting("age", "25").build();
44+
// [END add_custom_targeting]
45+
}
46+
47+
private void addCustomTargetingAsList() {
48+
// Example: Pass custom targeting ["age=24", "age=25", "age=26"].
49+
AdManagerAdRequest newRequest =
50+
new AdManagerAdRequest.Builder()
51+
// [START add_custom_targeting_as_list]
52+
.addCustomTargeting("age", Arrays.asList("24", "25", "26"))
53+
// [END add_custom_targeting_as_list]
54+
.build();
55+
}
56+
57+
private void addCategoryExclusions() {
58+
// [START add_category_exclusions]
59+
// Example: Exclude "automobile" and "boat" categories.
60+
AdManagerAdRequest newRequest =
61+
new AdManagerAdRequest.Builder()
62+
.addCategoryExclusion("automobile")
63+
.addCategoryExclusion("boat")
64+
.build();
65+
// [END add_category_exclusions]
66+
}
67+
68+
private void setPublisherProvidedId() {
69+
// [START set_publisher_provided_id]
70+
AdManagerAdRequest adRequest =
71+
new AdManagerAdRequest.Builder().setPublisherProvidedId("AB123456789").build();
72+
// [END set_publisher_provided_id]
73+
}
74+
75+
private void setPublisherProvidedSignals() {
76+
// [START set_publisher_provided_signals]
77+
Bundle extras = new Bundle();
78+
// Set the demographic to an audience with an "Age Range" of 30-34 and an
79+
// interest in mergers and acquisitions.
80+
extras.putIntegerArrayList("IAB_AUDIENCE_1_1", new ArrayList<>(Arrays.asList(6, 284)));
81+
// Set the content to sedan, station wagon and SUV automotive values.
82+
extras.putIntegerArrayList("IAB_CONTENT_2_2", new ArrayList<>(Arrays.asList(4, 5, 6)));
83+
84+
AdManagerAdRequest request =
85+
new AdManagerAdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter.class, extras).build();
86+
// [END set_publisher_provided_signals]
87+
}
88+
89+
private void setContentUrl() {
90+
// [START set_content_url]
91+
AdManagerAdRequest.Builder builder = new AdManagerAdRequest.Builder();
92+
builder.setContentUrl("https://www.example.com");
93+
AdManagerAdRequest request = builder.build();
94+
// [END set_content_url]
95+
}
96+
97+
private void setNeighboringContentUrls() {
98+
// [START set_neighboring_content_urls]
99+
List<String> urls =
100+
Arrays.asList(
101+
"https://www.mycontenturl1.com",
102+
"https://www.mycontenturl2.com",
103+
"https://www.mycontenturl3.com",
104+
"https://www.mycontenturl4.com");
105+
106+
AdManagerAdRequest requestWithContent =
107+
new AdManagerAdRequest.Builder().setNeighboringContentUrls(urls).build();
108+
// [END set_neighboring_content_urls]
109+
}
110+
}

java/advanced/APIDemo/app/src/main/java/com/google/android/gms/snippets/RequestConfigurationSnippets.java

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,53 @@ private void setTestDeviceIds() {
1818
MobileAds.setRequestConfiguration(configuration);
1919
// [END set_test_device_ids]
2020
}
21+
22+
private void setRequestConfiguration() {
23+
// [START set_request_configuration]
24+
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration();
25+
MobileAds.setRequestConfiguration(requestConfiguration);
26+
// [END set_request_configuration]
27+
}
28+
29+
private void setChildDirectedTreatment() {
30+
// [START set_child_directed_treatment]
31+
RequestConfiguration requestConfiguration =
32+
MobileAds.getRequestConfiguration().toBuilder()
33+
.setTagForChildDirectedTreatment(
34+
RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
35+
.build();
36+
MobileAds.setRequestConfiguration(requestConfiguration);
37+
// [END set_child_directed_treatment]
38+
}
39+
40+
private void setUnderAgeOfConsent() {
41+
// [START set_under_age_of_consent]
42+
RequestConfiguration requestConfiguration =
43+
MobileAds.getRequestConfiguration().toBuilder()
44+
.setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
45+
.build();
46+
MobileAds.setRequestConfiguration(requestConfiguration);
47+
// [END set_under_age_of_consent]
48+
}
49+
50+
private void setAdContentFiltering() {
51+
// [START set_ad_content_filtering]
52+
RequestConfiguration requestConfiguration =
53+
MobileAds.getRequestConfiguration().toBuilder()
54+
.setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
55+
.build();
56+
MobileAds.setRequestConfiguration(requestConfiguration);
57+
// [END set_ad_content_filtering]
58+
}
59+
60+
private void setPublisherPrivacyTreatment() {
61+
// [START set_publisher_privacy_treatment]
62+
RequestConfiguration requestConfiguration =
63+
MobileAds.getRequestConfiguration().toBuilder()
64+
.setPublisherPrivacyPersonalizationState(
65+
RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED)
66+
.build();
67+
MobileAds.setRequestConfiguration(requestConfiguration);
68+
// [END set_publisher_privacy_treatment]
69+
}
2170
}
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
/*
2+
* Copyright 2025 Google LLC
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package com.google.android.gms.snippets
18+
19+
import android.os.Bundle
20+
import com.google.ads.mediation.admob.AdMobAdapter
21+
import com.google.android.gms.ads.AdRequest
22+
import com.google.android.gms.ads.AdView
23+
import com.google.android.gms.ads.admanager.AdManagerAdRequest
24+
25+
/** Kotlin code snippets for the developer guide. */
26+
private class AdRequestSnippets {
27+
28+
private fun addNetworkExtras(adView: AdView) {
29+
// [START add_network_extras]
30+
val extras = Bundle()
31+
extras.putString("collapsible", "bottom")
32+
val adRequest =
33+
AdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter::class.java, extras).build()
34+
adView.loadAd(adRequest)
35+
// [END add_network_extras]
36+
}
37+
38+
private fun addCustomTargeting() {
39+
// [START add_custom_targeting]
40+
// Example: Pass custom targeting "age=25".
41+
val newRequest = AdManagerAdRequest.Builder().addCustomTargeting("age", "25").build()
42+
// [END add_custom_targeting]
43+
}
44+
45+
private fun addCustomTargetingAsList() {
46+
// Example: Pass custom targeting ["age=24", "age=25", "age=26"].
47+
val newRequest =
48+
AdManagerAdRequest.Builder()
49+
// [START add_custom_targeting_as_list]
50+
.addCustomTargeting("age", listOf("24", "25", "26"))
51+
// [END add_custom_targeting_as_list]
52+
.build()
53+
}
54+
55+
private fun addCategoryExclusions() {
56+
// [START add_category_exclusions]
57+
// Example: Exclude "automobile" and "boat" categories.
58+
val newRequest =
59+
AdManagerAdRequest.Builder()
60+
.addCategoryExclusion("automobile")
61+
.addCategoryExclusion("boat")
62+
.build()
63+
// [END add_category_exclusions]
64+
}
65+
66+
private fun setPublisherProvidedId() {
67+
// [START set_publisher_provided_id]
68+
val adRequest = AdManagerAdRequest.Builder().setPublisherProvidedId("AB123456789").build()
69+
// [END set_publisher_provided_id]
70+
}
71+
72+
private fun setPublisherProvidedSignals() {
73+
// [START set_publisher_provided_signals]
74+
val extras = Bundle()
75+
// Set the demographic to an audience with an "Age Range" of 30-34 and an
76+
// interest in mergers and acquisitions.
77+
extras.putIntegerArrayList("IAB_AUDIENCE_1_1", arrayListOf(6, 284))
78+
// Set the content to sedan, station wagon and SUV automotive values.
79+
extras.putIntegerArrayList("IAB_CONTENT_2_2", arrayListOf(4, 5, 6))
80+
81+
val request =
82+
AdManagerAdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter::class.java, extras).build()
83+
// [END set_publisher_provided_signals]
84+
}
85+
86+
private fun setContentUrl() {
87+
// [START set_content_url]
88+
val builder = AdManagerAdRequest.Builder()
89+
builder.setContentUrl("https://www.example.com")
90+
val request = builder.build()
91+
// [END set_content_url]
92+
}
93+
94+
private fun setNeighboringContentUrls() {
95+
// [START set_neighboring_content_urls]
96+
val urls =
97+
mutableListOf(
98+
"https://www.mycontenturl1.com",
99+
"https://www.mycontenturl2.com",
100+
"https://www.mycontenturl3.com",
101+
"https://www.mycontenturl4.com",
102+
)
103+
104+
val requestWithContent = AdManagerAdRequest.Builder().setNeighboringContentUrls(urls).build()
105+
// [END set_neighboring_content_urls]
106+
}
107+
}

kotlin/advanced/APIDemo/app/src/main/java/com/google/android/gms/snippets/RequestConfigurationSnippets.kt

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,59 @@ private class RequestConfigurationSnippets {
3030
// [END set_test_device_ids]
3131
}
3232

33+
private fun setRequestConfiguration() {
34+
// [START set_request_configuration]
35+
val requestConfiguration = MobileAds.getRequestConfiguration()
36+
MobileAds.setRequestConfiguration(requestConfiguration)
37+
// [END set_request_configuration]
38+
}
39+
40+
private fun setChildDirectedTreatment() {
41+
// [START set_child_directed_treatment]
42+
val requestConfiguration =
43+
MobileAds.getRequestConfiguration()
44+
.toBuilder()
45+
.setTagForChildDirectedTreatment(RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
46+
.build()
47+
MobileAds.setRequestConfiguration(requestConfiguration)
48+
// [END set_child_directed_treatment]
49+
}
50+
51+
private fun setUnderAgeOfConsent() {
52+
// [START set_under_age_of_consent]
53+
val requestConfiguration =
54+
MobileAds.getRequestConfiguration()
55+
.toBuilder()
56+
.setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
57+
.build()
58+
MobileAds.setRequestConfiguration(requestConfiguration)
59+
// [END set_under_age_of_consent]
60+
}
61+
62+
private fun setAdContentFiltering() {
63+
// [START set_ad_content_filtering]
64+
val requestConfiguration =
65+
MobileAds.getRequestConfiguration()
66+
.toBuilder()
67+
.setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
68+
.build()
69+
MobileAds.setRequestConfiguration(requestConfiguration)
70+
// [END set_ad_content_filtering]
71+
}
72+
73+
private fun setPublisherPrivacyTreatment() {
74+
// [START set_publisher_privacy_treatment]
75+
val requestConfiguration =
76+
MobileAds.getRequestConfiguration()
77+
.toBuilder()
78+
.setPublisherPrivacyPersonalizationState(
79+
RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED
80+
)
81+
.build()
82+
MobileAds.setRequestConfiguration(requestConfiguration)
83+
// [END set_publisher_privacy_treatment]
84+
}
85+
3386
companion object {
3487
const val TEST_DEVICE_ID = "33BE2250B43518CCDA7DE426D04EE231"
3588
}

0 commit comments

Comments
 (0)