H5AdsWebViewClient

@RequiresApi(api = VERSION_CODES.LOLLIPOP)
class H5AdsWebViewClient : WebViewClient


用于拦截和处理 H5 广告请求的 WebViewClient。如需使用此功能,请将其设置为包含将发出 H5 广告请求的 Web 应用的 WebView 的客户端。

重要提示:此 WebViewClient 不能用于多个 WebView。每个将支持 H5 广告的新 WebView 都必须使用新的 H5AdsWebViewClient

示例代码:

public void onCreate(Bundle savedInstanceState) {
  ...

  // Initialize early to reduce latency on the session's first ad request.
  MobileAds.initialize(this);

  WebView myWebView = findViewById(R.id.my_webview);

  // JavaScript must be enabled.
  WebSettings settings = myWebView.getSettings();
  settings.setJavaScriptEnabled(true);

  H5AdsWebViewClient h5Client = new H5AdsWebViewClient(this, myWebView);

  // (Optional) any existing WebViewClient
  WebViewClient myClient = ...;
  h5Client.setDelegateWebViewClient(myClient);

  webView.setWebViewClient(h5Client);
}

摘要

公共构造函数

H5AdsWebViewClient(context: Context!, webView: WebView!)

H5AdsWebViewClient 的构造函数。

公共函数

Unit

销毁由 H5 广告管理的所有广告。

Unit
doUpdateVisitedHistory(view: WebView!, url: String!, isReload: Boolean)
WebViewClient?

获取委托 WebViewClient

Unit
onFormResubmission(view: WebView!, dontResend: Message!, resend: Message!)
Unit
onLoadResource(view: WebView!, url: String!)
Unit
@RequiresApi(api = VERSION_CODES.M)
onPageCommitVisible(view: WebView!, url: String!)
Unit
onPageFinished(view: WebView!, url: String!)
Unit
onPageStarted(view: WebView!, url: String!, favicon: Bitmap!)
Unit
Unit
@RequiresApi(api = VERSION_CODES.M)
onReceivedError(
    view: WebView!,
    request: WebResourceRequest!,
    error: WebResourceError!
)
Unit
onReceivedError(
    view: WebView!,
    errorCode: Int,
    description: String!,
    failingUrl: String!
)

此函数已废弃。

Unit
onReceivedHttpAuthRequest(
    view: WebView!,
    handler: HttpAuthHandler!,
    host: String!,
    realm: String!
)
Unit
@RequiresApi(api = VERSION_CODES.M)
onReceivedHttpError(
    view: WebView!,
    request: WebResourceRequest!,
    errorResponse: WebResourceResponse!
)
Unit
onReceivedLoginRequest(
    view: WebView!,
    realm: String!,
    account: String?,
    args: String!
)
Unit
onReceivedSslError(
    view: WebView!,
    handler: SslErrorHandler!,
    error: SslError!
)
Boolean
@RequiresApi(api = VERSION_CODES.O)
onRenderProcessGone(view: WebView!, detail: RenderProcessGoneDetail!)
Unit
@RequiresApi(api = VERSION_CODES.O_MR1)
onSafeBrowsingHit(
    view: WebView!,
    request: WebResourceRequest!,
    threatType: Int,
    callback: SafeBrowsingResponse!
)
Unit
onScaleChanged(view: WebView!, oldScale: Float, newScale: Float)
Unit
onTooManyRedirects(view: WebView!, cancelMsg: Message!, continueMsg: Message!)

此函数已废弃。

Unit
Unit

设置 WebViewClient 以委托 H5AdsWebViewClient 无法处理的方法。

WebResourceResponse?
WebResourceResponse?

此函数已废弃。

Boolean
Boolean
@RequiresApi(api = VERSION_CODES.N)
shouldOverrideUrlLoading(view: WebView!, request: WebResourceRequest!)
Boolean

此函数已废弃。

受保护的函数

WebViewClient!

继承的函数

android.webkit.WebViewClient 继承
Unit
Unit
Unit
Unit
Unit
Unit
onPageStarted(p: WebView!, p1: String!, p2: Bitmap!)
Unit
Unit
Unit
onReceivedHttpAuthRequest(
    p: WebView!,
    p1: HttpAuthHandler!,
    p2: String!,
    p3: String!
)
Unit
onReceivedHttpError(
    p: WebView!,
    p1: WebResourceRequest!,
    p2: WebResourceResponse!
)
Unit
onReceivedLoginRequest(p: WebView!, p1: String!, p2: String!, p3: String!)
Unit
Boolean
Unit
onSafeBrowsingHit(
    p: WebView!,
    p1: WebResourceRequest!,
    p2: Int,
    p3: SafeBrowsingResponse!
)
Unit
onScaleChanged(p: WebView!, p1: Float, p2: Float)
Unit

