WebView API for Ads を組み込む

WebView API for Ads を使用すると、 WebViewController。 広告を実装するウェブ コンテンツを表示する場合、 AdSense コード Google パブリッシャー タグ 使用する場合は、この API を使用して広告を有効にする必要があります。WebViewController 収益化。詳しくは、 AdMob ポリシー

  1. Google Mobile Ads SDK を使って広告リクエストを行って収益化する

    サイトやアプリを収益化するには、 新しい AdMob を Google Mobile Ads SDK(モバイル向け広告フォーマットの実装) アプリをご覧ください。

    詳細

  2. WebView API for Ads を使用して収益化する

    アプリが WebViewController を使用して、広告を配信するウェブ コンテンツを表示する場合 アド マネージャー AdSense: WebView API for Ads を使用して登録します。 Google Mobile Ads SDK を使って WebViewController オブジェクトを作成します。「 AdSense コード内の JavaScript または Google パブリッシャー タグ 自動的に作成されるため、広告リクエストを送信したり 説明します。モバイルウェブと PC ウェブのみが 広告枠のフォーマット この API を使用して作成できます。

    WebViewController のウェブ コンテンツの所有者でない場合でも、 スパムやスパムから広告主を保護するために、 コンテンツを提供したウェブ パブリッシャーの収益性を高める。

1 つのオプション、または両方のオプションを同じアプリで実行できます。

このガイドは、WebView API for Ads を ダウンロードします

始める前に

WebView API for Ads を使用する前に、必ず次のことを行ってください。

アプリケーション ID のチェックをバイパスする

Android

AndroidManifest.xml ファイルに次の <meta-data> タグを追加します。 APPLICATION_ID のチェックをバイパスします。この手順を省略すると、Google Mobile Ads SDK は IllegalStateException

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

iOS

以下のキーと文字列値で Runner/Info.plist ファイルを以下のように更新します。 GADApplicationIdentifier のチェックをバイパスする。このステップを省略すると Google Mobile Ads SDK が GADInvalidInitializationException をスローする場合があります。 。

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

WebViewController を登録する

アプリ内広告による収益化を改善するため WebViewControllerAdSense を使用) コードまたは Google パブリッシャー タグについては、 次のとおりです。

  1. WebViewController で JavaScript を有効にします。そのようにしないと、 広告が読み込まれないようにします。

  2. ユーザーエクスペリエンスを向上させるにはChrome の標準仕様と一貫性を Cookie ポリシーAndroidWebViewController インスタンス上のサードパーティ Cookie。

  3. 次を呼び出して、WebViewController インスタンスを登録します。 registerWebView() Google Mobile Ads SDK が提供する メソッドを呼び出します

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

URL を読み込む

これで、URL を読み込み、WebViewController を通じてウェブ コンテンツを表示できるようになりました。 次のテスト URL を読み込むことをおすすめします。 https://webview-api-for-ads-test.glitch.me/ を使用して、事前に統合をテストします。 できます。JavaScript が JavaScript で指定されていなければ、ウェブページにエラーが表示されます。 有効にします。

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

次の場合、テスト URL には統合が成功したことを示す緑色のステータスバーが表示されます。 次の条件が適用されます。

  • WebView を Google Mobile Ads SDK に接続しました
  • JavaScript が有効
  • サードパーティ Cookie が機能する(iOS デバイスでは想定されない)
  • ファーストパーティ Cookie の仕組み

ソースコードを表示する コピーします。その後、テスト URL をご自身の URL で置き換えることができます。また、 Charles などのプロキシツールを使用して アプリの HTTPS トラフィックをチェックして、広告リクエストの &scar= パラメータを調べます。