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 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
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:
WebViewpołą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 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ścieWebView.