ادغام کردن «میانای برنامه‌سازی کاربردی وب‌نما برای تبلیغات»

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

  1. با درخواست آگهی با Google Mobile Ads Flutter Plugin درآمدزایی کنید

    با درخواست آگهی از AdMob با Google Mobile Ads Flutter Plugin ازطریق پیاده‌سازی قالب‌های آگهی برای برنامه تلفن همراه می‌توانید از برنامه‌تان درآمدزایی کنید.

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

  2. بااستفاده از «میانای برنامه‌سازی کاربردی وب‌نما برای آگهی‌ها» درآمدزایی کنید

    اگر برنامه‌تان از WebViewController برای نمایش محتوای وبی که از Ad Manager یا AdSense آگهی ارائه می‌کند استفاده می‌کند، از «میانای برنامه‌سازی کاربردی وب‌نما برای آگهی‌ها» برای ثبت کردن اشیا WebViewController در Google Mobile Ads Flutter Plugin استفاده کنید. ‫JavaScript در کد AdSense یا برچسب ناشر Google درخواست‌های آگهی را می‌سازد و ارسال می‌کند، بنابراین نیازی نیست با «کیت توسعه نرم‌افزار» درخواست آگهی ایجاد کنید. به‌خاطر داشته باشید که فقط وب تلفن همراه و وب رایانه قالب‌های فضای آگهی بااستفاده از این API دردسترس هستند.

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

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

این راهنما برای کمک به شما در ادغام کردن «میانای برنامه‌سازی کاربردی وب‌نما برای آگهی‌ها» در برنامه iOS شما درنظر گرفته شده است.

قبل‌از شروع

قبل‌از شروع استفاده از «میانای برنامه‌سازی کاربردی وب‌نما برای آگهی‌ها»، مطمئن شوید که موارد زیر را انجام داده‌اید:

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

Android

برچسب <meta-data> زیر را در فایل AndroidManifest.xml اضافه کنید تا از بررسی APPLICATION_ID رد شوید. اگر این مرحله را انجام ندهید، Google Mobile Ads Flutter Plugin ممکن است 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 Flutter Plugin ممکن است هنگام شروع برنامه 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. نمونه WebViewController را با فراخوانی روش registerWebView() ارائه‌شده توسط Google Mobile Ads Flutter Plugin ثبت کنید.

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

بار کردن نشانی وب

اکنون می‌توانید نشانی وب را بار کنید و محتوای وب خود را ازطریق WebViewController نمایش دهید. توصیه می‌کنیم این نشانی وب آزمایشی را بار کنید: 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/'));
  }

اگر شرایط زیر برقرار باشد، نشانی وب آزمایش نوارهای وضعیت سبز را برای یکپارچه‌سازی موفق نشان می‌دهد:

  • ‫WebView به Google Mobile Ads Flutter Plugin متصل شد
  • جاوا اسکریپت فعال است
  • کوکی‌های طرف سوم کار می‌کنند (در دستگاه‌های iOS انتظار نمی‌رود)
  • کوکی‌های طرف اول کار می‌کنند

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