Se o app usa
WKWebView para mostrar conteúdo da Web, é
recomendado que você o configure para que o conteúdo possa ser monetizado de maneira ideal com anúncios.
Este guia mostra 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
WKWebViewConfiguration
APIs para configurar seu WKWebView para reprodução inline e reprodução automática de vídeo.
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áginas são importantes para a monetização da visualização da Web e só funcionam
como esperado quando
load(_:) é usado com um URL baseado em rede. Para otimizar o desempenho de
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 carregar este URL de teste:
https://google.github.io/webview-ads/test/
para verificar se essas configurações têm o efeito desejado nos anúncios. O URL de teste tem critérios de sucesso para uma integração completa se o seguinte for observado:
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 é aberto 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
Após a conclusão do teste, substitua o URL de teste pelo URL que a visualização da Web pretende carregar.