विज्ञापनों के लिए वेबव्यू एपीआई इंटिग्रेट करें

Ads के लिए WebView API, WebViewController का इस्तेमाल करके, इन-ऐप्लिकेशन विज्ञापन से कमाई करने की अनुमति देता है. अगर आपके ऐप्लिकेशन में WebViewController की मदद से, AdSense कोड या Google पब्लिशर टैग की मदद से विज्ञापन दिखाने वाला वेब कॉन्टेंट दिखाया जाता है, तो आपको विज्ञापनों से कमाई करने की सुविधा चालू करने के लिए, इस एपीआई का इस्तेमाल करना चाहिए. ज़्यादा जानने के लिए, AdSense और Ad Manager की नीतियों के बारे में ज़्यादा जानें.

  1. Google Mobile Ads SDK से विज्ञापन अनुरोध करके कमाई करें

    अपने ऐप्लिकेशन से कमाई की जा सकती है. इसके लिए, मोबाइल ऐप्लिकेशन के लिए विज्ञापन फ़ॉर्मैट लागू करके, Google Mobile Ads SDK के साथ Ad Manager.

    ज़्यादा जानें.

  2. विज्ञापनों के लिए वेबव्यू एपीआई का इस्तेमाल करके कमाई करना

    अगर आपका ऐप्लिकेशन, WebViewController का इस्तेमाल करके Ad Manager या AdSense के विज्ञापन दिखाने वाला वेब कॉन्टेंट दिखाता है, तो WebViewController ऑब्जेक्ट को Google Mobile Ads SDK के साथ रजिस्टर करने के लिए, WebView API for Ads का इस्तेमाल करें. AdSense कोड या Google पब्लिशर टैग में मौजूद JavaScript, विज्ञापन अनुरोध बनाता और भेजता है, ताकि आपको SDK टूल से कोई विज्ञापन अनुरोध न करना पड़े. ध्यान रखें कि इस एपीआई का इस्तेमाल करके, सिर्फ़ मोबाइल वेब और डेस्कटॉप वेब इन्वेंट्री फ़ॉर्मैट उपलब्ध हैं.

    अगर किसी WebViewController में वेब कॉन्टेंट का मालिकाना हक आपके पास नहीं है, तो भी आप एपीआई का इस्तेमाल कर सकते हैं. इससे विज्ञापन देने वालों को स्पैम से बचाने और कॉन्टेंट उपलब्ध कराने वाले वेब पब्लिशर के लिए कमाई करने में मदद मिलेगी.

ध्यान दें कि आपको एक ही ऐप्लिकेशन में दोनों में से कोई एक विकल्प या दोनों काम करने की सुविधा मिलती है.

इस गाइड की मदद से, iOS ऐप्लिकेशन में Google Ads के लिए WebView API को इंटिग्रेट किया जा सकता है.

शुरू करने से पहले

Google Ads के लिए वेबव्यू एपीआई का इस्तेमाल करने से पहले, ये काम ज़रूर करें:

  • अपने ऐप्लिकेशन में, Flutter प्लगिन के लिए Google Mobile Ads SDK 3.0.0 या उसके बाद वाले वर्शन का इस्तेमाल करें.
  • अपनी pubspec.yaml फ़ाइल में, डिपेंडेंसी के तौर पर webview_flutter को जोड़ें.
  • अपने ऐप्लिकेशन में, 3.7.0 या उसके बाद के वर्शन वाला webview_flutter_android जोड़ें.

ऐप्लिकेशन आइडेंटिफ़ायर की जांच को बायपास करें

Android

APPLICATION_ID की जांच को बायपास करने के लिए, अपनी AndroidManifest.xml फ़ाइल में यहां दिए गए <meta-data> टैग को जोड़ें. ऐसा न करने पर, Google मोबाइल विज्ञापन 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

GADApplicationIdentifier की जांच बायपास करने के लिए, नीचे दी गई कुंजी और स्ट्रिंग वैल्यू वाली Runner/Info.plist फ़ाइल को अपडेट करें. अगर ऐसा नहीं किया जाता है, तो Google Mobile Ads SDK, ऐप्लिकेशन शुरू होने पर GADInvalidInitializationException दे सकता है.

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

WebViewController को रजिस्टर करें

AdSense कोड या Google पब्लिशर टैग का इस्तेमाल करने वाले WebViewController में, इन-ऐप्लिकेशन विज्ञापन से ज़्यादा कमाई करने के लिए, यह तरीका अपनाएं:

  1. WebViewController में JavaScript चालू करें. ऐसा न करने पर हो सकता है कि विज्ञापन लोड न हों.

  2. Chrome की कुकी नीति का पालन करने और उपयोगकर्ताओं को विज्ञापन का बेहतर अनुभव देने के लिए, अपने AndroidWebViewController इंस्टेंस पर तीसरे पक्ष की कुकी चालू करें.

  3. Google Mobile Ads SDK से मिले registerWebView() तरीके का इस्तेमाल करके, 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);
  }
}

यूआरएल लोड करें

अब WebViewController की मदद से, यूआरएल लोड किया जा सकता है और वेब कॉन्टेंट दिखाया जा सकता है. हमारा सुझाव है कि आप इस टेस्ट यूआरएल को लोड करें: https://webview-api-for-ads-test.glitch.me/, ताकि अपना यूआरएल इस्तेमाल करने से पहले इंटिग्रेशन की जांच की जा सके. अगर 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/'));
  }

टेस्ट यूआरएल, सफल इंटिग्रेशन के लिए हरे रंग के स्टेटस बार दिखाता है, अगर नीचे दी गई शर्तें लागू होती हैं:

  • WebView को Google Mobile Ads SDK से कनेक्ट किया गया
  • JavaScript सक्षम
  • तीसरे पक्ष की कुकी काम करती हैं (iOS डिवाइसों पर ऐसा करने की उम्मीद नहीं की जाती)
  • पहले-पक्ष की कुकी का काम

हमारे टेस्ट यूआरएल का सोर्स कोड देखें. इसके बाद, टेस्ट यूआरएल को अपने यूआरएल से बदला जा सकता है. अपने ऐप्लिकेशन के एचटीटीपीएस ट्रैफ़िक को कैप्चर करने और &scar= पैरामीटर के लिए विज्ञापन अनुरोधों की जांच करने के लिए, चार्ल्स जैसे प्रॉक्सी टूल का इस्तेमाल भी किया जा सकता है.