此函数已废弃。

Unit
WebResourceResponse!
Boolean
Boolean

公共构造函数

H5AdsWebViewClient

H5AdsWebViewClient(context: Context!, webView: WebView!)

H5AdsWebViewClient 的构造函数。

参数
context: Context!

activity 或应用上下文。

webView: WebView!

将与此 H5AdsWebViewClient 关联的 WebView。必须在 WebView 上启用 JavaScript。

公共函数

clearAdObjects

fun clearAdObjects(): Unit

销毁由 H5 广告管理的所有广告。

注意:此方法对非 H5 AdMob API 创建的任何广告(例如 和 )没有影响。

doUpdateVisitedHistory

fun doUpdateVisitedHistory(view: WebView!, url: String!, isReload: Boolean): Unit

getDelegateWebViewClient

fun getDelegateWebViewClient(): WebViewClient?

获取委托 WebViewClient

onFormResubmission

fun onFormResubmission(view: WebView!, dontResend: Message!, resend: Message!): Unit

onLoadResource

fun onLoadResource(view: WebView!, url: String!): Unit

onPageCommitVisible

@RequiresApi(api = VERSION_CODES.M)
fun onPageCommitVisible(view: WebView!, url: String!): Unit

onPageFinished

fun onPageFinished(view: WebView!, url: String!): Unit

onPageStarted

fun onPageStarted(view: WebView!, url: String!, favicon: Bitmap!): Unit

onReceivedClientCertRequest

fun onReceivedClientCertRequest(view: WebView!, request: ClientCertRequest!): Unit

onReceivedError

@RequiresApi(api = VERSION_CODES.M)
fun onReceivedError(
    view: WebView!,
    request: WebResourceRequest!,
    error: WebResourceError!
): Unit

onReceivedError

fun onReceivedError(
    view: WebView!,
    errorCode: Int,
    description: String!,
    failingUrl: String!
): Unit

onReceivedHttpAuthRequest

fun onReceivedHttpAuthRequest(
    view: WebView!,
    handler: HttpAuthHandler!,
    host: String!,
    realm: String!
): Unit

onReceivedHttpError

@RequiresApi(api = VERSION_CODES.M)
fun onReceivedHttpError(
    view: WebView!,
    request: WebResourceRequest!,
    errorResponse: WebResourceResponse!
): Unit

onReceivedLoginRequest

fun onReceivedLoginRequest(
    view: WebView!,
    realm: String!,
    account: String?,
    args: String!
): Unit

onReceivedSslError

fun onReceivedSslError(
    view: WebView!,
    handler: SslErrorHandler!,
    error: SslError!
): Unit

onRenderProcessGone

@RequiresApi(api = VERSION_CODES.O)
fun onRenderProcessGone(view: WebView!, detail: RenderProcessGoneDetail!): Boolean

onSafeBrowsingHit

@RequiresApi(api = VERSION_CODES.O_MR1)
fun onSafeBrowsingHit(
    view: WebView!,
    request: WebResourceRequest!,
    threatType: Int,
    callback: SafeBrowsingResponse!
): Unit

onScaleChanged

fun onScaleChanged(view: WebView!, oldScale: Float, newScale: Float): Unit

onTooManyRedirects

fun onTooManyRedirects(view: WebView!, cancelMsg: Message!, continueMsg: Message!): Unit

onUnhandledKeyEvent

fun onUnhandledKeyEvent(view: WebView!, event: KeyEvent!): Unit

setDelegateWebViewClient

fun setDelegateWebViewClient(delegate: WebViewClient?): Unit

设置 WebViewClient 以委托 H5AdsWebViewClient 无法处理的方法。

shouldInterceptRequest

fun shouldInterceptRequest(view: WebView!, request: WebResourceRequest!): WebResourceResponse?

shouldInterceptRequest

fun shouldInterceptRequest(view: WebView!, url: String!): WebResourceResponse?

shouldOverrideKeyEvent

fun shouldOverrideKeyEvent(view: WebView!, event: KeyEvent!): Boolean

shouldOverrideUrlLoading

@RequiresApi(api = VERSION_CODES.N)
fun shouldOverrideUrlLoading(view: WebView!, request: WebResourceRequest!): Boolean

shouldOverrideUrlLoading

fun shouldOverrideUrlLoading(view: WebView!, url: String!): Boolean

受保护的函数

getDelegate

protected fun getDelegate(): WebViewClient!