L'API WebView for Ads consente la monetizzazione degli annunci in-app utilizzando
WebViewController
.
Se nella tua app mostri contenuti web che implementano annunci con
codice AdSense o
Tag publisher di Google
tramite WebViewController
, devi utilizzare questa API per attivare la monetizzazione degli annunci. Per scoprire di più, consulta le
norme di AdMob.
- Monetizzare effettuando richieste di annunci con l'SDK Google Mobile Ads
Puoi monetizzare la tua app inviando richieste di annunci ad AdMob con l'SDK Google Mobile Ads implementando i formati degli annunci per app mobile.
- Monetizzare utilizzando l'API WebView per gli annunci
Se la tua app utilizza
WebViewController
per visualizzare contenuti web che pubblicano annunci di Ad Manager o AdSense, utilizza l'API WebView for Ads per registrare gli oggettiWebViewController
con l'SDK Google Mobile Ads. Il codice JavaScript nel codice AdSense o nel tag publisher di Google genera e invia richieste di annunci, quindi non devi inviare richieste di annunci con l'SDK. Tieni presente che solo i formati di inventario per il web mobile e il web desktop sono disponibili con questa API.Se non possiedi i contenuti web in un
WebViewController
, ti invitiamo comunque a utilizzare questa API per contribuire a proteggere gli inserzionisti dallo spam e migliorare la monetizzazione per i publisher web che hanno fornito i contenuti.
Tieni presente che puoi utilizzare una delle due opzioni o anche entrambe nella stessa app.
Questa guida ha lo scopo di aiutarti a integrare l'API WebView per gli annunci nella tua app per iOS.
Prima di iniziare
Prima di iniziare a utilizzare l'API WebView per gli annunci, assicurati di:
- Utilizza il plug-in SDK Google Mobile Ads per Flutter con la versione 3.0.0 o successive nella tua app.
- Aggiungi
webview_flutter
come dipendenza nel filepubspec.yaml
. - Aggiungi
webview_flutter_android
con la versione 3.7.0 o successive nella tua app.
Ignorare il controllo dell'identificatore dell'applicazione
Aggiungi il seguente tag <meta-data>
al file AndroidManifest.xml
peraggirare il controllo del APPLICATION_ID
. Se salti questo passaggio, l'SDK Google
Mobile Ads potrebbe generare un messaggio di errore
IllegalStateException
all'avvio dell'app.
<!-- Bypass APPLICATION_ID check for WebView API for Ads -->
<meta-data
android:name="com.google.android.gms.ads.INTEGRATION_MANAGER"
android:value="webview"/>
Aggiorna il file Runner/Info.plist
con la chiave e il valore di stringa riportati di seguito per aggirare un controllo per GADApplicationIdentifier
. Se salti questo passaggio,
l'SDK Google Mobile Ads potrebbe generare un GADInvalidInitializationException
all'avvio dell'app.
<!-- Bypass GADApplicationIdentifier check for WebView API for Ads -->
<key>GADIntegrationManager</key>
<string>webview</string>
Registra WebViewController
Per migliorare la monetizzazione degli annunci in-app all'interno di un
WebViewController
che utilizza il codice AdSense o i tag editore Google, segui i passaggi elencati di seguito:
Attiva JavaScript in
WebViewController
. In caso contrario, gli annunci potrebbero non caricarsi.Per migliorare l'esperienza pubblicitaria dei tuoi utenti e rispettare le norme relative ai cookie di Chrome, attiva i cookie di terze parti nella tua istanza
AndroidWebViewController
.Registra l'istanza
WebViewController
chiamando il metodoregisterWebView()
fornito dall'SDK Google Mobile Ads.
import 'package:google_mobile_ads/google_mobile_ads.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'package:webview_flutter_android/webview_flutter_android.dart';
@override
class WebViewExampleState extends State<WebViewExample> {
late final WebViewController controller;
@override
void initState() {
super.initState();
createWebView();
}
void createWebView() async {
controller = WebViewController();
// 1. Enable JavaScript in the web view.
await controller.setJavaScriptMode(JavaScriptMode.unrestricted);
// 2. Enable third-party cookies for Android.
if (controller.platform is AndroidWebViewController) {
AndroidWebViewCookieManager cookieManager = AndroidWebViewCookieManager(
const PlatformWebViewCookieManagerCreationParams());
await cookieManager.setAcceptThirdPartyCookies(
controller.platform as AndroidWebViewController, true);
}
// 3. Register the web view.
await MobileAds.instance.registerWebView(controller);
}
}
Carica l'URL
Ora puoi caricare un URL e visualizzare i tuoi contenuti web tramite WebViewController
.
Ti consigliamo di caricare questo URL di test:
https://webview-api-for-ads-test.glitch.me/
per testare l'integrazione prima di
utilizzare il tuo URL. La pagina web mostrerà un errore se JavaScript non è attivo.
import 'package:google_mobile_ads/google_mobile_ads.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'package:webview_flutter_android/webview_flutter_android.dart';
@override
class WebViewExampleState extends State<WebViewExample> {
late final WebViewController controller;
@override
void initState() {
super.initState();
createWebView();
}
void createWebView() async {
controller = WebViewController();
// 1. Enable JavaScript in the web view.
await controller.setJavaScriptMode(JavaScriptMode.unrestricted);
// 2. Enable third-party cookies for Android.
if (controller.platform is AndroidWebViewController) {
AndroidWebViewCookieManager cookieManager = AndroidWebViewCookieManager(
const PlatformWebViewCookieManagerCreationParams());
await cookieManager.setAcceptThirdPartyCookies(
controller.platform as AndroidWebViewController, true);
}
// 3. Register the web view.
await MobileAds.instance.registerWebView(controller);
// 4. Load the URL.
await controller.loadRequest(Uri.parse('https://webview-api-for-ads-test.glitch.me/'));
}
L'URL di test mostra barre di stato verdi per un'integrazione riuscita se si applicano le seguenti condizioni:
WebView
collegata all'SDK Google Mobile Ads- JavaScript attivato
- I cookie di terze parti funzionano (non previsto sui dispositivi iOS)
- Funzionamento dei cookie proprietari
Visualizza il codice sorgente
del nostro URL di test. Poi puoi sostituire l'URL di prova con il tuo URL. Puoi anche
utilizzare uno strumento proxy come Charles per acquisire il
traffico HTTPS della tua app e ispezionare le richieste di annunci per un parametro &scar=
.