diff --git a/kotlin/admanager/AppOpenExample/app/src/main/java/com/google/android/gms/example/appopenexample/MainActivity.kt b/kotlin/admanager/AppOpenExample/app/src/main/java/com/google/android/gms/example/appopenexample/MainActivity.kt
index 5f612040d..7b625d807 100644
--- a/kotlin/admanager/AppOpenExample/app/src/main/java/com/google/android/gms/example/appopenexample/MainActivity.kt
+++ b/kotlin/admanager/AppOpenExample/app/src/main/java/com/google/android/gms/example/appopenexample/MainActivity.kt
@@ -8,6 +8,7 @@ import android.widget.PopupMenu
import android.widget.Toast
import androidx.activity.OnBackPressedCallback
import androidx.appcompat.app.AppCompatActivity
+import com.google.android.gms.ads.MobileAds
/** The main activity in the app. */
class MainActivity : AppCompatActivity() {
@@ -32,8 +33,6 @@ class MainActivity : AppCompatActivity() {
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.action_menu, menu)
- val moreMenu = menu?.findItem(R.id.action_more)
- moreMenu?.isVisible = googleMobileAdsConsentManager.isPrivacyOptionsRequired
return super.onCreateOptionsMenu(menu)
}
@@ -42,6 +41,9 @@ class MainActivity : AppCompatActivity() {
val activity = this
PopupMenu(this, menuItemView).apply {
menuInflater.inflate(R.menu.popup_menu, menu)
+ menu
+ .findItem(R.id.privacy_settings)
+ .setVisible(googleMobileAdsConsentManager.isPrivacyOptionsRequired)
show()
setOnMenuItemClickListener { popupMenuItem ->
when (popupMenuItem.itemId) {
@@ -54,6 +56,13 @@ class MainActivity : AppCompatActivity() {
}
true
}
+ R.id.ad_inspector -> {
+ MobileAds.openAdInspector(activity) { error ->
+ // Error will be non-null if ad inspector closed due to an error.
+ error?.let { Toast.makeText(activity, it.message, Toast.LENGTH_SHORT).show() }
+ }
+ true
+ }
// Handle other branches here.
else -> false
}
diff --git a/kotlin/admanager/AppOpenExample/app/src/main/res/menu/action_menu.xml b/kotlin/admanager/AppOpenExample/app/src/main/res/menu/action_menu.xml
index c4a677368..40e9a54ca 100644
--- a/kotlin/admanager/AppOpenExample/app/src/main/res/menu/action_menu.xml
+++ b/kotlin/admanager/AppOpenExample/app/src/main/res/menu/action_menu.xml
@@ -5,6 +5,5 @@
android:id="@+id/action_more"
android:icon="@android:drawable/ic_menu_preferences"
android:title="@string/more_menu"
- app:showAsAction="always"
- android:visible="false"/>
+ app:showAsAction="always" />
diff --git a/kotlin/admanager/AppOpenExample/app/src/main/res/menu/popup_menu.xml b/kotlin/admanager/AppOpenExample/app/src/main/res/menu/popup_menu.xml
index 91c059d6e..2efa73eaf 100644
--- a/kotlin/admanager/AppOpenExample/app/src/main/res/menu/popup_menu.xml
+++ b/kotlin/admanager/AppOpenExample/app/src/main/res/menu/popup_menu.xml
@@ -1,6 +1,10 @@
diff --git a/kotlin/admanager/AppOpenExample/app/src/main/res/values/strings.xml b/kotlin/admanager/AppOpenExample/app/src/main/res/values/strings.xml
index dfb74f205..5b760fa3e 100644
--- a/kotlin/admanager/AppOpenExample/app/src/main/res/values/strings.xml
+++ b/kotlin/admanager/AppOpenExample/app/src/main/res/values/strings.xml
@@ -1,4 +1,5 @@
+ Ad Inspector
Ad Manager App Open Example
Main Activity
diff --git a/kotlin/admanager/BannerExample/app/src/main/kotlin/com/google/android/gms/example/bannerexample/MyActivity.kt b/kotlin/admanager/BannerExample/app/src/main/kotlin/com/google/android/gms/example/bannerexample/MyActivity.kt
index 45e492ba6..0e27427f5 100644
--- a/kotlin/admanager/BannerExample/app/src/main/kotlin/com/google/android/gms/example/bannerexample/MyActivity.kt
+++ b/kotlin/admanager/BannerExample/app/src/main/kotlin/com/google/android/gms/example/bannerexample/MyActivity.kt
@@ -112,27 +112,36 @@ class MyActivity : AppCompatActivity() {
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.action_menu, menu)
- val moreMenu = menu?.findItem(R.id.action_more)
- moreMenu?.isVisible = googleMobileAdsConsentManager.isPrivacyOptionsRequired
return super.onCreateOptionsMenu(menu)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
val menuItemView = findViewById(item.itemId)
+ val activity = this
PopupMenu(this, menuItemView).apply {
menuInflater.inflate(R.menu.popup_menu, menu)
+ menu
+ .findItem(R.id.privacy_settings)
+ .setVisible(googleMobileAdsConsentManager.isPrivacyOptionsRequired)
show()
setOnMenuItemClickListener { popupMenuItem ->
when (popupMenuItem.itemId) {
R.id.privacy_settings -> {
// Handle changes to user consent.
- googleMobileAdsConsentManager.showPrivacyOptionsForm(this@MyActivity) { formError ->
+ googleMobileAdsConsentManager.showPrivacyOptionsForm(activity) { formError ->
if (formError != null) {
- Toast.makeText(this@MyActivity, formError.message, Toast.LENGTH_SHORT).show()
+ Toast.makeText(activity, formError.message, Toast.LENGTH_SHORT).show()
}
}
true
}
+ R.id.ad_inspector -> {
+ MobileAds.openAdInspector(activity) { error ->
+ // Error will be non-null if ad inspector closed due to an error.
+ error?.let { Toast.makeText(activity, it.message, Toast.LENGTH_SHORT).show() }
+ }
+ true
+ }
else -> false
}
}
diff --git a/kotlin/admanager/BannerExample/app/src/main/res/menu/action_menu.xml b/kotlin/admanager/BannerExample/app/src/main/res/menu/action_menu.xml
index c4a677368..40e9a54ca 100644
--- a/kotlin/admanager/BannerExample/app/src/main/res/menu/action_menu.xml
+++ b/kotlin/admanager/BannerExample/app/src/main/res/menu/action_menu.xml
@@ -5,6 +5,5 @@
android:id="@+id/action_more"
android:icon="@android:drawable/ic_menu_preferences"
android:title="@string/more_menu"
- app:showAsAction="always"
- android:visible="false"/>
+ app:showAsAction="always" />
diff --git a/kotlin/admanager/BannerExample/app/src/main/res/menu/popup_menu.xml b/kotlin/admanager/BannerExample/app/src/main/res/menu/popup_menu.xml
index 91c059d6e..2efa73eaf 100644
--- a/kotlin/admanager/BannerExample/app/src/main/res/menu/popup_menu.xml
+++ b/kotlin/admanager/BannerExample/app/src/main/res/menu/popup_menu.xml
@@ -1,6 +1,10 @@
diff --git a/kotlin/admanager/BannerExample/app/src/main/res/values/strings.xml b/kotlin/admanager/BannerExample/app/src/main/res/values/strings.xml
index 931829cd9..4c1e1f255 100644
--- a/kotlin/admanager/BannerExample/app/src/main/res/values/strings.xml
+++ b/kotlin/admanager/BannerExample/app/src/main/res/values/strings.xml
@@ -1,6 +1,7 @@
Settings
+ Ad Inspector
Ad Manager Banner Example
Hello world!
More
diff --git a/kotlin/admanager/InterstitialExample/app/src/main/kotlin/com/google/android/gms/example/interstitialexample/MyActivity.kt b/kotlin/admanager/InterstitialExample/app/src/main/kotlin/com/google/android/gms/example/interstitialexample/MyActivity.kt
index 8efec8d2b..6b84f29ec 100644
--- a/kotlin/admanager/InterstitialExample/app/src/main/kotlin/com/google/android/gms/example/interstitialexample/MyActivity.kt
+++ b/kotlin/admanager/InterstitialExample/app/src/main/kotlin/com/google/android/gms/example/interstitialexample/MyActivity.kt
@@ -90,9 +90,6 @@ class MyActivity : AppCompatActivity() {
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.action_menu, menu)
- menu?.findItem(R.id.action_more)?.apply {
- isVisible = googleMobileAdsConsentManager.isPrivacyOptionsRequired
- }
return super.onCreateOptionsMenu(menu)
}
@@ -101,6 +98,9 @@ class MyActivity : AppCompatActivity() {
val activity = this
PopupMenu(this, menuItemView).apply {
menuInflater.inflate(R.menu.popup_menu, menu)
+ menu
+ .findItem(R.id.privacy_settings)
+ .setVisible(googleMobileAdsConsentManager.isPrivacyOptionsRequired)
show()
setOnMenuItemClickListener { popupMenuItem ->
when (popupMenuItem.itemId) {
@@ -115,6 +115,13 @@ class MyActivity : AppCompatActivity() {
}
true
}
+ R.id.ad_inspector -> {
+ MobileAds.openAdInspector(activity) { error ->
+ // Error will be non-null if ad inspector closed due to an error.
+ error?.let { Toast.makeText(activity, it.message, Toast.LENGTH_SHORT).show() }
+ }
+ true
+ }
// Handle other branches here.
else -> false
}
diff --git a/kotlin/admanager/InterstitialExample/app/src/main/res/menu/action_menu.xml b/kotlin/admanager/InterstitialExample/app/src/main/res/menu/action_menu.xml
index c4a677368..40e9a54ca 100644
--- a/kotlin/admanager/InterstitialExample/app/src/main/res/menu/action_menu.xml
+++ b/kotlin/admanager/InterstitialExample/app/src/main/res/menu/action_menu.xml
@@ -5,6 +5,5 @@
android:id="@+id/action_more"
android:icon="@android:drawable/ic_menu_preferences"
android:title="@string/more_menu"
- app:showAsAction="always"
- android:visible="false"/>
+ app:showAsAction="always" />
diff --git a/kotlin/admanager/InterstitialExample/app/src/main/res/menu/popup_menu.xml b/kotlin/admanager/InterstitialExample/app/src/main/res/menu/popup_menu.xml
index 91c059d6e..2efa73eaf 100644
--- a/kotlin/admanager/InterstitialExample/app/src/main/res/menu/popup_menu.xml
+++ b/kotlin/admanager/InterstitialExample/app/src/main/res/menu/popup_menu.xml
@@ -1,6 +1,10 @@
diff --git a/kotlin/admanager/InterstitialExample/app/src/main/res/values/strings.xml b/kotlin/admanager/InterstitialExample/app/src/main/res/values/strings.xml
index 34d9cd88c..a819bf8eb 100644
--- a/kotlin/admanager/InterstitialExample/app/src/main/res/values/strings.xml
+++ b/kotlin/admanager/InterstitialExample/app/src/main/res/values/strings.xml
@@ -1,5 +1,6 @@
+ Ad Inspector
Ad Manager Interstitial
done!
Impossible Game
diff --git a/kotlin/admanager/NativeAdsExample/app/src/main/java/com/google/android/gms/example/nativeadsexample/MainActivity.kt b/kotlin/admanager/NativeAdsExample/app/src/main/java/com/google/android/gms/example/nativeadsexample/MainActivity.kt
index 7b4a17f7c..1ddf3ad0b 100644
--- a/kotlin/admanager/NativeAdsExample/app/src/main/java/com/google/android/gms/example/nativeadsexample/MainActivity.kt
+++ b/kotlin/admanager/NativeAdsExample/app/src/main/java/com/google/android/gms/example/nativeadsexample/MainActivity.kt
@@ -100,9 +100,6 @@ class MainActivity : AppCompatActivity() {
override fun onCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.action_menu, menu)
- menu?.findItem(R.id.action_more)?.apply {
- isVisible = googleMobileAdsConsentManager.isPrivacyOptionsRequired
- }
return super.onCreateOptionsMenu(menu)
}
@@ -111,6 +108,9 @@ class MainActivity : AppCompatActivity() {
val activity = this
PopupMenu(this, menuItemView).apply {
menuInflater.inflate(R.menu.popup_menu, menu)
+ menu
+ .findItem(R.id.privacy_settings)
+ .setVisible(googleMobileAdsConsentManager.isPrivacyOptionsRequired)
show()
setOnMenuItemClickListener { popupMenuItem ->
when (popupMenuItem.itemId) {
@@ -118,11 +118,18 @@ class MainActivity : AppCompatActivity() {
// Handle changes to user consent.
googleMobileAdsConsentManager.showPrivacyOptionsForm(activity) { formError ->
if (formError != null) {
- Toast.makeText(this@MainActivity, formError.message, Toast.LENGTH_SHORT).show()
+ Toast.makeText(activity, formError.message, Toast.LENGTH_SHORT).show()
}
}
true
}
+ R.id.ad_inspector -> {
+ MobileAds.openAdInspector(activity) { error ->
+ // Error will be non-null if ad inspector closed due to an error.
+ error?.let { Toast.makeText(activity, it.message, Toast.LENGTH_SHORT).show() }
+ }
+ true
+ }
else -> false
}
}
diff --git a/kotlin/admanager/NativeAdsExample/app/src/main/res/menu/action_menu.xml b/kotlin/admanager/NativeAdsExample/app/src/main/res/menu/action_menu.xml
index c4a677368..40e9a54ca 100644
--- a/kotlin/admanager/NativeAdsExample/app/src/main/res/menu/action_menu.xml
+++ b/kotlin/admanager/NativeAdsExample/app/src/main/res/menu/action_menu.xml
@@ -5,6 +5,5 @@
android:id="@+id/action_more"
android:icon="@android:drawable/ic_menu_preferences"
android:title="@string/more_menu"
- app:showAsAction="always"
- android:visible="false"/>
+ app:showAsAction="always" />
diff --git a/kotlin/admanager/NativeAdsExample/app/src/main/res/menu/popup_menu.xml b/kotlin/admanager/NativeAdsExample/app/src/main/res/menu/popup_menu.xml
index 91c059d6e..2efa73eaf 100644
--- a/kotlin/admanager/NativeAdsExample/app/src/main/res/menu/popup_menu.xml
+++ b/kotlin/admanager/NativeAdsExample/app/src/main/res/menu/popup_menu.xml
@@ -1,6 +1,10 @@
diff --git a/kotlin/admanager/NativeAdsExample/app/src/main/res/values/strings.xml b/kotlin/admanager/NativeAdsExample/app/src/main/res/values/strings.xml
index 317b4921d..d1f4cdc0a 100644
--- a/kotlin/admanager/NativeAdsExample/app/src/main/res/values/strings.xml
+++ b/kotlin/admanager/NativeAdsExample/app/src/main/res/values/strings.xml
@@ -1,6 +1,7 @@
Ad
Ad Choices icon
+ Ad Inspector
Ad Manager Native Advanced
More
Privacy Settings
diff --git a/kotlin/admanager/RewardedInterstitialExample/app/src/main/java/com/google/android/gms/example/rewardedinterstitialexample/MainActivity.kt b/kotlin/admanager/RewardedInterstitialExample/app/src/main/java/com/google/android/gms/example/rewardedinterstitialexample/MainActivity.kt
index cf9bdfa06..1d610ad65 100644
--- a/kotlin/admanager/RewardedInterstitialExample/app/src/main/java/com/google/android/gms/example/rewardedinterstitialexample/MainActivity.kt
+++ b/kotlin/admanager/RewardedInterstitialExample/app/src/main/java/com/google/android/gms/example/rewardedinterstitialexample/MainActivity.kt
@@ -97,29 +97,38 @@ class MainActivity : AppCompatActivity() {
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.action_menu, menu)
- val moreMenu = menu?.findItem(R.id.action_more)
- moreMenu?.isVisible = googleMobileAdsConsentManager.isPrivacyOptionsRequired
return super.onCreateOptionsMenu(menu)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
val menuItemView = findViewById(item.itemId)
+ val activity = this
PopupMenu(this, menuItemView).apply {
menuInflater.inflate(R.menu.popup_menu, menu)
+ menu
+ .findItem(R.id.privacy_settings)
+ .setVisible(googleMobileAdsConsentManager.isPrivacyOptionsRequired)
show()
setOnMenuItemClickListener { popupMenuItem ->
when (popupMenuItem.itemId) {
R.id.privacy_settings -> {
pauseGame()
// Handle changes to user consent.
- googleMobileAdsConsentManager.showPrivacyOptionsForm(this@MainActivity) { formError ->
+ googleMobileAdsConsentManager.showPrivacyOptionsForm(activity) { formError ->
if (formError != null) {
- Toast.makeText(this@MainActivity, formError.message, Toast.LENGTH_SHORT).show()
+ Toast.makeText(activity, formError.message, Toast.LENGTH_SHORT).show()
}
resumeGame()
}
true
}
+ R.id.ad_inspector -> {
+ MobileAds.openAdInspector(activity) { error ->
+ // Error will be non-null if ad inspector closed due to an error.
+ error?.let { Toast.makeText(activity, it.message, Toast.LENGTH_SHORT).show() }
+ }
+ true
+ }
else -> false
}
}
diff --git a/kotlin/admanager/RewardedInterstitialExample/app/src/main/res/menu/action_menu.xml b/kotlin/admanager/RewardedInterstitialExample/app/src/main/res/menu/action_menu.xml
index 4f8f94062..3963228d7 100644
--- a/kotlin/admanager/RewardedInterstitialExample/app/src/main/res/menu/action_menu.xml
+++ b/kotlin/admanager/RewardedInterstitialExample/app/src/main/res/menu/action_menu.xml
@@ -5,6 +5,5 @@
android:id="@+id/action_more"
android:icon="@android:drawable/ic_menu_preferences"
android:title="More"
- app:showAsAction="always"
- android:visible="false"/>
+ app:showAsAction="always" />
diff --git a/kotlin/admanager/RewardedInterstitialExample/app/src/main/res/menu/popup_menu.xml b/kotlin/admanager/RewardedInterstitialExample/app/src/main/res/menu/popup_menu.xml
index f9765b824..2efa73eaf 100644
--- a/kotlin/admanager/RewardedInterstitialExample/app/src/main/res/menu/popup_menu.xml
+++ b/kotlin/admanager/RewardedInterstitialExample/app/src/main/res/menu/popup_menu.xml
@@ -1,6 +1,10 @@
diff --git a/kotlin/admanager/RewardedInterstitialExample/app/src/main/res/values/strings.xml b/kotlin/admanager/RewardedInterstitialExample/app/src/main/res/values/strings.xml
index 080b01b68..3aac4c4f7 100644
--- a/kotlin/admanager/RewardedInterstitialExample/app/src/main/res/values/strings.xml
+++ b/kotlin/admanager/RewardedInterstitialExample/app/src/main/res/values/strings.xml
@@ -1,4 +1,5 @@
+ Ad Inspector
Ad Manager Rewarded Interstitial
Coins: 0
Impossible Game
diff --git a/kotlin/admanager/RewardedVideoExample/app/src/main/java/com/google/android/gms/example/rewardedvideoexample/MainActivity.kt b/kotlin/admanager/RewardedVideoExample/app/src/main/java/com/google/android/gms/example/rewardedvideoexample/MainActivity.kt
index 3dcb36bbb..d3b814169 100644
--- a/kotlin/admanager/RewardedVideoExample/app/src/main/java/com/google/android/gms/example/rewardedvideoexample/MainActivity.kt
+++ b/kotlin/admanager/RewardedVideoExample/app/src/main/java/com/google/android/gms/example/rewardedvideoexample/MainActivity.kt
@@ -98,30 +98,40 @@ class MainActivity : AppCompatActivity() {
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.action_menu, menu)
- val moreMenu = menu?.findItem(R.id.action_more)
- moreMenu?.isVisible = googleMobileAdsConsentManager.isPrivacyOptionsRequired
return super.onCreateOptionsMenu(menu)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
val menuItemView = findViewById(item.itemId)
- val popup = PopupMenu(this, menuItemView)
- popup.menuInflater.inflate(R.menu.popup_menu, popup.menu)
- popup.show()
- popup.setOnMenuItemClickListener { popupMenuItem ->
- when (popupMenuItem.itemId) {
- R.id.privacy_settings -> {
- pauseGame()
- // Handle changes to user consent.
- googleMobileAdsConsentManager.showPrivacyOptionsForm(this) { formError ->
- if (formError != null) {
- Toast.makeText(this@MainActivity, formError.message, Toast.LENGTH_SHORT).show()
+ val activity = this
+ PopupMenu(this, menuItemView).apply {
+ menuInflater.inflate(R.menu.popup_menu, menu)
+ menu
+ .findItem(R.id.privacy_settings)
+ .setVisible(googleMobileAdsConsentManager.isPrivacyOptionsRequired)
+ show()
+ setOnMenuItemClickListener { popupMenuItem ->
+ when (popupMenuItem.itemId) {
+ R.id.privacy_settings -> {
+ pauseGame()
+ // Handle changes to user consent.
+ googleMobileAdsConsentManager.showPrivacyOptionsForm(activity) { formError ->
+ if (formError != null) {
+ Toast.makeText(activity, formError.message, Toast.LENGTH_SHORT).show()
+ }
+ resumeGame()
}
- resumeGame()
+ true
}
- true
+ R.id.ad_inspector -> {
+ MobileAds.openAdInspector(activity) { error ->
+ // Error will be non-null if ad inspector closed due to an error.
+ error?.let { Toast.makeText(activity, it.message, Toast.LENGTH_SHORT).show() }
+ }
+ true
+ }
+ else -> false
}
- else -> false
}
}
return super.onOptionsItemSelected(item)
diff --git a/kotlin/admanager/RewardedVideoExample/app/src/main/res/menu/action_menu.xml b/kotlin/admanager/RewardedVideoExample/app/src/main/res/menu/action_menu.xml
index 4f8f94062..3963228d7 100644
--- a/kotlin/admanager/RewardedVideoExample/app/src/main/res/menu/action_menu.xml
+++ b/kotlin/admanager/RewardedVideoExample/app/src/main/res/menu/action_menu.xml
@@ -5,6 +5,5 @@
android:id="@+id/action_more"
android:icon="@android:drawable/ic_menu_preferences"
android:title="More"
- app:showAsAction="always"
- android:visible="false"/>
+ app:showAsAction="always" />
diff --git a/kotlin/admanager/RewardedVideoExample/app/src/main/res/menu/popup_menu.xml b/kotlin/admanager/RewardedVideoExample/app/src/main/res/menu/popup_menu.xml
index f9765b824..2efa73eaf 100644
--- a/kotlin/admanager/RewardedVideoExample/app/src/main/res/menu/popup_menu.xml
+++ b/kotlin/admanager/RewardedVideoExample/app/src/main/res/menu/popup_menu.xml
@@ -1,6 +1,10 @@
diff --git a/kotlin/admanager/RewardedVideoExample/app/src/main/res/values/strings.xml b/kotlin/admanager/RewardedVideoExample/app/src/main/res/values/strings.xml
index 9b324af06..55d811d44 100644
--- a/kotlin/admanager/RewardedVideoExample/app/src/main/res/values/strings.xml
+++ b/kotlin/admanager/RewardedVideoExample/app/src/main/res/values/strings.xml
@@ -1,5 +1,6 @@
Settings
+ Ad Inspector
Ad Manager Rewarded Video
Coins: 0
Impossible Game
diff --git a/kotlin/admob/AppOpenExample/app/src/main/java/com/google/android/gms/example/appopenexample/MainActivity.kt b/kotlin/admob/AppOpenExample/app/src/main/java/com/google/android/gms/example/appopenexample/MainActivity.kt
index 5f612040d..7b625d807 100644
--- a/kotlin/admob/AppOpenExample/app/src/main/java/com/google/android/gms/example/appopenexample/MainActivity.kt
+++ b/kotlin/admob/AppOpenExample/app/src/main/java/com/google/android/gms/example/appopenexample/MainActivity.kt
@@ -8,6 +8,7 @@ import android.widget.PopupMenu
import android.widget.Toast
import androidx.activity.OnBackPressedCallback
import androidx.appcompat.app.AppCompatActivity
+import com.google.android.gms.ads.MobileAds
/** The main activity in the app. */
class MainActivity : AppCompatActivity() {
@@ -32,8 +33,6 @@ class MainActivity : AppCompatActivity() {
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.action_menu, menu)
- val moreMenu = menu?.findItem(R.id.action_more)
- moreMenu?.isVisible = googleMobileAdsConsentManager.isPrivacyOptionsRequired
return super.onCreateOptionsMenu(menu)
}
@@ -42,6 +41,9 @@ class MainActivity : AppCompatActivity() {
val activity = this
PopupMenu(this, menuItemView).apply {
menuInflater.inflate(R.menu.popup_menu, menu)
+ menu
+ .findItem(R.id.privacy_settings)
+ .setVisible(googleMobileAdsConsentManager.isPrivacyOptionsRequired)
show()
setOnMenuItemClickListener { popupMenuItem ->
when (popupMenuItem.itemId) {
@@ -54,6 +56,13 @@ class MainActivity : AppCompatActivity() {
}
true
}
+ R.id.ad_inspector -> {
+ MobileAds.openAdInspector(activity) { error ->
+ // Error will be non-null if ad inspector closed due to an error.
+ error?.let { Toast.makeText(activity, it.message, Toast.LENGTH_SHORT).show() }
+ }
+ true
+ }
// Handle other branches here.
else -> false
}
diff --git a/kotlin/admob/AppOpenExample/app/src/main/res/menu/action_menu.xml b/kotlin/admob/AppOpenExample/app/src/main/res/menu/action_menu.xml
index c4a677368..40e9a54ca 100644
--- a/kotlin/admob/AppOpenExample/app/src/main/res/menu/action_menu.xml
+++ b/kotlin/admob/AppOpenExample/app/src/main/res/menu/action_menu.xml
@@ -5,6 +5,5 @@
android:id="@+id/action_more"
android:icon="@android:drawable/ic_menu_preferences"
android:title="@string/more_menu"
- app:showAsAction="always"
- android:visible="false"/>
+ app:showAsAction="always" />
diff --git a/kotlin/admob/AppOpenExample/app/src/main/res/menu/popup_menu.xml b/kotlin/admob/AppOpenExample/app/src/main/res/menu/popup_menu.xml
index 91c059d6e..2efa73eaf 100644
--- a/kotlin/admob/AppOpenExample/app/src/main/res/menu/popup_menu.xml
+++ b/kotlin/admob/AppOpenExample/app/src/main/res/menu/popup_menu.xml
@@ -1,6 +1,10 @@
diff --git a/kotlin/admob/AppOpenExample/app/src/main/res/values/strings.xml b/kotlin/admob/AppOpenExample/app/src/main/res/values/strings.xml
index 4e6f88279..33dc77d73 100644
--- a/kotlin/admob/AppOpenExample/app/src/main/res/values/strings.xml
+++ b/kotlin/admob/AppOpenExample/app/src/main/res/values/strings.xml
@@ -1,4 +1,5 @@
+ Ad Inspector
AdMob App Open Example
Main Activity
diff --git a/kotlin/admob/BannerExample/app/src/main/java/com/google/android/gms/example/bannerexample/GoogleMobileAdsConsentManager.kt b/kotlin/admob/BannerExample/app/src/main/java/com/google/android/gms/example/bannerexample/GoogleMobileAdsConsentManager.kt
index 4b31c10b3..cacc8c5e4 100644
--- a/kotlin/admob/BannerExample/app/src/main/java/com/google/android/gms/example/bannerexample/GoogleMobileAdsConsentManager.kt
+++ b/kotlin/admob/BannerExample/app/src/main/java/com/google/android/gms/example/bannerexample/GoogleMobileAdsConsentManager.kt
@@ -84,7 +84,7 @@ class GoogleMobileAdsConsentManager private constructor(context: Context) {
/** Helper method to call the UMP SDK method to show the privacy options form. */
fun showPrivacyOptionsForm(
- activity: Activity,
+ activity: MainActivity,
onConsentFormDismissedListener: OnConsentFormDismissedListener,
) {
UserMessagingPlatform.showPrivacyOptionsForm(activity, onConsentFormDismissedListener)
diff --git a/kotlin/admob/BannerExample/app/src/main/java/com/google/android/gms/example/bannerexample/MainActivity.kt b/kotlin/admob/BannerExample/app/src/main/java/com/google/android/gms/example/bannerexample/MainActivity.kt
index ac9f4738d..cef0c7680 100644
--- a/kotlin/admob/BannerExample/app/src/main/java/com/google/android/gms/example/bannerexample/MainActivity.kt
+++ b/kotlin/admob/BannerExample/app/src/main/java/com/google/android/gms/example/bannerexample/MainActivity.kt
@@ -112,27 +112,36 @@ class MainActivity : AppCompatActivity() {
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.action_menu, menu)
- val moreMenu = menu?.findItem(R.id.action_more)
- moreMenu?.isVisible = googleMobileAdsConsentManager.isPrivacyOptionsRequired
return super.onCreateOptionsMenu(menu)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
val menuItemView = findViewById(item.itemId)
+ val activity = this
PopupMenu(this, menuItemView).apply {
menuInflater.inflate(R.menu.popup_menu, menu)
+ menu
+ .findItem(R.id.privacy_settings)
+ .setVisible(googleMobileAdsConsentManager.isPrivacyOptionsRequired)
show()
setOnMenuItemClickListener { popupMenuItem ->
when (popupMenuItem.itemId) {
R.id.privacy_settings -> {
// Handle changes to user consent.
- googleMobileAdsConsentManager.showPrivacyOptionsForm(this@MainActivity) { formError ->
+ googleMobileAdsConsentManager.showPrivacyOptionsForm(activity) { formError ->
if (formError != null) {
- Toast.makeText(this@MainActivity, formError.message, Toast.LENGTH_SHORT).show()
+ Toast.makeText(activity, formError.message, Toast.LENGTH_SHORT).show()
}
}
true
}
+ R.id.ad_inspector -> {
+ MobileAds.openAdInspector(activity) { error ->
+ // Error will be non-null if ad inspector closed due to an error.
+ error?.let { Toast.makeText(activity, it.message, Toast.LENGTH_SHORT).show() }
+ }
+ true
+ }
else -> false
}
}
diff --git a/kotlin/admob/BannerExample/app/src/main/res/menu/action_menu.xml b/kotlin/admob/BannerExample/app/src/main/res/menu/action_menu.xml
index c4a677368..40e9a54ca 100644
--- a/kotlin/admob/BannerExample/app/src/main/res/menu/action_menu.xml
+++ b/kotlin/admob/BannerExample/app/src/main/res/menu/action_menu.xml
@@ -5,6 +5,5 @@
android:id="@+id/action_more"
android:icon="@android:drawable/ic_menu_preferences"
android:title="@string/more_menu"
- app:showAsAction="always"
- android:visible="false"/>
+ app:showAsAction="always" />
diff --git a/kotlin/admob/BannerExample/app/src/main/res/menu/popup_menu.xml b/kotlin/admob/BannerExample/app/src/main/res/menu/popup_menu.xml
index 91c059d6e..2efa73eaf 100644
--- a/kotlin/admob/BannerExample/app/src/main/res/menu/popup_menu.xml
+++ b/kotlin/admob/BannerExample/app/src/main/res/menu/popup_menu.xml
@@ -1,6 +1,10 @@
diff --git a/kotlin/admob/BannerExample/app/src/main/res/values/strings.xml b/kotlin/admob/BannerExample/app/src/main/res/values/strings.xml
index 61067a038..58d89c086 100644
--- a/kotlin/admob/BannerExample/app/src/main/res/values/strings.xml
+++ b/kotlin/admob/BannerExample/app/src/main/res/values/strings.xml
@@ -1,6 +1,7 @@
Settings
+ Ad Inspector
AdMob Banner Example
Hello world!
More
diff --git a/kotlin/admob/InterstitialExample/app/src/main/java/com/google/android/gms/example/interstitialexample/MainActivity.kt b/kotlin/admob/InterstitialExample/app/src/main/java/com/google/android/gms/example/interstitialexample/MainActivity.kt
index 193d74915..da306680f 100644
--- a/kotlin/admob/InterstitialExample/app/src/main/java/com/google/android/gms/example/interstitialexample/MainActivity.kt
+++ b/kotlin/admob/InterstitialExample/app/src/main/java/com/google/android/gms/example/interstitialexample/MainActivity.kt
@@ -70,9 +70,6 @@ class MainActivity : AppCompatActivity() {
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.action_menu, menu)
- menu?.findItem(R.id.action_more)?.apply {
- isVisible = googleMobileAdsConsentManager.isPrivacyOptionsRequired
- }
return super.onCreateOptionsMenu(menu)
}
@@ -81,6 +78,9 @@ class MainActivity : AppCompatActivity() {
val activity = this
PopupMenu(this, menuItemView).apply {
menuInflater.inflate(R.menu.popup_menu, menu)
+ menu
+ .findItem(R.id.privacy_settings)
+ .setVisible(googleMobileAdsConsentManager.isPrivacyOptionsRequired)
show()
setOnMenuItemClickListener { popupMenuItem ->
when (popupMenuItem.itemId) {
@@ -95,6 +95,13 @@ class MainActivity : AppCompatActivity() {
}
true
}
+ R.id.ad_inspector -> {
+ MobileAds.openAdInspector(activity) { error ->
+ // Error will be non-null if ad inspector closed due to an error.
+ error?.let { Toast.makeText(activity, it.message, Toast.LENGTH_SHORT).show() }
+ }
+ true
+ }
// Handle other branches here.
else -> false
}
diff --git a/kotlin/admob/InterstitialExample/app/src/main/res/menu/action_menu.xml b/kotlin/admob/InterstitialExample/app/src/main/res/menu/action_menu.xml
index c4a677368..40e9a54ca 100644
--- a/kotlin/admob/InterstitialExample/app/src/main/res/menu/action_menu.xml
+++ b/kotlin/admob/InterstitialExample/app/src/main/res/menu/action_menu.xml
@@ -5,6 +5,5 @@
android:id="@+id/action_more"
android:icon="@android:drawable/ic_menu_preferences"
android:title="@string/more_menu"
- app:showAsAction="always"
- android:visible="false"/>
+ app:showAsAction="always" />
diff --git a/kotlin/admob/InterstitialExample/app/src/main/res/menu/popup_menu.xml b/kotlin/admob/InterstitialExample/app/src/main/res/menu/popup_menu.xml
index 91c059d6e..2efa73eaf 100644
--- a/kotlin/admob/InterstitialExample/app/src/main/res/menu/popup_menu.xml
+++ b/kotlin/admob/InterstitialExample/app/src/main/res/menu/popup_menu.xml
@@ -1,6 +1,10 @@
diff --git a/kotlin/admob/InterstitialExample/app/src/main/res/values/strings.xml b/kotlin/admob/InterstitialExample/app/src/main/res/values/strings.xml
index 588b6c8c0..cc1e0b534 100644
--- a/kotlin/admob/InterstitialExample/app/src/main/res/values/strings.xml
+++ b/kotlin/admob/InterstitialExample/app/src/main/res/values/strings.xml
@@ -1,4 +1,5 @@
+ Ad Inspector
AdMob Interstitial
Impossible Game
More
diff --git a/kotlin/admob/NativeAdvancedExample/app/src/main/java/com/google/android/gms/example/nativeadvancedexample/MainActivity.kt b/kotlin/admob/NativeAdvancedExample/app/src/main/java/com/google/android/gms/example/nativeadvancedexample/MainActivity.kt
index 0fc5675bc..ba5b32544 100644
--- a/kotlin/admob/NativeAdvancedExample/app/src/main/java/com/google/android/gms/example/nativeadvancedexample/MainActivity.kt
+++ b/kotlin/admob/NativeAdvancedExample/app/src/main/java/com/google/android/gms/example/nativeadvancedexample/MainActivity.kt
@@ -90,9 +90,6 @@ class MainActivity : AppCompatActivity() {
override fun onCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.action_menu, menu)
- menu.findItem(R.id.action_more)?.apply {
- isVisible = googleMobileAdsConsentManager.isPrivacyOptionsRequired
- }
return super.onCreateOptionsMenu(menu)
}
@@ -101,6 +98,9 @@ class MainActivity : AppCompatActivity() {
val activity = this
PopupMenu(this, menuItemView).apply {
menuInflater.inflate(R.menu.popup_menu, menu)
+ menu
+ .findItem(R.id.privacy_settings)
+ .setVisible(googleMobileAdsConsentManager.isPrivacyOptionsRequired)
show()
setOnMenuItemClickListener { popupMenuItem ->
when (popupMenuItem.itemId) {
@@ -108,11 +108,18 @@ class MainActivity : AppCompatActivity() {
// Handle changes to user consent.
googleMobileAdsConsentManager.showPrivacyOptionsForm(activity) { formError ->
if (formError != null) {
- Toast.makeText(this@MainActivity, formError.message, Toast.LENGTH_SHORT).show()
+ Toast.makeText(activity, formError.message, Toast.LENGTH_SHORT).show()
}
}
true
}
+ R.id.ad_inspector -> {
+ MobileAds.openAdInspector(activity) { error ->
+ // Error will be non-null if ad inspector closed due to an error.
+ error?.let { Toast.makeText(activity, it.message, Toast.LENGTH_SHORT).show() }
+ }
+ true
+ }
else -> false
}
}
diff --git a/kotlin/admob/NativeAdvancedExample/app/src/main/res/menu/action_menu.xml b/kotlin/admob/NativeAdvancedExample/app/src/main/res/menu/action_menu.xml
index c4a677368..40e9a54ca 100644
--- a/kotlin/admob/NativeAdvancedExample/app/src/main/res/menu/action_menu.xml
+++ b/kotlin/admob/NativeAdvancedExample/app/src/main/res/menu/action_menu.xml
@@ -5,6 +5,5 @@
android:id="@+id/action_more"
android:icon="@android:drawable/ic_menu_preferences"
android:title="@string/more_menu"
- app:showAsAction="always"
- android:visible="false"/>
+ app:showAsAction="always" />
diff --git a/kotlin/admob/NativeAdvancedExample/app/src/main/res/menu/popup_menu.xml b/kotlin/admob/NativeAdvancedExample/app/src/main/res/menu/popup_menu.xml
index 91c059d6e..2efa73eaf 100644
--- a/kotlin/admob/NativeAdvancedExample/app/src/main/res/menu/popup_menu.xml
+++ b/kotlin/admob/NativeAdvancedExample/app/src/main/res/menu/popup_menu.xml
@@ -1,6 +1,10 @@
diff --git a/kotlin/admob/NativeAdvancedExample/app/src/main/res/values/strings.xml b/kotlin/admob/NativeAdvancedExample/app/src/main/res/values/strings.xml
index a68adf7d7..9f602958f 100644
--- a/kotlin/admob/NativeAdvancedExample/app/src/main/res/values/strings.xml
+++ b/kotlin/admob/NativeAdvancedExample/app/src/main/res/values/strings.xml
@@ -1,5 +1,6 @@
Ad
+ Ad Inspector
AdMob Native Advanced
More
Privacy Settings
diff --git a/kotlin/admob/RewardedInterstitialExample/app/src/main/java/com/google/android/gms/example/rewardedinterstitialexample/MainActivity.kt b/kotlin/admob/RewardedInterstitialExample/app/src/main/java/com/google/android/gms/example/rewardedinterstitialexample/MainActivity.kt
index 5cf80dc22..56a22e7ab 100644
--- a/kotlin/admob/RewardedInterstitialExample/app/src/main/java/com/google/android/gms/example/rewardedinterstitialexample/MainActivity.kt
+++ b/kotlin/admob/RewardedInterstitialExample/app/src/main/java/com/google/android/gms/example/rewardedinterstitialexample/MainActivity.kt
@@ -98,29 +98,38 @@ class MainActivity : AppCompatActivity() {
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.action_menu, menu)
- val moreMenu = menu?.findItem(R.id.action_more)
- moreMenu?.isVisible = googleMobileAdsConsentManager.isPrivacyOptionsRequired
return super.onCreateOptionsMenu(menu)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
val menuItemView = findViewById(item.itemId)
+ val activity = this
PopupMenu(this, menuItemView).apply {
menuInflater.inflate(R.menu.popup_menu, menu)
+ menu
+ .findItem(R.id.privacy_settings)
+ .setVisible(googleMobileAdsConsentManager.isPrivacyOptionsRequired)
show()
setOnMenuItemClickListener { popupMenuItem ->
when (popupMenuItem.itemId) {
R.id.privacy_settings -> {
pauseGame()
// Handle changes to user consent.
- googleMobileAdsConsentManager.showPrivacyOptionsForm(this@MainActivity) { formError ->
+ googleMobileAdsConsentManager.showPrivacyOptionsForm(activity) { formError ->
if (formError != null) {
- Toast.makeText(this@MainActivity, formError.message, Toast.LENGTH_SHORT).show()
+ Toast.makeText(activity, formError.message, Toast.LENGTH_SHORT).show()
}
resumeGame()
}
true
}
+ R.id.ad_inspector -> {
+ MobileAds.openAdInspector(activity) { error ->
+ // Error will be non-null if ad inspector closed due to an error.
+ error?.let { Toast.makeText(activity, it.message, Toast.LENGTH_SHORT).show() }
+ }
+ true
+ }
else -> false
}
}
diff --git a/kotlin/admob/RewardedInterstitialExample/app/src/main/res/menu/action_menu.xml b/kotlin/admob/RewardedInterstitialExample/app/src/main/res/menu/action_menu.xml
index c4a677368..40e9a54ca 100644
--- a/kotlin/admob/RewardedInterstitialExample/app/src/main/res/menu/action_menu.xml
+++ b/kotlin/admob/RewardedInterstitialExample/app/src/main/res/menu/action_menu.xml
@@ -5,6 +5,5 @@
android:id="@+id/action_more"
android:icon="@android:drawable/ic_menu_preferences"
android:title="@string/more_menu"
- app:showAsAction="always"
- android:visible="false"/>
+ app:showAsAction="always" />
diff --git a/kotlin/admob/RewardedInterstitialExample/app/src/main/res/menu/popup_menu.xml b/kotlin/admob/RewardedInterstitialExample/app/src/main/res/menu/popup_menu.xml
index 91c059d6e..2efa73eaf 100644
--- a/kotlin/admob/RewardedInterstitialExample/app/src/main/res/menu/popup_menu.xml
+++ b/kotlin/admob/RewardedInterstitialExample/app/src/main/res/menu/popup_menu.xml
@@ -1,6 +1,10 @@
diff --git a/kotlin/admob/RewardedInterstitialExample/app/src/main/res/values/strings.xml b/kotlin/admob/RewardedInterstitialExample/app/src/main/res/values/strings.xml
index 8014875e1..561952074 100644
--- a/kotlin/admob/RewardedInterstitialExample/app/src/main/res/values/strings.xml
+++ b/kotlin/admob/RewardedInterstitialExample/app/src/main/res/values/strings.xml
@@ -1,4 +1,5 @@
+ Ad Inspector
AdMob Rewarded Interstitial
Coins: 0
Impossible Game
diff --git a/kotlin/admob/RewardedVideoExample/app/src/main/java/com/google/android/gms/example/rewardedvideoexample/MainActivity.kt b/kotlin/admob/RewardedVideoExample/app/src/main/java/com/google/android/gms/example/rewardedvideoexample/MainActivity.kt
index a53904746..51d01206b 100644
--- a/kotlin/admob/RewardedVideoExample/app/src/main/java/com/google/android/gms/example/rewardedvideoexample/MainActivity.kt
+++ b/kotlin/admob/RewardedVideoExample/app/src/main/java/com/google/android/gms/example/rewardedvideoexample/MainActivity.kt
@@ -100,33 +100,44 @@ class MainActivity : AppCompatActivity() {
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.action_menu, menu)
- val moreMenu = menu?.findItem(R.id.action_more)
- moreMenu?.isVisible = googleMobileAdsConsentManager.isPrivacyOptionsRequired
return super.onCreateOptionsMenu(menu)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
val menuItemView = findViewById(item.itemId)
- val popup = PopupMenu(this, menuItemView)
- popup.menuInflater.inflate(R.menu.popup_menu, popup.menu)
- popup.show()
- popup.setOnMenuItemClickListener { popupMenuItem ->
- when (popupMenuItem.itemId) {
- R.id.privacy_settings -> {
- pauseGame()
- // Handle changes to user consent.
- googleMobileAdsConsentManager.showPrivacyOptionsForm(this) { formError ->
- if (formError != null) {
- Toast.makeText(this@MainActivity, formError.message, Toast.LENGTH_SHORT).show()
+ val activity = this
+ PopupMenu(this, menuItemView).apply {
+ menuInflater.inflate(R.menu.popup_menu, menu)
+ menu
+ .findItem(R.id.privacy_settings)
+ .setVisible(googleMobileAdsConsentManager.isPrivacyOptionsRequired)
+ show()
+ setOnMenuItemClickListener { popupMenuItem ->
+ when (popupMenuItem.itemId) {
+ R.id.privacy_settings -> {
+ pauseGame()
+ // Handle changes to user consent.
+ googleMobileAdsConsentManager.showPrivacyOptionsForm(activity) { formError ->
+ if (formError != null) {
+ Toast.makeText(activity, formError.message, Toast.LENGTH_SHORT).show()
+ }
+ resumeGame()
}
- resumeGame()
+ true
}
- true
+ R.id.ad_inspector -> {
+ MobileAds.openAdInspector(activity) { error ->
+ // Error will be non-null if ad inspector closed due to an error.
+ error?.let { Toast.makeText(activity, it.message, Toast.LENGTH_SHORT).show() }
+ }
+ true
+ }
+ // Handle other branches here.
+ else -> false
}
- else -> false
}
+ return super.onOptionsItemSelected(item)
}
- return super.onOptionsItemSelected(item)
}
private fun pauseGame() {
diff --git a/kotlin/admob/RewardedVideoExample/app/src/main/res/menu/action_menu.xml b/kotlin/admob/RewardedVideoExample/app/src/main/res/menu/action_menu.xml
index 4f8f94062..3963228d7 100644
--- a/kotlin/admob/RewardedVideoExample/app/src/main/res/menu/action_menu.xml
+++ b/kotlin/admob/RewardedVideoExample/app/src/main/res/menu/action_menu.xml
@@ -5,6 +5,5 @@
android:id="@+id/action_more"
android:icon="@android:drawable/ic_menu_preferences"
android:title="More"
- app:showAsAction="always"
- android:visible="false"/>
+ app:showAsAction="always" />
diff --git a/kotlin/admob/RewardedVideoExample/app/src/main/res/menu/popup_menu.xml b/kotlin/admob/RewardedVideoExample/app/src/main/res/menu/popup_menu.xml
index f9765b824..2efa73eaf 100644
--- a/kotlin/admob/RewardedVideoExample/app/src/main/res/menu/popup_menu.xml
+++ b/kotlin/admob/RewardedVideoExample/app/src/main/res/menu/popup_menu.xml
@@ -1,6 +1,10 @@
diff --git a/kotlin/admob/RewardedVideoExample/app/src/main/res/values/strings.xml b/kotlin/admob/RewardedVideoExample/app/src/main/res/values/strings.xml
index 9a48f5564..07daddf01 100644
--- a/kotlin/admob/RewardedVideoExample/app/src/main/res/values/strings.xml
+++ b/kotlin/admob/RewardedVideoExample/app/src/main/res/values/strings.xml
@@ -1,5 +1,6 @@
Settings
+ Ad Inspector
AdMob Rewarded Video Example
Coins: 0
Impossible Game