광고 수익 창출을 위한 WebView API를 사용하면WKWebView
의 태그에서 앱 신호를 사용할 수 있으므로 콘텐츠를 제공한 게시자의 수익 창출을 개선하고 광고주를 스팸으로부터 보호할 수 있습니다.
앱 ID 및 앱 버전과 같은 이러한 앱 신호는 앱 트래픽에서만 사용할 수 있는 보고 및 인앱 브라우저 인벤토리 타겟팅 사용 사례를 활성화하는 데 도움이 됩니다.
작동 방식
Google 모바일 광고 SDK와의 통신은 다음 중 하나에 의해 트리거된 광고 이벤트에 대한 응답으로만 이루어집니다.
SDK는 등록된WKWebView
에 메시지 핸들러를 추가하여 이러한 광고 이벤트를 수신합니다. 작동 방식을 더 잘 이해하려면 테스트 페이지의 소스 코드를 확인하세요.
기본 요건
- Google 모바일 광고 SDK 9.6.0 이상 버전
다음 키 및 문자열 값으로
Info.plist
파일을 업데이트합니다. 이렇게 하면 웹 뷰 외부에서 광고를 구현하는 개발자에게 적용되는GADApplicationIdentifier
값에 대해 Google 모바일 광고 SDK에서 실행하는 검사를 우회합니다. 이 단계를 놓치고GADApplicationIdentifier
를 제공하지 않으면 앱 시작 시 Google 모바일 광고 SDK에서GADInvalidInitializationException
을 발생시킵니다.<!-- Indicate Google Mobile Ads SDK usage is only for web view APIs for ads --> <key>GADIntegrationManager</key> <string>webview</string>
WebView 등록
기본 스레드에서
register(_:)
를 호출하여 각 WKWebView
인스턴스 내에서 애드센스 코드 또는 Google 게시자 태그의 JavaScript 핸들러와 연결합니다. 이는 뷰 컨트롤러의
viewDidLoad
메서드와 같이 최대한 일찍 실행해야 합니다.
Swift
import WebKit
class ViewController: UIViewController {
var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Initialize a WKWebViewConfiguration object.
let webViewConfiguration = WKWebViewConfiguration()
// Let HTML videos with a "playsinline" attribute play inline.
webViewConfiguration.allowsInlineMediaPlayback = true
// Let HTML videos with an "autoplay" attribute play automatically.
webViewConfiguration.mediaTypesRequiringUserActionForPlayback = []
// Initialize the WKWebView with your WKWebViewConfiguration object.
webView = WKWebView(frame: view.frame, configuration: webViewConfiguration)
view.addSubview(webView)
// Register the web view.
GADMobileAds.sharedInstance().register(webView)
}
}
Objective-C
@import WebKit;
#import "ViewController.h"
@interface ViewController ()
@property(nonatomic, strong) WKWebView *webView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Initialize a WKWebViewConfiguration object.
WKWebViewConfiguration *webViewConfiguration = [[WKWebViewConfiguration alloc] init];
// Let HTML videos with a "playsinline" attribute play inline.
webViewConfiguration.allowsInlineMediaPlayback = YES;
// Let HTML videos with an "autoplay" attribute play automatically.
webViewConfiguration.mediaTypesRequiringUserActionForPlayback = WKAudiovisualMediaTypeNone;
// Initialize the WKWebView with your WKWebViewConfiguration object.
self.webView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:webViewConfiguration];
[self.view addSubview:self.webView];
// Register the web view.
[GADMobileAds.sharedInstance registerWebView:self.webView];
}
통합 테스트
자체 URL을 사용하기 전에 다음 URL을 로드하여 통합을 테스트하는 것이 좋습니다.
https://webview-api-for-ads-test.glitch.me#api-for-ads-tests
다음 조건이 적용되는 경우 테스트 URL에 통합에 성공했다는 녹색 상태 표시줄이 표시됩니다.
WKWebView
Google 모바일 광고 SDK에 연결됨
다음 단계
-
WKWebView
에서 동의를 수집합니다. 광고용 WebView API는 IAB TCF v2.0 또는 IAB CCPA 규정 준수 프레임워크를 사용하여 모바일 앱 컨텍스트에서 수집된 동의를 웹 뷰의 태그에 전파하지 않습니다.WKWebView
및 수익 창출 대상인 해당 웹 콘텐츠의 소유자로서 단일 동의 절차를 구현하려면 동의 관리 플랫폼을 사용하여WKWebView
맥락에서 동의를 수집하세요.