विज्ञापन के लिए वेब व्यू एपीआई, आपके WebView में मौजूद टैग के लिए ऐप्लिकेशन के सिग्नल उपलब्ध करवाता है. इससे, कॉन्टेंट उपलब्ध करवाने वाले पब्लिशरों को ज़्यादा कमाई करने में मदद मिलती है और विज्ञापन देने वाले लोगों या कंपनियों को स्पैम से बचाया जा सकता है.
यह कैसे काम करता है
GMA Next-Gen SDK के साथ कम्यूनिकेशन सिर्फ़ तब होता है, जब इनमें से किसी वजह से विज्ञापन इवेंट ट्रिगर होते हैं:
SDK टूल, रजिस्टर किए गए WebView में मैसेज हैंडलर जोड़ता है, ताकि विज्ञापन के इन इवेंट को सुना जा सके. यह कैसे काम करता है, इसे बेहतर तरीके से समझने के लिए, टेस्ट पेज का सोर्स कोड देखें.
ज़रूरी शर्तें
- GMA Next-Gen SDK
का वर्शन
1.0.0या इसके बाद का वर्शन.
SDK टूल को ऐप्लिकेशन आईडी पास करना
अगर आपके पास पहले से ही AdMob ऐप्लिकेशन आईडी है, तो अपने मौजूदा ऐप्लिकेशन आईडी के साथ GMA Next-Gen SDK को शुरू करें.
अगर आपके पास AdMob ऐप्लिकेशन आईडी नहीं है, तो GMA Next-Gen SDK को शुरू करते समय, ऐप्लिकेशन आईडी के तौर पर InitializationConfig.WEBVIEW_APIS_FOR_ADS_APPLICATION_ID डालें.
Kotlin
MobileAds.initialize(
this@MainActivity,
// Use this application ID to initialize the GMA Next-Gen SDK if
// you don't have an AdMob application ID.
InitializationConfig.Builder(InitializationConfig.WEBVIEW_APIS_FOR_ADS_APPLICATION_ID)
.build(),
) {
// Adapter initialization complete.
}
Java
MobileAds.initialize(
this,
// Use this application ID to initialize the GMA Next-Gen SDK if
// you don't have an AdMob application ID.
new InitializationConfig.Builder(InitializationConfig.WEBVIEW_APIS_FOR_ADS_APPLICATION_ID)
.build(),
initializationStatus -> {
// Adapter initialization is complete.
});
वेब व्यू को रजिस्टर करना
हर WebView इंस्टेंस में AdSense कोड या Google पब्लिशर टैग में मौजूद JavaScript हैंडलर के साथ कनेक्शन बनाने के लिए, मुख्य थ्रेड पर
registerWebView()
को कॉल करें. यह काम जल्द से जल्द किया जाना चाहिए, जैसे कि आपके MainActivity के onCreate() तरीके में.
Kotlin
import android.webkit.CookieManager
import android.webkit.WebView
import com.google.android.libraries.ads.mobile.sdk.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.libraries.ads.mobile.sdk.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://google.github.io/webview-ads/test/#api-for-ads-tests
अगर ये शर्तें लागू होती हैं, तो टेस्ट यूआरएल में इंटिग्रेशन पूरा होने पर, हरे रंग के स्टेटस बार दिखते हैं:
WebViewको GMA Next-Gen SDK से कनेक्ट किया गया
अगले चरण
WebViewमें सहमति लें. विज्ञापनों के लिए वेब व्यू एपीआई, IAB टीसीएफ़ के 2.3 वर्शन या IAB CCPA के नियमों का पालन करने वाले फ़्रेमवर्क का इस्तेमाल करके, मोबाइल ऐप्लिकेशन के संदर्भ में इकट्ठा की गई सहमति को आपके वेब व्यू में मौजूद टैग पर लागू नहीं करता. अगर आपकोWebViewऔर उससे जुड़े वेब कॉन्टेंट, दोनों के मालिक के तौर पर सहमति लेने का एक ही फ़्लो लागू करना है, तोWebViewके संदर्भ में सहमति लेने के लिए, अपने कंसेंट मैनेजमेंट प्लैटफ़ॉर्म के साथ काम करें.