광고 수익 창출을 위한 WebView API 통합
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
광고용 Web view API를 사용하면 WebView
의 태그에서 앱 신호를 사용할 수 있으므로 콘텐츠를 제공한 게시자의 수익 창출을 개선하고 광고주를 스팸으로부터 보호할 수 있습니다.
앱 ID, 앱 버전과 같은 이러한 앱 신호는 앱 트래픽에서만 사용할 수 있는 보고 및 인앱 브라우저 인벤토리 타겟팅 사용 사례를 활성화하는 데 도움이 됩니다.

작동 방식
Google 모바일 광고 SDK와의 통신은 다음 중 하나에 의해 트리거된 광고 이벤트에 대한 응답으로만 발생합니다.
SDK는 이러한 광고 이벤트를 수신 대기하기 위해 등록된 WebView
에 메시지 핸들러를 추가합니다. 작동 방식을 더 잘 이해하려면 테스트 페이지의 소스 코드를 확인하세요.
기본 요건
웹 뷰 등록
기본 스레드에서 registerWebView()
를 호출하여 각 WebView
인스턴스 내에서 애드센스 코드 또는 Google 게시자 태그의 JavaScript 핸들러와 연결합니다. 이 작업은 가능한 한 빨리 실행해야 합니다(예: MainActivity
의 onCreate()
메서드에서).
Kotlin
import android.webkit.CookieManager
import android.webkit.WebView
import com.google.android.gms.ads.MobileAds
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
// Register the web view.
MobileAds.registerWebView(webView)
}
}
자바
import android.webkit.CookieManager;
import android.webkit.WebView;
import com.google.android.gms.ads.MobileAds;
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);
// Register the web view.
MobileAds.registerWebView(webView);
}
}
통합 테스트
자체 URL을 사용하기 전에 다음 URL을 로드하여 통합을 테스트하는 것이 좋습니다.
https://google.github.io/webview-ads/test/#api-for-ads-tests
다음 조건이 적용되는 경우 테스트 URL에 통합이 성공했음을 나타내는 녹색 상태 표시줄이 표시됩니다.
WebView
가 Google 모바일 광고 SDK에 연결됨
다음 단계
WebView
에서 동의를 수집합니다. 광고용 Web view API는 IAB TCF v2.0 또는 IAB CCPA 규정 준수 프레임워크를 사용하여 모바일 앱 컨텍스트에서 수집된 동의를 웹 뷰의 태그에 전파하지 않습니다. WebView
및 수익 창출이 사용 설정된 해당 웹 콘텐츠의 소유자로서 단일 동의 흐름을 구현하려면 동의 관리 플랫폼과 협력하여 WebView
컨텍스트에서 동의를 수집하세요.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-08-31(UTC)
[null,null,["최종 업데이트: 2025-08-31(UTC)"],[[["\u003cp\u003eThe Web View APIs for Ads enhance monetization for publishers and protect advertisers by making app signals available to web view ads.\u003c/p\u003e\n"],["\u003cp\u003eThese APIs leverage app signals like app ID and version to enable reporting and targeting capabilities previously limited to app traffic.\u003c/p\u003e\n"],["\u003cp\u003eTo integrate, register your web view with the Google Mobile Ads SDK (version 20.6.0 or higher) using \u003ccode\u003eMobileAds.registerWebView()\u003c/code\u003e after setting necessary web view configurations.\u003c/p\u003e\n"],["\u003cp\u003eTesting can be performed with the provided URL to confirm successful integration and connection between the web view and SDK.\u003c/p\u003e\n"],["\u003cp\u003ePublishers are responsible for managing consent within the web view context, as the API doesn't automatically propagate consent from the mobile app.\u003c/p\u003e\n"]]],["Web view APIs enable sharing app signals like app ID and version with tags in `WebView`, improving monetization and protecting advertisers. This is achieved through the Google Mobile Ads SDK listening for ad events from AdSense, Google Publisher Tag, or IMA for HTML5. Developers must register the `WebView` using `MobileAds.registerWebView()` in the app's `onCreate()` method and include a specific `\u003cmeta-data\u003e` tag in `AndroidManifest.xml`. Integration can be tested via a provided test URL. It is necessary to gather consent separately in the webview.\n"],null,["The web view APIs for ads makes app signals available to the tags in your\n\n[`WebView`](//developer.android.com/reference/android/webkit/WebView), helping to improve monetization for the\npublishers that provided the content and protect advertisers from spam.\n\nThese app signals, such as app ID and app version, help activate [Reporting](//support.google.com/admanager/answer/14137220#report-on-in-app-webview-traffic)\nand [Target in-app browser inventory](//support.google.com/admanager/answer/14137220#target-in-app-webview-inventory)\nuse cases that are otherwise only available on app traffic.\n\n\nHow it works\n\nCommunication with the Google Mobile Ads SDK only happens in response to ad\nevents triggered by any of the following:\n\n- [AdSense code](//support.google.com/adsense/answer/9274634)\n- [Google Publisher Tag](//support.google.com/admanager/answer/181073)\n- [IMA for HTML5](//support.google.com/adsense/answer/6391192)\n\nThe SDK adds message handlers to the registered `WebView` to listen for\nthese ad events. For a better sense of how this works, view the\n[source code](//github.com/google/webview-ads/blob/main/test/index.html) of the\ntest page.\n\nPrerequisites\n\n- [Google Mobile Ads SDK](/ad-manager/mobile-ads-sdk/android/quick-start#import_the_mobile_ads_sdk) version 20.6.0 or higher.\n- Android API level 21 or higher.\n\n- Add the following `\u003cmeta-data\u003e` tag in your `AndroidManifest.xml` file to\n bypass the check for the `APPLICATION_ID`. If you miss this step and don't\n provide the `\u003cmeta-data\u003e` tag, the Google Mobile Ads SDK throws an\n [`IllegalStateException`](//developer.android.com/reference/java/lang/IllegalStateException)\n on app start.\n\n \u003c!-- Bypass APPLICATION_ID check for web view APIs for ads --\u003e\n \u003cmeta-data\n android:name=\"com.google.android.gms.ads.INTEGRATION_MANAGER\"\n android:value=\"webview\"/\u003e\n\n\u003cbr /\u003e\n\nRegister the web view\n\nCall\n\n[`registerWebView()`](/ad-manager/mobile-ads-sdk/android/reference/com/google/android/gms/ads/MobileAds#registerWebView(android.webkit.WebView))\n\non the main thread to establish a connection with the JavaScript handlers in the\nAdSense code or Google Publisher Tag within each `WebView` instance. This\nshould be done as early as possible, such as in the\n\n`onCreate()` method of your `MainActivity`.\n\n\nKotlin \n\n import android.webkit.CookieManager\n import android.webkit.WebView\n import com.google.android.gms.ads.MobileAds\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 // Register the web view.\n MobileAds.registerWebView(webView)\n }\n }\n\nJava \n\n import android.webkit.CookieManager;\n import android.webkit.WebView;\n import com.google.android.gms.ads.MobileAds;\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 // Register the web view.\n MobileAds.registerWebView(webView);\n }\n }\n\nTest your integration\n\nBefore using your own URL, we recommend that you load the following URL to test\nthe integration: \n\n https://google.github.io/webview-ads/test#api-for-ads-tests\n\nThe test URL shows green status bars for a successful integration if the\nfollowing conditions apply:\n\n- `WebView` connected to the Google Mobile Ads SDK\n\nNext steps\n\n- Gather consent in `WebView`. The Web view APIs for Ads doesn't propagate consent collected in the mobile app context using [IAB TCF v2.0](//iabeurope.eu/tcf-2-0/) or [IAB CCPA](//iabtechlab.com/wp-content/uploads/2019/11/Technical-Specifications-FAQ-US-Privacy-IAB-Tech-Lab.pdf) compliance frameworks to the tags in your web views. If you're interested in implementing a single consent flow as the owner of both the `WebView` and its corresponding web content being monetized, work with your consent management platform to gather consent in the `WebView` context."]]