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

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

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

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

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

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

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

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

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

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

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

विज्ञापनों के लिए वेबव्यू एपीआई का इस्तेमाल शुरू करने से पहले, पक्का करें कि आपने ये काम कर लिए हों:

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

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

AndroidiOS

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

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= पैरामीटर के लिए विज्ञापन अनुरोधों की जांच करने के लिए, Charles जैसे प्रॉक्सी टूल का भी इस्तेमाल किया जा सकता है.