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

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

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

    شما می‌توانید با ارسال درخواست‌های تبلیغاتی به AdMob با استفاده از Google Mobile Ads SDK و پیاده‌سازی قالب‌های تبلیغاتی برای اپلیکیشن موبایل، از اپلیکیشن خود کسب درآمد کنید.

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

  2. با استفاده از WebView API برای تبلیغات، کسب درآمد کنید

    اگر برنامه شما از WebViewController برای نمایش محتوای وب که تبلیغات Ad Manager یا AdSense را ارائه می‌دهد استفاده می‌کند، از WebView API for Ads برای ثبت اشیاء WebViewController در Google Mobile Ads SDK استفاده کنید. جاوا اسکریپت موجود در کد AdSense یا Google Publisher Tag درخواست‌های تبلیغ را ایجاد و ارسال می‌کند، بنابراین نیازی به ارسال هیچ درخواست تبلیغی با SDK ندارید. به خاطر داشته باشید که فقط قالب‌های موجودی وب موبایل و وب دسکتاپ با استفاده از این API در دسترس هستند.

    اگر مالک محتوای وب در WebViewController نیستید، همچنان توصیه می‌شود از این API برای محافظت از تبلیغ‌کنندگان در برابر هرزنامه و بهبود کسب درآمد برای ناشران وب که محتوا را ارائه داده‌اند، استفاده کنید.

توجه داشته باشید که می‌توانید هر دو گزینه یا حتی هر دو را در یک برنامه انجام دهید.

این راهنما برای کمک به شما در ادغام API وب ویو برای تبلیغات در برنامه iOS شما در نظر گرفته شده است.

قبل از اینکه شروع کنی

قبل از شروع استفاده از WebView API برای تبلیغات، مطمئن شوید که موارد زیر را انجام می‌دهید:

دور زدن بررسی شناسه برنامه

اندروید

تگ <meta-data> زیر را در فایل AndroidManifest.xml خود اضافه کنید تا از بررسی 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"/>

آی‌او‌اس

فایل 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 استفاده می‌کند، مراحل زیر را دنبال کنید:

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

  2. برای بهبود تجربه تبلیغات کاربران و سازگاری با سیاست کوکی‌های کروم، کوکی‌های شخص ثالث را در نمونه 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 خودتان، این URL آزمایشی را بارگذاری کنید: https://google.github.io/webview-ads/test/ تا ادغام را آزمایش کنید. اگر جاوا اسکریپت فعال نباشد، صفحه وب خطایی نشان می‌دهد.

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 خود جایگزین کنید. همچنین می‌توانید از یک ابزار پروکسی مانند Charles برای ثبت ترافیک HTTPS برنامه خود استفاده کنید و درخواست‌های تبلیغاتی را برای پارامتر &scar= بررسی کنید.