如何在 android studio 中实现 Admob 插页式广告 - Kotlin
Posted
技术标签:
【中文标题】如何在 android studio 中实现 Admob 插页式广告 - Kotlin【英文标题】:How to implement Admob Interstitial Ad in android studio - Kotlin 【发布时间】:2021-08-24 14:12:27 【问题描述】:我是一名初学者,我需要帮助在 android studio 中使用 Kotlin 实施 Admob 插页式广告。对不起我的问题,如果你能一步一步地向我展示,那么我可以学习这个过程并每隔一段时间自己做一次。提前致谢。
package com.example.myapplication
import android.content.ContentValues.TAG
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.TextView
import com.google.android.gms.ads.*
import com.google.android.gms.ads.interstitial.InterstitialAd
import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback
class MainActivity : AppCompatActivity()
private var mInterstitialAd: InterstitialAd? = null
override fun onCreate(savedInstanceState: Bundle?)
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val one_Page: TextView = findViewById(R.id.one_Page)
val three_Page: TextView = findViewById(R.id.three_Page)
one_Page.setOnClickListener
val intent = Intent(this, PageActivity2::class.java)
// start your next activity
startActivity(intent)
three_Page.setOnClickListener
val intent = Intent(this, PageActivity2::class.java)
// start your next activity
startActivity(intent)
【问题讨论】:
这可能有帮助youtube.com/watch?v=ynOqwzD21cs 【参考方案1】:我认为您可能遗漏了几个步骤以使其正确,请按照以下步骤操作:
注意:我将使用示例 ID 加载演示广告,您需要确保它可以正常工作,然后考虑将示例 ID 替换为真实 ID
1:设置 Admob 依赖项:
implementation 'com.google.android.gms:play-services-ads:20.1.0'
2:在<application>
标签内的AndroidManifest.xml中添加sn-p代码
<!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 -->
<!-- Replace sample id if you have a real id from AdMob project - pattern ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713"/>
3:初始化 Admob 并加载广告:
import com.google.android.gms.ads.interstitial.InterstitialAd
import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback
class MainActivity : AppCompatActivity()
private var mInterstitialAd: InterstitialAd? = null
private final var TAG = 'MainActivity'
override fun onCreate(savedInstanceState: Bundle?)
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Initialize Admob
MobileAds.initialize(this)
var adRequest = AdRequest.Builder().build()
// ca-app-pub-3940256099942544/1033173712 is a sample interstial id.
InterstitialAd.load(this,"ca-app-pub-3940256099942544/1033173712", adRequest, object : InterstitialAdLoadCallback()
override fun onAdFailedToLoad(adError: LoadAdError)
Log.d(TAG, adError?.message)
mInterstitialAd = null
override fun onAdLoaded(interstitialAd: InterstitialAd)
Log.d(TAG, 'Ad was loaded.')
mInterstitialAd = interstitialAd
)
4:在InterstitialAd.load
下面添加FullScreenContentCallback:
mInterstitialAd?.fullScreenContentCallback = object: FullScreenContentCallback()
override fun onAdDismissedFullScreenContent()
Log.d(TAG, 'Ad was dismissed.')
override fun onAdFailedToShowFullScreenContent(adError: AdError?)
Log.d(TAG, 'Ad failed to show.')
override fun onAdShowedFullScreenContent()
Log.d(TAG, 'Ad showed fullscreen content.')
mInterstitialAd = null;
6:将 showFullAd 添加到 MainActivity 并在要显示的 Activity 中调用 showFullAd
fun showFullAd()
if (mInterstitialAd != null)
mInterstitialAd?.show(this)
else
Log.d("TAG", "The interstitial ad wasn't ready yet.")
查看更多:
Get Started with Admob Implement Interstitial ads【讨论】:
【参考方案2】:https://developers.google.com/admob/android/interstitial#kotlin 解释了如何请求插页式广告。您上面的代码创建了一个mInterstitialAd
变量,但仍需要:
-
加载广告
在应用的自然停止点展示广告
【讨论】:
感谢您的反馈。我的问题是我已经尝试了这个过程,但没有做对。如果您可以帮助我在上面的问题中发布的代码,我需要一步一步来。以上是关于如何在 android studio 中实现 Admob 插页式广告 - Kotlin的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio:如何从 Fragment 在 ActionBar 中实现后退按钮
Android Studio 如何在 LinearLayout 元素中实现锚链接?
如何在 android studio 中实现 Admob 插页式广告 - Kotlin
如何在 Java 和 android studio 中实现 Canny Edge Detector