Thiết lập WebView

Nếu Android ứng dụng của bạn sử dụng WebView để hiển thị nội dung web, bạn nên định cấu hình ứng dụng đó để nội dung có thể kiếm tiền một cách tối ưu bằng quảng cáo.

Hướng dẫn này trình bày cách cung cấp thông tin về cách định cấu hình đối tượngWebView .

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 về 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.

Java

CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);

Kotlin

CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)

Cài đặt web

Default WebView settings are not optimized for ads. Use the WebSettings APIs to configure your WebView for:

  • JavaScript
  • Access to local storage
  • Automatic video play

Java

import android.webkit.CookieManager;
import android.webkit.WebView;

public class MainActivity extends AppCompatActivity {
  private WebView webView;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    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

import android.webkit.CookieManager
import android.webkit.WebView

class MainActivity : AppCompatActivity() {
  lateinit var webView: WebView

  override fun onCreate(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 trong chế độ xem web

Cookie và URL trang có vai trò quan trọng đối với hiệu suất của chế độ xem web và chỉ hoạt động như dự kiến khi loadUrl() được sử dụng với một URL dựa trên mạng. Để tối ưu hoá WebView hiệu suất, hãy tải trực tiếp nội dung web từ các URL dựa trên mạng. Tránh sử dụng WebViewAssetLoader, tải thành phần từ thiết bị hoặc tạo nội dung web một cách linh động.

Java

import android.webkit.CookieManager;
import android.webkit.WebView;

public class MainActivity extends AppCompatActivity {
  private WebView webView;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    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://webview-api-for-ads-test.glitch.me");
  }
}

Kotlin

import android.webkit.CookieManager
import android.webkit.WebView

class MainActivity : AppCompatActivity() {
  lateinit var webView: WebView

  override fun onCreate(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://webview-api-for-ads-test.glitch.me")
  }
}

Kiểm thử chế độ xem trên web

Trong quá trình phát triển ứng dụng, bạn nên tải URL thử nghiệm này:

https://webview-api-for-ads-test.glitch.me#webview-settings-tests

để xác minh rằng các chế độ cài đặt này có tác động mong muốn đối với quảng cáo. URL thử nghiệm có các tiêu chí thành công để tích hợp hoàn chỉnh nếu quan sát thấy những điều sau:

Cài đặt chế độ xem trên web

  • Cookie của bên thứ ba hoạt động
  • 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 nội tuyến và không mở trong trình phát tích hợp toàn màn hình
  • Quảng cáo video phát tự động mà không cần nhấp vào nút phát
  • Quảng cáo video có thể phát lại

Sau khi quá trình kiểm thử hoàn tất, hãy thay thế URL kiểm thử bằng URL mà chế độ xem web dự định tải.