WebView 설정

앱에서 Android WebView 를 사용하여 웹 콘텐츠를 표시하는 경우 콘텐츠에서 광고 수익 창출이 최적화될 수 있도록 구성하는 것이 좋습니다.

이 가이드에서는WebView 객체를 구성하는 방법에 대한 정보를 제공하는 방법을 보여줍니다.

서드 파티 쿠키 사용 설정

사용자의 광고 경험을 개선하고 Chrome의 쿠키 정책을 준수하려면 WebView 인스턴스에서 서드 파티 쿠키를 사용 설정하세요.

Java

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

Kotlin

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

웹 설정

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
  }
}

웹 보기 콘텐츠 로드

쿠키와 페이지 URL은 웹 뷰 성능에 중요하며 가 네트워크 기반 URL과 함께 사용될 때만 예상대로 작동합니다. 최적화된 WebView 성능을 위해는 네트워크 기반 URL에서 직접 웹 콘텐츠를 로드합니다. WebViewAssetLoader를 사용하거나 기기에서 애셋을 로드하거나 웹 콘텐츠를 동적으로 생성하지 마세요.

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")
  }
}

웹 뷰 테스트

앱 개발 중에 다음 테스트 URL을 로드하는 것이 좋습니다.

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

해당 설정이 광고에 의도한 효과를 발휘하는지 확인할 수 있습니다. 다음과 같은 경우 테스트 URL에 완전한 통합을 위한 성공 기준이 있습니다.

웹 보기 설정

  • 서드 파티 쿠키 작동
  • 퍼스트 파티 쿠키의 작동 원리
  • 자바스크립트 사용
  • DOM 저장소 사용

동영상 광고

  • 동영상 광고가 인라인으로 재생되고 전체 화면 내장 플레이어에서 열리지 않습니다.
  • 재생 버튼을 클릭하지 않아도 동영상 광고가 자동으로 재생됩니다.
  • 동영상 광고를 다시 재생할 수 있습니다.

테스트가 완료되면 테스트 URL을 웹 뷰에서 로드할 URL로 대체합니다.