Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Ad Inspector in the settings menu. #750

Merged
merged 1 commit into from
Aug 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand All @@ -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)
}

Expand All @@ -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) {
Expand All @@ -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
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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" />
</menu>
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/ad_inspector"
android:title="@string/ad_inspector" />
<item
android:id="@+id/privacy_settings"
android:title="@string/privacy_settings" />
android:title="@string/privacy_settings"
android:visible="false" />
</menu>
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<resources>
<string name="ad_inspector" translatable="false">Ad Inspector</string>
<string name="app_name" translatable="false">Ad Manager App Open Example</string>
<string name="main_activity" translatable="false">Main Activity</string>
<string name="main_activity_text" translatable="false">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<View>(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
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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" />
</menu>
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/ad_inspector"
android:title="@string/ad_inspector" />
<item
android:id="@+id/privacy_settings"
android:title="@string/privacy_settings" />
android:title="@string/privacy_settings"
android:visible="false" />
</menu>
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="action_settings" translatable="false">Settings</string>
<string name="ad_inspector" translatable="false">Ad Inspector</string>
<string name="app_name" translatable="false">Ad Manager Banner Example</string>
<string name="hello_world" translatable="false">Hello world!</string>
<string name="more_menu" translatable="false">More</string>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}

Expand All @@ -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) {
Expand All @@ -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
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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" />
</menu>
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/ad_inspector"
android:title="@string/ad_inspector" />
<item
android:id="@+id/privacy_settings"
android:title="@string/privacy_settings" />
android:title="@string/privacy_settings"
android:visible="false" />
</menu>
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ad_inspector" translatable="false">Ad Inspector</string>
<string name="app_name" translatable="false">Ad Manager Interstitial</string>
<string name="done" translatable="false">done!</string>
<string name="impossible_game" translatable="false">Impossible Game</string>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}

Expand All @@ -111,18 +108,28 @@ 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) {
R.id.privacy_settings -> {
// 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
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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" />
</menu>
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/ad_inspector"
android:title="@string/ad_inspector" />
<item
android:id="@+id/privacy_settings"
android:title="@string/privacy_settings" />
android:title="@string/privacy_settings"
android:visible="false" />
</menu>
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<resources>
<string name="ad_attribution" translatable="false">Ad</string>
<string name="ad_choices" translatable="false">Ad Choices icon</string>
<string name="ad_inspector" translatable="false">Ad Inspector</string>
<string name="app_name" translatable="false">Ad Manager Native Advanced</string>
<string name="more_menu" translatable="false">More</string>
<string name="privacy_settings" translatable="false">Privacy Settings</string>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<View>(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
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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" />
</menu>
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/ad_inspector"
android:title="@string/ad_inspector" />
<item
android:id="@+id/privacy_settings"
android:title="Privacy Settings" />
android:title="@string/privacy_settings"
android:visible="false" />
</menu>
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<resources>
<string name="ad_inspector" translatable="false">Ad Inspector</string>
<string name="app_name" translatable="false">Ad Manager Rewarded Interstitial</string>
<string name="default_coin_text" translatable="false">Coins: 0</string>
<string name="impossible_game" translatable="false">Impossible Game</string>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<View>(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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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" />
</menu>
Loading
Loading