WebView API برای تبلیغات را ادغام کنید
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
WebView API for Ads امکان کسب درآمد از تبلیغات درون برنامه ای را با استفاده از WebViewController
می دهد. اگر محتوای وب را با کد AdSense یا برچسب Google Publisher در برنامه خود از طریق WebViewController
نمایش می دهید، باید از این API برای فعال کردن کسب درآمد از تبلیغات استفاده کنید. برای کسب اطلاعات بیشتر، به خطمشیهای AdMob مراجعه کنید.

- با درخواست تبلیغات با Google Mobile Ads SDK کسب درآمد کنید
با اجرای قالبهای تبلیغاتی برای برنامه تلفن همراه، میتوانید با درخواستهای تبلیغاتی به AdMob با Google Mobile Ads SDK از برنامه خود کسب درآمد کنید.
بیشتر بدانید .
- با استفاده از WebView API برای تبلیغات کسب درآمد کنید
اگر برنامه شما از WebViewController
برای نمایش محتوای وب استفاده میکند که تبلیغات را از Ad Manager یا AdSense ارائه میکند، از WebView API for Ads برای ثبت اشیاء WebViewController
با Google Mobile Ads SDK استفاده کنید. جاوا اسکریپت در کد AdSense یا برچسب Google Publisher درخواستهای تبلیغاتی را ایجاد و ارسال میکند، بنابراین نیازی به درخواست تبلیغات با SDK ندارید. به خاطر داشته باشید که فقط قالبهای موجودی وب موبایل و دسکتاپ با استفاده از این API در دسترس هستند.
اگر مالک محتوای وب در WebViewController
نیستید، همچنان تشویق میشوید از این API برای کمک به محافظت از تبلیغکنندگان در برابر هرزنامهها و بهبود درآمدزایی برای ناشران وب که محتوا را ارائه میکنند، استفاده کنید.
توجه داشته باشید که می توانید هر دو گزینه یا حتی هر دو را در یک برنامه انجام دهید.
این راهنما به شما کمک می کند تا WebView API for Ads را در برنامه iOS خود یکپارچه کنید.
قبل از شروع
قبل از شروع استفاده از WebView API برای تبلیغات، مطمئن شوید که موارد زیر را انجام داده اید:
بررسی شناسه برنامه را دور بزنید
اندروید
برای دور زدن بررسی APPLICATION_ID
، تگ <meta-data>
زیر را در فایل AndroidManifest.xml
خود اضافه کنید. اگر این مرحله را از دست دادید، 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 را ثبت کنید
برای بهبود درآمدزایی تبلیغات درون برنامه ای از تبلیغات در یک WebViewController
که از کد AdSense یا برچسب های Google Publisher استفاده می کند، مراحل فهرست شده در زیر را دنبال کنید:
جاوا اسکریپت را در WebViewController
فعال کنید. عدم انجام این کار می تواند باعث لود نشدن تبلیغات شود.
برای بهبود تجربه تبلیغات کاربران و سازگاری با خطمشی کوکی Chrome، کوکیهای شخص ثالث را در نمونه AndroidWebViewController
خود فعال کنید.
با فراخوانی متد registerWebView()
ارائه شده توسط Google Mobile Ads SDK نمونه WebViewController
را ثبت کنید.
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
نمایش دهید. توصیه میکنیم این نشانی اینترنتی آزمایشی را بارگیری کنید: https://google.github.io/webview-ads/test/
تا قبل از استفاده از URL خودتان، ادغام را آزمایش کنید. اگر جاوا اسکریپت فعال نباشد، صفحه وب خطا نشان می دهد.
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://google.github.io/webview-ads/test/'));
}
URL آزمایشی نوارهای وضعیت سبز رنگ را برای ادغام موفقیت آمیز در صورت اعمال شرایط زیر نشان می دهد:
-
WebView
به Google Mobile Ads SDK متصل است - جاوا اسکریپت فعال شد
- کوکی های شخص ثالث کار می کنند (در دستگاه های iOS انتظار نمی رود)
- کوکی های شخص اول کار می کنند
کد منبع URL آزمون ما را مشاهده کنید. سپس می توانید URL آزمایشی را با URL خود جایگزین کنید. همچنین می توانید از یک ابزار پراکسی مانند چارلز برای گرفتن ترافیک HTTPS برنامه خود و بررسی درخواست های تبلیغات برای پارامتر &scar=
استفاده کنید.

جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-09-06 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-09-06 بهوقت ساعت هماهنگ جهانی."],[[["\u003cp\u003eThe WebView API for Ads enables in-app ad monetization when displaying web content with AdSense or Google Publisher Tag ads through \u003ccode\u003eWebViewController\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eTo use this API, register your \u003ccode\u003eWebViewController\u003c/code\u003e objects with the Google Mobile Ads SDK, ensuring JavaScript and third-party cookies (for Android) are enabled.\u003c/p\u003e\n"],["\u003cp\u003eThis API simplifies ad serving by handling ad requests within the web content's JavaScript, eliminating the need for manual ad requests from your app.\u003c/p\u003e\n"],["\u003cp\u003eIt is recommended to use this API even for third-party web content to enhance ad monetization and protect against spam.\u003c/p\u003e\n"],["\u003cp\u003eBefore starting, ensure you're using the Google Mobile Ads SDK for Flutter plugin (v3.0.0+), \u003ccode\u003ewebview_flutter\u003c/code\u003e, and \u003ccode\u003ewebview_flutter_android\u003c/code\u003e (v3.7.0+) in your app.\u003c/p\u003e\n"]]],["The WebView API for Ads facilitates in-app ad monetization through `WebViewController`. To use this, register `WebViewController` objects with the Google Mobile Ads SDK. Enable JavaScript and third-party cookies in the `WebViewController` and then call `registerWebView()`. For Android, add a specific `\u003cmeta-data\u003e` tag in `AndroidManifest.xml`, and for iOS, update `Info.plist` to bypass checks. You can load web content that implements ads from AdSense or Google Publisher Tag via this API and use a test URL to verify integration.\n"],null,["The WebView API for Ads allows in-app ad monetization using\n[`WebViewController`](//pub.dev/documentation/webview_flutter/latest/webview_flutter/WebViewController-class.html).\nIf you display web content that implements ads with\n[AdSense code](//support.google.com/adsense/answer/9274634) or\n[Google Publisher Tag](//support.google.com/admanager/answer/181073)\nin your app through `WebViewController`, you should use this API to enable ads\nmonetization. To learn more, see the\n\n[AdMob policies](//support.google.com/admob/answer/48182#trs).\n\n\n1.\n\n Monetize by making ad requests with Google Mobile Ads SDK\n\n : You can monetize your app by making ad requests to\n\n AdMob with\n Google Mobile Ads SDK by implementing [ad formats for mobile\n app](//support.google.com/admob/answer/6128738).\n\n\n [Learn more](/admob/flutter/quick-start).\n2.\n\n Monetize by using the WebView API for Ads\n\n : If your app uses `WebViewController` to display web content that serves ads from\n [Ad Manager](//support.google.com/admanager) or\n [AdSense](//support.google.com/adsense), use the WebView API for Ads to register\n `WebViewController` objects with Google Mobile Ads SDK. The\n JavaScript in the [AdSense code](//support.google.com/adsense/answer/9274634)\n or [Google Publisher Tag](//support.google.com/admanager/answer/181073)\n builds and sends ad requests so you don't need to make any ad requests with\n the SDK. Keep in mind that only the mobile web and desktop web\n [inventory formats](//support.google.com/admanager/answer/9796545)\n are available using this API.\n\n If you don't own the web content in a `WebViewController`, you are still\n encouraged to use this API to help protect advertisers from spam and\n improve monetization for the web publishers that provided the content.\n\nNote that you can do either option, or even both, in the same app.\n\nThis guide is intended to help you integrate the WebView API for Ads into your\niOS app.\n\nBefore you begin\n\nBefore you start using the WebView API for Ads, make sure you do the following:\n\n- Use [Google Mobile Ads SDK for Flutter plugin](/admob/flutter/quick-start#import_the_mobile_ads_sdk) with version 3.0.0 or higher in your app.\n- Add [`webview_flutter`](//pub.dev/packages/webview_flutter) as a dependency in your `pubspec.yaml` file.\n- Add [`webview_flutter_android`](//pub.dev/packages/webview_flutter_android) with version 3.7.0 or higher in your app.\n\nBypass the check for application identifier \n\nAndroid\n\nAdd the following `\u003cmeta-data\u003e` tag in your `AndroidManifest.xml` file to\nbypass the check for the `APPLICATION_ID`. If you miss this step,\nGoogle Mobile Ads SDK might throw an\n[`IllegalStateException`](//developer.android.com/reference/java/lang/IllegalStateException)\non app start. \n\n \u003c!-- Bypass APPLICATION_ID check for WebView API for Ads --\u003e\n \u003cmeta-data\n android:name=\"com.google.android.gms.ads.INTEGRATION_MANAGER\"\n android:value=\"webview\"/\u003e\n\niOS\n\nUpdate the `Runner/Info.plist` file with the key and string value below to\nbypass a check for the `GADApplicationIdentifier`. If you miss this step,\nGoogle Mobile Ads SDK might throw a `GADInvalidInitializationException`\non app start. \n\n \u003c!-- Bypass GADApplicationIdentifier check for WebView API for Ads --\u003e\n \u003ckey\u003eGADIntegrationManager\u003c/key\u003e\n \u003cstring\u003ewebview\u003c/string\u003e\n\nRegister the WebViewController\n\nTo improve in-app ad monetization of ads within a\n`WebViewController` that uses [AdSense\ncode](//support.google.com/adsense/answer/9274634) or [Google Publisher\nTags](//support.google.com/admanager/answer/181073), follow the steps\nlisted below:\n\n1. Enable JavaScript in the `WebViewController`. Failure to do so can cause\n ads not to load.\n\n2. To improve your users' ad experience and be consistent with Chrome's\n [cookie policy](//policies.google.com/technologies/cookies), enable\n third-party cookies on your `AndroidWebViewController` instance.\n\n3. Register the `WebViewController` instance by calling the\n [`registerWebView()`](//pub.dev/documentation/google_mobile_ads/latest/google_mobile_ads/MobileAds/registerWebView.html)\n method provided by Google Mobile Ads SDK.\n\n import 'package:google_mobile_ads/google_mobile_ads.dart';\n import 'package:webview_flutter/webview_flutter.dart';\n import 'package:webview_flutter_android/webview_flutter_android.dart';\n\n @override\n class WebViewExampleState extends State\u003cWebViewExample\u003e {\n late final WebViewController controller;\n\n @override\n void initState() {\n super.initState();\n\n createWebView();\n }\n\n void createWebView() async {\n controller = WebViewController();\n // 1. Enable JavaScript in the web view.\n await controller.setJavaScriptMode(JavaScriptMode.unrestricted);\n // 2. Enable third-party cookies for Android.\n if (controller.platform is AndroidWebViewController) {\n AndroidWebViewCookieManager cookieManager = AndroidWebViewCookieManager(\n const PlatformWebViewCookieManagerCreationParams());\n await cookieManager.setAcceptThirdPartyCookies(\n controller.platform as AndroidWebViewController, true);\n }\n // 3. Register the web view.\n await MobileAds.instance.registerWebView(controller);\n }\n }\n\nLoad the URL\n\nYou can now load a URL and display your web content through `WebViewController`.\nWe recommend that you load this test URL:\n`https://google.github.io/webview-ads/test/` to test the integration prior to\nusing your own URL. The web page will show an error if JavaScript is not\nenabled. \n\n import 'package:google_mobile_ads/google_mobile_ads.dart';\n import 'package:webview_flutter/webview_flutter.dart';\n import 'package:webview_flutter_android/webview_flutter_android.dart';\n\n @override\n class WebViewExampleState extends State\u003cWebViewExample\u003e {\n late final WebViewController controller;\n\n @override\n void initState() {\n super.initState();\n\n createWebView();\n }\n\n void createWebView() async {\n controller = WebViewController();\n // 1. Enable JavaScript in the web view.\n await controller.setJavaScriptMode(JavaScriptMode.unrestricted);\n\n // 2. Enable third-party cookies for Android.\n if (controller.platform is AndroidWebViewController) {\n AndroidWebViewCookieManager cookieManager = AndroidWebViewCookieManager(\n const PlatformWebViewCookieManagerCreationParams());\n await cookieManager.setAcceptThirdPartyCookies(\n controller.platform as AndroidWebViewController, true);\n }\n\n // 3. Register the web view.\n await MobileAds.instance.registerWebView(controller);\n\n // 4. Load the URL.\n await controller.loadRequest(Uri.parse('https://google.github.io/webview-ads/test/'));\n }\n\nThe test URL shows green status bars for a successful integration if the\nfollowing conditions apply:\n\n- `WebView` connected to the Google Mobile Ads SDK\n- JavaScript enabled\n- Third-party cookies work (not expected on iOS devices)\n- First-party cookies work\n\nView the [source code](//github.com/google/webview-ads/blob/main/test/index.html)\nof our test URL. You can then replace the test URL with your URL. You can also\nuse a proxy tool such as [Charles](//www.charlesproxy.com/) to capture your\napp's HTTPS traffic and inspect the ad requests for a `&scar=` parameter."]]