Để thảo luận và đưa ra ý kiến phản hồi về các sản phẩm của chúng tôi, hãy tham gia kênh Discord chính thức của AdMob trong máy chủ Cộng đồng quảng cáo và đo lường của Google.
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Nếu ứng dụng của bạn sử dụng WebView để hiển thị nội dung trên web, thì bạn nên định cấu hình để có thể kiếm tiền tối ưu từ nội dung bằng quảng cáo.
Hướng dẫn này cho bạn biết cách cung cấp thông tin về cách định cấu hình đối tượng WebView.
Bật cookie của bên thứ ba
Để cải thiện trải nghiệm quảng cáo của người dùng và để nhất quán với chính sách cookie của Chrome, hãy bật cookie của bên thứ ba trên thực thể WebView của bạn.
Chế độ cài đặt WebView mặc định không được tối ưu hoá cho quảng cáo. Dùng API WebSettings để định cấu hình WebView cho:
JavaScript
Quyền truy cập vào bộ nhớ cục bộ
Tự động phát video
Java
importandroid.webkit.CookieManager;importandroid.webkit.WebView;publicclassMainActivityextendsAppCompatActivity{privateWebViewwebView;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);webView=findViewById(R.id.webview);// Let the web view accept third-party cookies.CookieManager.getInstance().setAcceptThirdPartyCookies(webView,true);// Let the web view use JavaScript.webView.getSettings().setJavaScriptEnabled(true);// Let the web view access local storage.webView.getSettings().setDomStorageEnabled(true);// Let HTML videos play automatically.webView.getSettings().setMediaPlaybackRequiresUserGesture(false);}}
Kotlin
importandroid.webkit.CookieManagerimportandroid.webkit.WebViewclassMainActivity:AppCompatActivity(){lateinitvarwebView:WebViewoverridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)webView=findViewById(R.id.webview)// Let the web view accept third-party cookies.CookieManager.getInstance().setAcceptThirdPartyCookies(webView,true)// Let the web view use JavaScript.webView.settings.javaScriptEnabled=true// Let the web view access local storage.webView.settings.domStorageEnabled=true// Let HTML videos play automatically.webView.settings.mediaPlaybackRequiresUserGesture=false}}
Tải nội dung chế độ xem web
Cookie và URL trang là những yếu tố quan trọng để kiếm tiền từ chế độ xem web và chỉ hoạt động như mong đợi khi loadUrl() được dùng với một URL dựa trên mạng. Để tối ưu hoá hiệu suất WebView, hãy tải nội dung web trực tiếp từ các URL dựa trên mạng. Tránh sử dụng WebViewAssetLoader, tải tài sản từ thiết bị hoặc tạo nội dung web một cách linh hoạt.
Java
importandroid.webkit.CookieManager;importandroid.webkit.WebView;publicclassMainActivityextendsAppCompatActivity{privateWebViewwebView;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);webView=findViewById(R.id.webview);// Let the web view accept third-party cookies.CookieManager.getInstance().setAcceptThirdPartyCookies(webView,true);// Let the web view use JavaScript.webView.getSettings().setJavaScriptEnabled(true);// Let the web view access local storage.webView.getSettings().setDomStorageEnabled(true);// Let HTML videos play automatically.webView.getSettings().setMediaPlaybackRequiresUserGesture(false);// Load the URL for optimized web view performance.webView.loadUrl("https://google.github.io/webview-ads/test/");}}
Kotlin
importandroid.webkit.CookieManagerimportandroid.webkit.WebViewclassMainActivity:AppCompatActivity(){lateinitvarwebView:WebViewoverridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)webView=findViewById(R.id.webview)// Let the web view accept third-party cookies.CookieManager.getInstance().setAcceptThirdPartyCookies(webView,true)// Let the web view use JavaScript.webView.settings.javaScriptEnabled=true// Let the web view access local storage.webView.settings.domStorageEnabled=true// Let HTML videos play automatically.webView.settings.mediaPlaybackRequiresUserGesture=false// Load the URL for optimized web view performance.webView.loadUrl("https://google.github.io/webview-ads/test/")}}
Kiểm thử chế độ xem web
Trong quá trình phát triển ứng dụng, bạn nên tải URL thử nghiệm này:
để xác minh rằng các chế độ cài đặt này có tác động như dự kiến đối với quảng cáo. URL kiểm thử có tiêu chí thành công cho một quy trình tích hợp hoàn chỉnh nếu bạn thấy những điều sau:
Chế độ cài đặt chế độ xem web
Cách hoạt động của cookie của bên thứ ba
Cookie của bên thứ nhất hoạt động
Đã bật JavaScript
Đã bật bộ nhớ DOM
Quảng cáo dạng video
Quảng cáo dạng video phát cùng dòng và không mở trong trình phát tích hợp toàn màn hình
Quảng cáo dạng video tự động phát mà không cần nhấp vào nút phát
Quảng cáo dạng video có thể phát lại
Sau khi kiểm thử xong, hãy thay thế URL kiểm thử bằng URL mà khung hiển thị web dự định tải.
[null,null,["Cập nhật lần gần đây nhất: 2025-09-02 UTC."],[[["\u003cp\u003eThis guide explains how to configure Android \u003ccode\u003eWebView\u003c/code\u003e for optimal ad monetization by enabling features like third-party cookies, JavaScript, and local storage access.\u003c/p\u003e\n"],["\u003cp\u003eIt is crucial to apply all recommendations to every \u003ccode\u003eWebView\u003c/code\u003e instance in your app for consistent ad performance.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers should use \u003ccode\u003eloadUrl()\u003c/code\u003e with network-based URLs directly to ensure proper functionality of cookies and optimized web view performance.\u003c/p\u003e\n"],["\u003cp\u003eA provided test URL helps verify the effectiveness of your settings for ad integration during development.\u003c/p\u003e\n"],["\u003cp\u003eFor production, replace the test URL with the intended URL for your \u003ccode\u003eWebView\u003c/code\u003e to load.\u003c/p\u003e\n"]]],[],null,["If your app utilizes `\n`[`WebView`](//developer.android.com/reference/android/webkit/WebView) to display web content, it's\nrecommended to configure it so that content can be optimally monetized with ads.\n\nThis guide shows you how to provide information about how to configure a\n`WebView` object.\n| **Important:** To properly set up and optimize `WebView`, apply all of the following recommendations to each `WebView` instance in your app. To help identify each web view, toggle the [\"highlight-all-webviews\"](//chromium.googlesource.com/chromium/src/+/main/android_webview/docs/developer-ui.md#flag-ui) flag in WebView DevTools to highlight the web views in your app with a yellow tint.\n\nEnable third-party cookies\n\nTo improve your user's ad experience and be consistent with Chrome's\n[cookie policy](//policies.google.com/technologies/cookies), enable third-party\ncookies on your `WebView` instance. \n\nJava \n\n CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);\n\nKotlin \n\n CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)\n\nWeb settings\n\nDefault `WebView` settings are not optimized for ads. Use the\n[`WebSettings`](//developer.android.com/reference/android/webkit/WebSettings)\nAPIs to configure your `WebView` for:\n\n- JavaScript\n- Access to local storage\n- Automatic video play\n\nJava \n\n import android.webkit.CookieManager;\n import android.webkit.WebView;\n\n public class MainActivity extends AppCompatActivity {\n private WebView webView;\n\n @Override\n protected void onCreate(Bundle savedInstanceState) {\n super.onCreate(savedInstanceState);\n setContentView(R.layout.activity_main);\n webView = findViewById(R.id.webview);\n\n // Let the web view accept third-party cookies.\n CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);\n // Let the web view use JavaScript.\n webView.getSettings().setJavaScriptEnabled(true);\n // Let the web view access local storage.\n webView.getSettings().setDomStorageEnabled(true);\n // Let HTML videos play automatically.\n webView.getSettings().setMediaPlaybackRequiresUserGesture(false);\n }\n }\n\nKotlin \n\n import android.webkit.CookieManager\n import android.webkit.WebView\n\n class MainActivity : AppCompatActivity() {\n lateinit var webView: WebView\n\n override fun onCreate(savedInstanceState: Bundle?) {\n super.onCreate(savedInstanceState)\n setContentView(R.layout.activity_main)\n webView = findViewById(R.id.webview)\n\n // Let the web view accept third-party cookies.\n CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)\n // Let the web view use JavaScript.\n webView.settings.javaScriptEnabled = true\n // Let the web view access local storage.\n webView.settings.domStorageEnabled = true\n // Let HTML videos play automatically.\n webView.settings.mediaPlaybackRequiresUserGesture = false\n }\n }\n\nLoad web view content\n\nCookies and page URLs are important for web view monetization and only function\nas expected when\n[`loadUrl()`](//developer.android.com/reference/android/webkit/WebView#loadUrl(java.lang.String,%20java.util.Map%3Cjava.lang.String,java.lang.String%3E)) is used with a network-based URL. For optimized\n`WebView` performance, load web content\ndirectly from network-based URLs. Avoid using [`WebViewAssetLoader`](//developer.android.com/reference/androidx/webkit/WebViewAssetLoader), loading\nassets from the device, or generating web content dynamically.\n\n\nJava \n\n import android.webkit.CookieManager;\n import android.webkit.WebView;\n\n public class MainActivity extends AppCompatActivity {\n private WebView webView;\n\n @Override\n protected void onCreate(Bundle savedInstanceState) {\n super.onCreate(savedInstanceState);\n setContentView(R.layout.activity_main);\n webView = findViewById(R.id.webview);\n\n // Let the web view accept third-party cookies.\n CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);\n // Let the web view use JavaScript.\n webView.getSettings().setJavaScriptEnabled(true);\n // Let the web view access local storage.\n webView.getSettings().setDomStorageEnabled(true);\n // Let HTML videos play automatically.\n webView.getSettings().setMediaPlaybackRequiresUserGesture(false);\n\n // Load the URL for optimized web view performance.\n webView.loadUrl(\"https://google.github.io/webview-ads/test/\");\n }\n }\n\nKotlin \n\n import android.webkit.CookieManager\n import android.webkit.WebView\n\n class MainActivity : AppCompatActivity() {\n lateinit var webView: WebView\n\n override fun onCreate(savedInstanceState: Bundle?) {\n super.onCreate(savedInstanceState)\n setContentView(R.layout.activity_main)\n webView = findViewById(R.id.webview)\n\n // Let the web view accept third-party cookies.\n CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)\n // Let the web view use JavaScript.\n webView.settings.javaScriptEnabled = true\n // Let the web view access local storage.\n webView.settings.domStorageEnabled = true\n // Let HTML videos play automatically.\n webView.settings.mediaPlaybackRequiresUserGesture = false\n\n // Load the URL for optimized web view performance.\n webView.loadUrl(\"https://google.github.io/webview-ads/test/\")\n }\n }\n\nTest the web view\n\nDuring app development, we recommend that you load this test URL: \n\n https://google.github.io/webview-ads/test/\n\nto verify these settings have the intended effect on ads. The test URL has\nsuccess criteria for a complete integration if the following are observed:\n\nWeb view settings\n\n- Third-party cookies work\n\n\u003c!-- --\u003e\n\n- First-party cookies work\n- JavaScript enabled\n\n\u003c!-- --\u003e\n\n- DOM storage enabled\n\nVideo ad\n\n- The video ad plays inline and does not open in the full screen built-in player\n- The video ad plays automatically without clicking the play button\n- The video ad is replayable\n\nAfter testing is complete, substitute the test URL with the URL the web view\nintends to load."]]