Les API WebView pour les annonces mettent les signaux d'application à la disposition des balises de votreWebView
. Elles contribuent ainsi à améliorer la monétisation pour les éditeurs qui ont fourni le contenu et à protéger les annonceurs contre le spam.
Comment ça marche ?
La communication avec le SDK Google Mobile Ads n'a lieu qu'en réponse aux événements d'annonce déclenchés par l'un des éléments suivants:
Le SDK ajoute des gestionnaires de messages auWebView
enregistré pour écouter ces événements d'annonce. Pour mieux comprendre son fonctionnement, consultez le code source de la page de test.
Prérequis
- SDK Google Mobile Ads version 20.6.0 ou ultérieure.
Niveau d'API Android 21 ou supérieur.
Ajoutez la balise
<meta-data>
suivante dans votre fichierAndroidManifest.xml
pour contourner la vérification deAPPLICATION_ID
. Si vous n'effectuez pas cette étape et que vous ne fournissez pas la balise<meta-data>
, le SDK Google Mobile Ads génère uneIllegalStateException
au démarrage de l'application.<!-- Bypass APPLICATION_ID check for web view APIs for ads --> <meta-data android:name="com.google.android.gms.ads.INTEGRATION_MANAGER" android:value="webview"/>
Enregistrer la vue Web
Appelez
registerWebView()
sur le thread principal pour établir une connexion avec les gestionnaires JavaScript dans
le code AdSense ou Google Publisher Tag au sein de chaque WebView
instance. Cette opération doit être effectuée le plus tôt possible, par exemple dans la méthode
onCreate()
de votre MainActivity
.
Java
import android.webkit.CookieManager;
import android.webkit.WebView;
import com.google.android.gms.ads.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);
}
}
Kotlin
import android.webkit.CookieManager
import android.webkit.WebView
import com.google.android.gms.ads.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)
// Enable third-party cookies.
CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)
// Enable JavaScript in the WebView.
webView.settings.javaScriptEnabled = true
// Enable DOM storage in the WebView.
webView.settings.domStorageEnabled = true
// Enable videos to play automatically.
webView.settings.mediaPlaybackRequiresUserGesture = false
// Register the web view.
MobileAds.registerWebView(webView)
}
}
Tester votre intégration
Avant d'utiliser votre propre URL, nous vous recommandons de charger l'URL suivante pour tester l'intégration:
https://webview-api-for-ads-test.glitch.me#api-for-ads-tests
L'URL de test affiche des barres d'état vertes pour indiquer une intégration réussie si les conditions suivantes s'appliquent:
WebView
connectés au SDK Google Mobile Ads
Étapes suivantes
- Obtenez le consentement des utilisateurs dans les pays suivants :
WebView
. Les API de vue Web pour les annonces ne propagent pas le consentement collecté dans le contexte de l'application mobile à l'aide de la version 2.0 du TCF de l'IAB ou de la CCPA de l'IAB vers les balises de vos vues Web. Si vous souhaitez implémenter un seul flux de consentement en tant que propriétaire duWebView
et du contenu Web correspondant monétisé, collaborez avec votre plate-forme de gestion du consentement pour recueillir le consentement dans leWebView
contexte.