Reklamlar için WebView API'yi entegre etme

Reklamlara ilişkin web görünümü API'leri, uygulama sinyallerini WebView, yayıncıları spam'den korur.

İşleyiş şekli

Google Mobile Ads SDK'sı ile iletişim yalnızca reklama yanıt olarak gerçekleşir aşağıdakilerden herhangi biri tarafından tetiklenen etkinlikler:

SDK, mevcut müşterilerinize mesaj işleyicileri ve WebView ve bu reklam etkinliklerini izleyin. Daha iyi daha fazla bilgi edinmek için web sitesinin kaynak koduna bakın. test sayfası.

Ön koşullar

  • Google Mobile Ads SDK'sı sürümü 20.6.0 veya üzeri.
  • Android API düzeyi 21 veya sonraki sürümler.

  • AndroidManifest.xml dosyanıza aşağıdaki <meta-data> etiketini ekleyin: APPLICATION_ID denetimini atlayın. Bu adımı kaçırırsanız <meta-data> etiketini sağladığında, Google Mobile Ads SDK'sı bir IllegalStateException uygulama başlangıcında.

    <!-- Bypass APPLICATION_ID check for web view APIs for ads -->
     <meta-data
         android:name="com.google.android.gms.ads.INTEGRATION_MANAGER"
         android:value="webview"/>
    

Web görünümünü kaydetme

Telefonla arama registerWebView() ana iş parçacığındaki JavaScript işleyicileriyle AdSense kodu veya Google Yayıncı Etiketi her WebView örnekte. Bu mümkün olduğunca erken yapılmalıdır (örneğin, . MainActivity için onCreate() yöntemi.

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)
  }
}

Entegrasyonunuzu test etme

Kendi URL'nizi kullanmadan önce, test amacıyla aşağıdaki URL'yi yüklemenizi öneririz: entegrasyon:

https://webview-api-for-ads-test.glitch.me#api-for-ads-tests

Başarılı bir entegrasyon için test URL'si yeşil durum çubukları gösterir. aşağıdaki koşullar geçerlidir:

  • WebView Google Mobile Ads SDK'sına bağlandı

Sonraki adımlar

  • WebViewürününde izin alın. Şunun için Web görünümü API'leri: Reklamlar, mobil uygulama bağlamında toplanan izni IAB TCF 2.0 sürümü veya IAB CCPA uyum çerçevelerini nasıl belirleyeceğinizi öğrendiniz. Bu konuyla ilgileniyorsanız sahibi olarak tek bir izin akışı uygulayarak WebView ve ilişkili web içeriği kullanıcı rızası yönetim platformunuzla birlikte çalışarak, Bağlam. WebView