Integracja interfejsu WebView API for Ads

Wybierz platformę: Android Nowy Android iOS

Dzięki interfejsowi WebView API for Ads tagi w komponencie WebView mogą korzystać z sygnałów z aplikacji. Pomaga to zwiększać zarobki wydawców, którzy udostępniają treści, i chronić reklamodawców przed spamem. Sygnały z aplikacji, takie jak identyfikator aplikacji i jej wersja, pomagają aktywować raportowanie i kierowanie na zasoby reklamowe w przeglądarce w aplikacji przypadki użycia, które są dostępne tylko w przypadku ruchu z aplikacji.

Jak to działa

Komunikacja z pakietem Google Mobile Ads SDK odbywa się tylko w odpowiedzi na zdarzenia reklamowe wywoływane przez:Google Mobile Ads SDK

Pakiet SDK dodaje do zarejestrowanego komponentu WebView moduły obsługi wiadomości, aby nasłuchiwać tych zdarzeń reklamowych. Aby lepiej zrozumieć, jak to działa, wyświetl kod źródłowy strony testowej.

Wymagania wstępne

  • Google Mobile Ads SDK wersji 20.6.0 lub nowszej.
  • Poziom interfejsu API Androida 21 lub nowszy.

  • Aby pominąć sprawdzanie APPLICATION_ID, dodaj do pliku AndroidManifest.xml ten tag <meta-data>: Jeśli pominiesz ten krok i nie podasz tagu <meta-data>, Google Mobile Ads SDK zgłosi wyjątek IllegalStateException podczas uruchamiania aplikacji.

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

Rejestrowanie komponentu WebView

Aby nawiązać połączenie z modułami obsługi JavaScript w kodzie AdSense lub tagu wydawcy Google w każdej instancji WebView, wywołaj registerWebView() w wątku głównym funkcję. Należy to zrobić jak najszybciej, np. w onCreate() metodzie klasy MainActivity.

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)

    // Let the web view accept third-party cookies.
    CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)
    // Let the web view use JavaScript.
    webView.settings.javaScriptEnabled = true
    // Let the web view access local storage.
    webView.settings.domStorageEnabled = true
    // Let HTML videos play automatically.
    webView.settings.mediaPlaybackRequiresUserGesture = false

    // Register the web view.
    MobileAds.registerWebView(webView)
  }
}

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

Testowanie integracji

Zanim zaczniesz używać własnego adresu URL, zalecamy wczytanie tego adresu URL, aby przetestować integrację:

https://google.github.io/webview-ads/test/#api-for-ads-tests

Jeśli spełnione są te warunki, testowy adres URL wyświetla zielone paski stanu, co oznacza, że integracja się powiodła:

  • WebView połączony z Google Mobile Ads SDK.

Dalsze kroki

  • Uzyskiwanie zgody w komponencie WebView. Interfejs WebView API for Ads nie propaguje zgody uzyskanej w kontekście aplikacji mobilnej za pomocą platform IAB TCF w wersji 2.3 lub IAB CCPA do tagów w widokach internetowych. Jeśli jako właściciel komponentu WebView i odpowiadającej mu treści internetowej, na której zarabiasz, chcesz wdrożyć jeden proces uzyskiwania zgody, współpracuj z platformą do zarządzania zgodą użytkowników, aby uzyskać zgodę w kontekście WebView.