광고용 Web view API를 사용하면 WebView의 태그에서 앱 신호를 사용할 수 있으므로 콘텐츠를 제공한 게시자의 수익 창출을 개선하고 광고주를 스팸으로부터 보호할 수 있습니다.
앱 ID, 앱 버전과 같은 이러한 앱 신호는 앱 트래픽에서만 사용할 수 있는 보고 및 인앱 브라우저 인벤토리 타겟팅 사용 사례를 활성화하는 데 도움이 됩니다.
작동 방식
GMA Next-Gen SDK와의 통신은 다음 중 하나에 의해 트리거된 광고 이벤트에 대한 응답으로만 발생합니다.
SDK는 이러한 광고 이벤트를 수신 대기하기 위해 등록된 WebView에 메시지 핸들러를 추가합니다. 작동 방식을 더 잘 이해하려면 테스트 페이지의 소스 코드를 확인하세요.
기본 요건
- GMA Next-Gen SDK 버전 0.6.0-alpha01 이상
SDK에 애플리케이션 ID 전달하기
이미 Ad Manager 애플리케이션 ID가 있는 경우 기존 애플리케이션 ID로 GMA Next-Gen SDK를 초기화하세요.
Ad Manager 애플리케이션 ID가 없는 경우 GMA Next-Gen SDK를 초기화할 때 InitializationConfig.WEBVIEW_APIS_FOR_ADS_APPLICATION_ID를 애플리케이션 ID로 전달합니다.
Kotlin
MobileAds.initialize(
this@MainActivity,
// Use this application ID to initialize the GMA Next-Gen SDK if
// you don't have an Ad Manager application ID.
InitializationConfig.Builder(InitializationConfig.WEBVIEW_APIS_FOR_ADS_APPLICATION_ID)
.build(),
) {
// Adapter initialization complete.
}
자바
MobileAds.initialize(
this,
// Use this application ID to initialize the GMA Next-Gen SDK if
// you don't have an Ad Manager application ID.
new InitializationConfig.Builder(InitializationConfig.WEBVIEW_APIS_FOR_ADS_APPLICATION_ID)
.build(),
initializationStatus -> {
// Adapter initialization is complete.
});
웹 뷰 등록
기본 스레드에서 registerWebView()를 호출하여 각 WebView 인스턴스 내에서 애드센스 코드 또는 Google 게시자 태그의 JavaScript 핸들러와 연결합니다. 이 작업은 가능한 한 빨리 실행해야 합니다(예: MainActivity의 onCreate() 메서드에서).
Kotlin
import android.webkit.CookieManager
import android.webkit.WebView
import com.google.android.libraries.ads.mobile.sdk.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.libraries.ads.mobile.sdk.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이(가) GMA Next-Gen SDK에 연결됨
다음 단계
WebView에서 동의를 수집합니다. 광고용 Web view API는 IAB TCF v2.0 또는 IAB CCPA 규정 준수 프레임워크를 사용하여 모바일 앱 컨텍스트에서 수집된 동의를 웹 뷰의 태그에 전파하지 않습니다.WebView및 수익 창출이 사용 설정된 해당 웹 콘텐츠의 소유자로서 단일 동의 흐름을 구현하려면 동의 관리 플랫폼과 협력하여WebView컨텍스트에서 동의를 수집하세요.