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

विज्ञापनों के लिए वेब व्यू एपीआई, आपकेWebViewमें मौजूद टैग के लिए ऐप्लिकेशन सिग्नल उपलब्ध कराते हैं. इससे, कॉन्टेंट उपलब्ध कराने वाले पब्लिशर के लिए कमाई करने की सुविधा को बेहतर बनाने और विज्ञापन देने वालों को स्पैम से बचाने में मदद मिलती है. ऐप्लिकेशन आईडी और ऐप्लिकेशन वर्शन जैसे ऐप्लिकेशन सिग्नल, रिपोर्टिंग और इन-ऐप्लिकेशन ब्राउज़र इन्वेंट्री को टारगेट करने के इस्तेमाल के उदाहरणों को चालू करने में मदद करते हैं. ये उदाहरण, सिर्फ़ ऐप्लिकेशन ट्रैफ़िक पर उपलब्ध होते हैं.

यह कैसे काम करता है

Google Mobile Ads SDK के साथ सिर्फ़ उन विज्ञापन इवेंट के जवाब में कम्यूनिकेशन होता है जो इनमें से किसी भी वजह से ट्रिगर होते हैं:

इन विज्ञापन इवेंट को सुनने के लिए, SDK टूल, रजिस्टर किए गए WebView में मैसेज हैंडलर जोड़ता है. यह कैसे काम करता है, इस बारे में बेहतर जानकारी पाने के लिए, जांच पेज का सोर्स कोड देखें.

ज़रूरी शर्तें

  • Google Mobile Ads SDK का 20.6.0 या इसके बाद का वर्शन.
  • Android एपीआई लेवल 21 या उसके बाद का वर्शन.

  • APPLICATION_ID की जांच को बायपास करने के लिए, अपनी AndroidManifest.xml फ़ाइल में यह <meta-data> टैग जोड़ें. अगर यह चरण पूरा नहीं किया जाता और <meta-data> टैग नहीं दिया जाता है, तो ऐप्लिकेशन शुरू होने पर Google Mobile Ads SDK टूल, IllegalStateException को दिखाता है.

    <!-- Bypass APPLICATION_ID check for web view APIs for ads -->
     <meta-data
         android:name="com.google.android.gms.ads.INTEGRATION_MANAGER"
         android:value="webview"/>
    

वेब व्यू रजिस्टर करना

हर WebView इंस्टेंस में, AdSense कोड या Google पब्लिशर टैग में JavaScript हैंडलर के साथ कनेक्शन बनाने के लिए, मुख्य थ्रेड पर registerWebView() को कॉल करें. इसे जल्द से जल्द करना चाहिए. जैसे, अपने व्यू कंट्रोलर के onCreate() का तरीका.MainActivity

Kotlin

import android.webkit.CookieManager
import android.webkit.WebView
import com.google.android.gms.ads.MobileAds

class MainActivity : AppCompatActivity() {
  lateinit var webView: WebView

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    webView = findViewById(R.id.webview)

    // Let the web view accept third-party cookies.
    CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)
    // Let the web view use JavaScript.
    webView.settings.javaScriptEnabled = true
    // Let the web view access local storage.
    webView.settings.domStorageEnabled = true
    // Let HTML videos play automatically.
    webView.settings.mediaPlaybackRequiresUserGesture = false

    // Register the web view.
    MobileAds.registerWebView(webView)
  }
}

Java

import android.webkit.CookieManager;
import android.webkit.WebView;
import com.google.android.gms.ads.MobileAds;

public class MainActivity extends AppCompatActivity {
  private WebView webView;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    webView = findViewById(R.id.webview);

    // Let the web view accept third-party cookies.
    CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);
    // Let the web view use JavaScript.
    webView.getSettings().setJavaScriptEnabled(true);
    // Let the web view access local storage.
    webView.getSettings().setDomStorageEnabled(true);
    // Let HTML videos play automatically.
    webView.getSettings().setMediaPlaybackRequiresUserGesture(false);

    // Register the web view.
    MobileAds.registerWebView(webView);
  }
}

अपने इंटिग्रेशन की जांच करना

हमारा सुझाव है कि अपने यूआरएल का इस्तेमाल करने से पहले, इंटिग्रेशन की जांच करने के लिए, नीचे दिया गया यूआरएल लोड करें:

https://webview-api-for-ads-test.glitch.me#api-for-ads-tests

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

  • WebView Google Mobile Ads SDK से कनेक्ट हो

अगले चरण

  • WebViewमें सहमति लें. Ads के लिए वेब व्यू एपीआई, IAB टीसीएफ़ के 2.0 वर्शन या IAB सीसीपीए के अनुपालन फ़्रेमवर्क का इस्तेमाल करके, मोबाइल ऐप्लिकेशन के संदर्भ में इकट्ठा की गई सहमति को आपके वेब व्यू के टैग में नहीं भेजता. अगर आपकोWebView और उससे जुड़े वेब कॉन्टेंट, दोनों के मालिक के तौर पर, एक ही सहमति फ़्लो लागू करना है, तो WebView कॉन्टेक्स्ट में सहमति लेने के लिए, अपने सहमति मैनेजमेंट प्लैटफ़ॉर्म के साथ काम करें.