Dzięki interfejsom API komponentu WebView do wyświetlania reklam 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.
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 wersja 20.6.0 lub nowsza.
Android w wersji API 21 lub nowszej.
Aby pominąć sprawdzanie
APPLICATION_ID, dodaj do plikuAndroidManifest.xmlten tag<meta-data>. Jeśli pominiesz ten krok i nie podasz tagu<meta-data>, Google Mobile Ads SDK zgłosi wyjątekIllegalStateExceptionpodczas 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 metodę
registerWebView()
w wątku głównym. Należy to zrobić jak najwcześniej, np. w metodzie onCreate() 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:
WebViewpołączony z Google Mobile Ads SDK.
Dalsze kroki
- Uzyskiwanie zgody w komponencie
WebView. Interfejsy API komponentu WebView do wyświetlania reklam nie przekazują zgody uzyskanej w kontekście aplikacji mobilnej za pomocą platform IAB TCF w wersji 2.3 lub IAB CCPA do tagów w komponentach WebView. Jeśli jako właściciel komponentuWebViewi 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 komponentuWebView.