WebView API برای تبلیغات را ادغام کنید

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

  1. با درخواست تبلیغات با Google Mobile Ads SDK کسب درآمد کنید

    با اجرای قالب‌های تبلیغاتی برای برنامه تلفن همراه، می‌توانید از برنامه‌تان با درخواست‌های آگهی برایAd Manager با Google Mobile Ads SDK با اجرای قالب‌های تبلیغاتی برای برنامه تلفن همراه .

    بیشتر بدانید .

  2. با استفاده از 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 خود اضافه کنید. اگر این مرحله را از دست دادید، SDK تبلیغات موبایلی Google ممکن است یک 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 را دور بزنید. اگر این مرحله را از دست دادید، SDK تبلیغات تلفن همراه Google ممکن است یک GADInvalidInitializationException در شروع برنامه ایجاد کند.

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

WebViewController را ثبت کنید

برای بهبود درآمدزایی تبلیغات درون برنامه ای از تبلیغات در یک WebViewController که از کد AdSense یا برچسب های Google Publisher استفاده می کند، مراحل فهرست شده در زیر را دنبال کنید:

  1. جاوا اسکریپت را در WebViewController فعال کنید. عدم انجام این کار می تواند باعث لود نشدن تبلیغات شود.

  2. برای بهبود تجربه تبلیغات کاربران و سازگاری با خط‌مشی کوکی Chrome، کوکی‌های شخص ثالث را در نمونه AndroidWebViewController خود فعال کنید.

  3. با فراخوانی متد 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 نمایش دهید. توصیه می‌کنیم این URL آزمایشی را بارگیری کنید: https://webview-api-for-ads-test.glitch.me/ تا قبل از استفاده از 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://webview-api-for-ads-test.glitch.me/'));
  }

URL آزمایشی نوارهای وضعیت سبز رنگ را برای ادغام موفقیت آمیز در صورت اعمال شرایط زیر نشان می دهد:

  • WebView به Google Mobile Ads SDK متصل است
  • جاوا اسکریپت فعال شد
  • کوکی های شخص ثالث کار می کنند (در دستگاه های iOS انتظار نمی رود)
  • کوکی های شخص اول کار می کنند

کد منبع URL آزمون ما را مشاهده کنید. سپس می توانید URL آزمایشی را با URL خود جایگزین کنید. همچنین می توانید از یک ابزار پراکسی مانند چارلز برای گرفتن ترافیک HTTPS برنامه خود و بررسی درخواست های تبلیغات برای پارامتر &scar= استفاده کنید.