Integracja interfejsu WebView API z reklamami

Interfejs WebView API for Ads umożliwia zarabianie na reklamach w aplikacji za pomocą właściwości WebViewController. Jeśli wyświetlasz w aplikacji treści internetowe, które implementują reklamy z użyciem kodu AdSense lub tagu wydawcy Google, za pomocą WebViewController, musisz użyć tego interfejsu API, aby włączyć zarabianie na reklamach. Więcej informacji znajdziesz w Zasady dotyczące AdSense i Ad Managera.

  1. Zarabiaj dzięki wysyłaniu żądań reklamy za pomocą pakietu SDK do reklam mobilnych Google

    Możesz zarabiać na swojej aplikacji, wysyłając żądania reklamy do Ad Manager i pakiet SDK do reklam mobilnych Google po wdrożeniu formatów reklam w aplikacjach mobilnych.

    Więcej informacji

  2. Zarabiaj dzięki interfejsowi WebView API for Ads

    Jeśli Twoja aplikacja używa interfejsu WebViewController do wyświetlania treści internetowych, które wyświetlają reklamy z Ad Managera lub AdSense, użyj interfejsu WebView API for Ads, aby zarejestrować obiekty WebViewController za pomocą pakietu SDK do reklam mobilnych Google. Kod JavaScript w kodzie AdSense lub tagu wydawcy Google tworzy i wysyła żądania reklam, dzięki czemu nie musisz wysyłać żadnych żądań reklamy za pomocą pakietu SDK. Pamiętaj, że za pomocą tego interfejsu API można korzystać tylko z formatów zasobów reklamowych w internecie mobilnym i na komputerach.

    Jeśli nie jesteś właścicielem treści internetowych zawartych w interfejsie WebViewController, zachęcamy do używania tego interfejsu API, aby chronić reklamodawców przed spamem i zwiększać przychody wydawców, którzy dostarczyli te treści.

Pamiętaj, że możesz wykonać obie te czynności w tej samej aplikacji.

Ten przewodnik pomoże Ci zintegrować WebView API for Ads z aplikacją na iOS.

Zanim zaczniesz

Zanim zaczniesz korzystać z interfejsu WebView API for Ads, wykonaj te czynności:

Pomiń sprawdzanie identyfikatora aplikacji

Android

Dodaj do pliku AndroidManifest.xml ten tag <meta-data>, aby pominąć sprawdzanie APPLICATION_ID. Jeśli pominiesz ten krok, pakiet SDK do reklam mobilnych Google może zwrócić IllegalStateException przy uruchomieniu aplikacji.

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

iOS

Zaktualizuj plik Runner/Info.plist o podaną niżej wartość klucza i ciągu znaków, aby pominąć sprawdzanie poprawności GADApplicationIdentifier. Jeśli przegapisz ten krok, pakiet SDK do reklam mobilnych Google może zwrócić GADInvalidInitializationException przy uruchomieniu aplikacji.

<!-- Bypass GADApplicationIdentifier check for WebView API for Ads -->
<key>GADIntegrationManager</key>
<string>webview</string>

Rejestrowanie kontrolera WebView

Aby poprawić zarabianie na reklamach w aplikacji WebViewController, która używa kodu AdSense lub tagów wydawcy Google, wykonaj te czynności:

  1. Włącz JavaScript w przeglądarce WebViewController. Jeśli tego nie zrobisz, reklamy mogą się nie załadować.

  2. Aby zwiększyć atrakcyjność reklam dla użytkowników i zachować zgodność z zasadami Chrome dotyczącymi plików cookie, włącz w swoim wystąpieniu AndroidWebViewController pliki cookie innych firm.

  3. Zarejestruj instancję WebViewController, wywołując metodę registerWebView() podaną przez pakiet SDK do reklam mobilnych Google.

import 'package:google_mobile_ads/google_mobile_ads.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'package:webview_flutter_android/webview_flutter_android.dart';

@override
class WebViewExampleState extends State<WebViewExample> {
  late final WebViewController controller;

  @override
  void initState() {
    super.initState();

    createWebView();
  }

  void createWebView() async {
    controller = WebViewController();
    // 1. Enable JavaScript in the web view.
    await controller.setJavaScriptMode(JavaScriptMode.unrestricted);

    // 2. Enable third-party cookies for Android.
    if (controller.platform is AndroidWebViewController) {
      AndroidWebViewCookieManager cookieManager = AndroidWebViewCookieManager(
        const PlatformWebViewCookieManagerCreationParams());
      await cookieManager.setAcceptThirdPartyCookies(
        controller.platform as AndroidWebViewController, true);
    }

    // 3. Register the web view.
    await MobileAds.instance.registerWebView(controller);
  }
}

Wczytywanie adresu URL

Teraz możesz wczytać adres URL i wyświetlać treści internetowe za pomocą usługi WebViewController. Zalecamy wczytanie tego testowego adresu URL: https://webview-api-for-ads-test.glitch.me/, aby przetestować integrację przed użyciem własnego adresu URL. Jeśli obsługa JavaScriptu jest wyłączona, na stronie internetowej pojawi się błąd.

import 'package:google_mobile_ads/google_mobile_ads.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'package:webview_flutter_android/webview_flutter_android.dart';

@override
class WebViewExampleState extends State<WebViewExample> {
  late final WebViewController controller;

  @override
  void initState() {
    super.initState();

    createWebView();
  }

  void createWebView() async {
    controller = WebViewController();
    // 1. Enable JavaScript in the web view.
    await controller.setJavaScriptMode(JavaScriptMode.unrestricted);

    // 2. Enable third-party cookies for Android.
    if (controller.platform is AndroidWebViewController) {
      AndroidWebViewCookieManager cookieManager = AndroidWebViewCookieManager(
        const PlatformWebViewCookieManagerCreationParams());
      await cookieManager.setAcceptThirdPartyCookies(
        controller.platform as AndroidWebViewController, true);
    }

    // 3. Register the web view.
    await MobileAds.instance.registerWebView(controller);

    // 4. Load the URL.
    await controller.loadRequest(Uri.parse('https://webview-api-for-ads-test.glitch.me/'));
  }

Testowy adres URL ma zielone paski stanu oznaczające pomyślną integrację, jeśli są spełnione te warunki:

  • Aplikacja WebView została połączona z pakietem SDK do reklam mobilnych Google
  • Obsługa JavaScriptu włączona
  • Pliki cookie innych firm działają (nieoczekiwane na urządzeniach z iOS)
  • Własne pliki cookie działają

Wyświetl kod źródłowy naszego testowego adresu URL. Następnie możesz zastąpić testowy adres URL swoim adresem URL. Możesz też użyć narzędzia serwera proxy, np. Charles, aby przechwycić ruch HTTPS w aplikacji i sprawdzić żądania reklamy pod kątem parametru &scar=.