Se o app usa
WKWebView para mostrar conteúdo da Web, é
recomendável configurá-lo para que o conteúdo seja monetizado de forma ideal com anúncios.
Neste guia, mostramos como fornecer informações sobre como configurar um objeto WKWebView.
Conteúdo de mídia
As configurações padrão de WKWebView não são otimizadas para anúncios em vídeo. Use as APIs
WKWebViewConfiguration
para configurar o WKWebView para reprodução inline e automática de vídeos.
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)
}
}
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];
}
Carregar conteúdo da visualização da Web
Os cookies e os URLs de página são importantes para a monetização de visualizações da Web e só funcionam
conforme o esperado quando
load(_:) é usado com um URL baseado em rede. Para otimizar o desempenho do WKWebView, recomendamos carregar o conteúdo da Web de um URL baseado em rede.
Swift
import WebKit
var webview: WKWebview!
class ViewController: UIViewController {
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)
// Load the URL for optimized web view performance.
guard let url = URL(string: "https://google.github.io/webview-ads/test/") else { return }
let request = URLRequest(url: url)
webView.load(request)
}
}
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];
// Load the URL for optimized web view performance.
NSURL *url = [NSURL URLWithString:@"https://google.github.io/webview-ads/test/"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
}
Testar a visualização da Web
Durante o desenvolvimento do app, recomendamos que você carregue este URL de teste:
https://google.github.io/webview-ads/test/
para verificar se essas configurações têm o efeito pretendido nos anúncios. O URL de teste tem critérios de sucesso para uma integração completa se as seguintes condições forem observadas:
Configurações da visualização da Web
- Os cookies primários funcionam
- JavaScript ativado
Anúncio em vídeo
- O anúncio em vídeo é reproduzido inline e não abre no player integrado de tela cheia.
- O anúncio em vídeo é reproduzido automaticamente sem clicar no botão de reprodução
- O anúncio em vídeo pode ser reproduzido novamente
Depois que o teste for concluído, substitua o URL de teste pelo URL que a WebView pretende carregar.