如何解决无法加载Android测试广告
我正在使用OI必须处理广告并使用测试ID加载广告的Android应用程序,我已经在代码中实现了所有与广告相关的工作,但是由于我在移动设备中运行应用程序而无法加载广告。 我已按照教程进行操作,并在其中添加了Plays服务和Internet许可... 我还在Android清单中添加了测试ID
这是我用来在应用程序中加载广告的代码 。 我声明了权限的清单文件和权限的元数据:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.INTERNET"/>
<Meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713"/>
这是我要加载广告的主要活动,看起来像...我在onCreate上初始化了测试ID
MobileAds.initialize(this,"ca-app-pub-3940256099942544~3347511713")
loadAdmobNativeAd()
这里是加载广告的加载方法
internal var nativeAd: UnifiednativeAd? = null
private fun loadAdmobNativeAd() {
val frameLayout: FrameLayout = findViewById(R.id.native_)
val builder = AdLoader.Builder(this,"ca-app-pub-3940256099942544/2247696110")
builder.forUnifiednativeAd { unifiednativeAd ->
// OnUnifiednativeAdLoadedListener implementation.
// You must call destroy on old ads when you are done with them,// otherwise you will have a memory leak.
if (nativeAd != null) {
nativeAd?.destroy()
}
nativeAd = unifiednativeAd
val adView = layoutInflater
.inflate(R.layout.native_ad_layout,null) as UnifiednativeAdView
populateUnifiednativeAdView(unifiednativeAd,adView)
frameLayout.removeAllViews()
frameLayout.addView(adView)
}
builder.withAdListener(object: AdListener() {
override fun onAdFailedToLoad(p0: Int) {
Log.d(
"checkads","error1"
)
super.onAdFailedToLoad(p0)
}
})
val adLoader = builder.build()
adLoader.loadAd(AdRequest.Builder().build())
}
private fun populateUnifiednativeAdView(
unifiednativeAd: UnifiednativeAd?,adView: UnifiednativeAdView
) {adView.headlineView = adView.findViewById(R.id.ad_headline)
adView.advertiserView = adView.findViewById(R.id.ad_advertiser)
adView.mediaView = adView.findViewById(R.id.ad_media)
adView.callToActionView = adView.findViewById(R.id.btn_install)
adView.iconView = adView.findViewById(R.id.adv_icon)
adView.bodyView = adView.findViewById(R.id.ad_body)
if (unifiednativeAd != null) {
adView.mediaView.setMediaContent(unifiednativeAd.mediaContent)
}
if (unifiednativeAd != null) {
adView.ad_headline.text = unifiednativeAd.headline
}
if (unifiednativeAd != null) {
if (unifiednativeAd.body == null) {
adView.bodyView.visibility = View.INVISIBLE
} else {
adView.ad_body.text = unifiednativeAd.body
adView.bodyView.visibility = View.VISIBLE
}
if (unifiednativeAd.advertiser == null) {
adView.advertiserView.visibility = View.INVISIBLE
} else {
adView.ad_advertiser.text = unifiednativeAd.advertiser
adView.advertiserView.visibility = View.VISIBLE
}
if (unifiednativeAd.icon == null) {
adView.iconView.visibility = View.GONE
} else {
adView.iconView.visibility = View.VISIBLE
}}
adView.setNativeAd(unifiednativeAd)
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。