Admob 减慢网页浏览速度

问题描述 投票:0回答:1

我有一个在 webview 中包含 html 内容的应用程序。当我从

Admob
加载激励广告时,我的网页视图动画不再流畅。当我使用 Chrome 开发工具分析我的 webview 时,它实际上使用主 webview 线程显示了很多与
Admob
相关的内容。 我试图解决这个问题:

  • 使用另一个线程中的 webview。虽然我可以创建 webview,但将其添加到现有 LinearLayout 时会崩溃。即使我将其添加到 UI 线程中,它仍然抱怨 ui 线程之外有 UI 操作。
  • 在不同的进程中创建单独的活动。此活动保留在后台。加载广告效果很好。然后我将该活动放在前面并调用
    rewardedAd.show()
    但没有任何反应,直到由于超时而出现错误回调。没有详细信息。

有人设法解决了

Admob
奖励广告减慢网页浏览的性能问题吗?

android webview admob
1个回答
0
投票

遵循此代码:-->

您的视图 XML

<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>

在您的 Java/Kotlin 代码中,获取对 WebView 的引用并将 AdMob 广告加载到其中。您可以通过创建一个包含 AdMob 广告代码的 HTML 页面并将该 HTML 页面加载到 WebView 中来实现此目的。

class WebViewActivity : AppCompatActivity() {

private lateinit var webView: WebView

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_webview)

    webView = findViewById(R.id.webview)

    // Enable JavaScript in WebView (required for AdMob ads)
    webView.settings.javaScriptEnabled = true

    // Load your HTML page with AdMob ads
    val htmlContent = "<html><body><script async src=\"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js\"></script> <ins class=\"adsbygoogle\" style=\"display:inline-block;width:320px;height:100px\" data-ad-client=\"ca-pub-XXXXXXXXXXXXXXXX\" data-ad-slot=\"1234567890\"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></body></html>"
    webView.loadData(htmlContent, "text/html", "UTF-8")
}}

**在真机上测试**

import com.google.android.gms.ads.AdRequest

 val adRequest = AdRequest.Builder()
.addTestDevice("YOUR_TEST_DEVICE_ID")
.build()
 webView.loadUrl("your_admob_url", adRequest)

处理 AdMob 广告事件:

您还可以使用 AdMob 的广告监听器来处理广告事件,例如广告加载、点击和错误处理。有关处理这些事件的更多详细信息,请参阅 AdMob 文档。

© www.soinside.com 2019 - 2024. All rights reserved.