Android के लिए मोबाइल ऐप्लिकेशन (AFSMA) को लागू करना

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

इस गाइड में यह माना गया है कि आपको इनके बारे में जानकारी है:

क्लास

अपने ऐप्लिकेशन में AFSMA विज्ञापनों (जिन्हें डाइनैमिक ऊंचाई वाले खोज विज्ञापन भी कहा जाता है) दिखाने के लिए, ये क्लास लागू करें:

SearchAdView

  • यह क्लास Android ViewGroup क्लास से इनहेरिट की गई है और AFSMA विज्ञापन दिखाए जाते हैं. SearchAdView, ऐसे विज्ञापन के लिए अनुरोध करता है जिसमें DynamicHeightSearchAdRequest और दिखाए गए विज्ञापनों को रेंडर करता है. SearchAdView को ऐप्लिकेशन के किसी भी मौजूदा व्यू ग्रुप में जोड़ा जाना चाहिए.
  • SearchAdView को कॉन्टेक्स्ट के साथ इंस्टैंशिएट किया जाना चाहिए आम तौर पर, Activity में SearchAdView चालू होता है.
  • SearchAdView के इंस्टैंशिएट होने के बाद, आपको setAdSize() तरीके को कॉल करना होगा की मदद से आप AdSize.SEARCH में AFSMA विज्ञापनों का अनुरोध कर सकते हैं. ईनम के अन्य मान, ऐसे विज्ञापनों का अनुरोध करेंगे जो मोबाइल ऐप्लिकेशन के लिए AFS के साथ काम नहीं करते.
  • इस ऑब्जेक्ट पर अपने प्रॉपर्टी कोड के साथ setAdUnitId() तरीके को कॉल करें.

DynamicHeightSearchAdRequest.Builder

  • इस क्लास में, विज्ञापन अनुरोध के पैरामीटर शामिल होते हैं. यह JavaScript विज्ञापन अनुरोध के ऑब्जेक्ट में पैरामीटर सेट करने जैसा है AFS डेस्कटॉप और मोबाइल वेब के लिए, (पेज के विकल्प, यूनिट के विकल्प).
  • सही सेटर के साथ पैरामीटर सेट करना (दूसरे शब्दों में, क्वेरी पैरामीटर सेट करने के लिए, setQuery() को कॉल करें).

लागू करने का उदाहरण

नीचे दिए गए उदाहरण में, SearchAdView बनाने के लिए Activity का इस्तेमाल करने के बारे में बताया गया है ViewGroup के सबव्यू के तौर पर. AFSMA के विज्ञापनों का सही तरीके से अनुरोध करने के लिए, SearchAdView ऑब्जेक्ट को AdSize.SEARCH के साथ setAdSize() तरीके को कॉल करना चाहिए.

//  MainActivity.java implementation
//  (MainActivity is a subclass of Activity)

// Create the SearchAdView
final SearchAdView searchAdView = new SearchAdView(this);

// Set parameter to request for dynamic height search ads
searchAdView.setAdSize(AdSize.SEARCH); // Important!

// Replace with your pub ID (e.g. ms-app-pub-9616389000213823)
searchAdView.setAdUnitId("ms-app-pub-################");

// Add searchAdView to parent view group
...

उसी Activity में, एक DynamicHeightSearchAdRequest.Builder बनाएं, जो SearchAdView में रेंडर किए जाने वाले विज्ञापन के पैरामीटर तय करता है. AFSMA विज्ञापनों को उसी तरह कॉन्फ़िगर किया जाता है जिस तरह AFS के कस्टम सर्च विज्ञापनों को कॉन्फ़िगर किया जाता है; AFS के कस्टम खोज विज्ञापन देखें रेफ़रंस देखें.

// Create the ad request
DynamicHeightSearchAdRequest.Builder builder =
        new DynamicHeightSearchAdRequest.Builder();
builder.setQuery("flowers");
builder.setNumber(2);

// Replace with the ID of a style from your custom search styles
builder.setAdvancedOptionValue("csa_styleId", "0000000001");

// Customization options (set using setters on
// DynamicHeightSearchAdRequest.Builder)
builder.setAdTest(true);

अतिरिक्त प्रॉपर्टी को कस्टमाइज़ करने के अन्य विकल्प DynamicHeightSearchAdRequest.Builder ऑब्जेक्ट है.

विज्ञापन अनुरोध करने के लिए, loadAd() तरीके को इस SearchAdView ऑब्जेक्ट से DynamicHeightSearchAdRequest.Builder ऑब्जेक्ट:

searchAdView.loadAd(builder.build());

बेहतर विकल्प

विज्ञापन अनुरोध के ज़्यादातर पैरामीटर को सेटर तरीकों से सेट किया जा सकता है DynamicHeightSearchAdRequest.Builder ऑब्जेक्ट पर. ऐसे पैरामीटर जिनमें सेटर तरीका नहीं है DynamicHeightSearchAdRequest.Builder को, की-वैल्यू पेयर का इस्तेमाल करके सेट किया जा सकता है. setAdvancedOptionValue() तरीका. AFS के कस्टम सर्च विज्ञापन देखें रेफ़रंस उन सेटिंग की पूरी सूची देखें जिन्हें setAdvancedOptionValue() तरीका.

कुंजी पैरामीटर की शुरुआत "csa_" से होनी चाहिए ताकि प्रॉपर्टी को सही तरीके से सेट किया जा सके.

// Advanced customization options (set using key-value pair)

// Set a parameter (parameter_name) and its value (parameter_value)
// builder.setAdvancedOptionValue("csa_parameter_name", "parameter_value");

// Example: Show visible URL below description
// (domainLinkAboveDescription: false)
builder.setAdvancedOptionValue("csa_domainLinkAboveDescription", "false");

अगर किसी पैरामीटर के सेटर तरीके का इस्तेमाल किया जाता है और उसे setAdvancedOptionValue की मदद से सेट किया जाता है, तो दूसरा कॉल, पहले कॉल के मान को बदल देगा.

गड़बड़ियों की जांच करना

SearchAdView (यहां searchAdView) में एक setAdListener() तरीका है ताकि आपको गड़बड़ियों की जांच करने में मदद मिल सके. उसी Activity में:

searchAdView.setAdListener(new AdListener() {
    @Override
    public void onAdLoaded() {
        // Called when an ad is loaded
        super.onAdLoaded();
        Toast.makeText(MainActivity.this, "Ad Loaded",
                Toast.LENGTH_SHORT).show();
        Log.d(MainActivity.class.getSimpleName(), "Ad Loaded");
    }

    @Override
    public void onAdOpened() {
        // Called when an ad opens an overlay that covers the screen
        super.onAdOpened();
        Toast.makeText(MainActivity.this, "Ad Opened",
                Toast.LENGTH_SHORT).show();
        Log.d(MainActivity.class.getSimpleName(), "Ad Opened");
    }

    @Override
    public void onAdLeftApplication() {
        // Called when an ad leaves the application
        // (to go to the browser for example)
        super.onAdLeftApplication();
        Toast.makeText(MainActivity.this, "Ad Left Application",
                Toast.LENGTH_SHORT).show();
        Log.d(MainActivity.class.getSimpleName(), "Ad Left Application");
    }

    @Override
    public void onAdFailedToLoad(int errorCode) {
        // Called when an ad request failed
        super.onAdFailedToLoad(errorCode);
        Toast.makeText(MainActivity.this, "Ad Failed to Load: " + errorCode,
                Toast.LENGTH_SHORT).show();
        Log.e(MainActivity.class.getSimpleName(), "Ad Failed to Load: " +
                errorCode);
    }
});

onAdFailedToLoad() कॉलबैक तरीके में इस्तेमाल किए गए कॉन्स्टेंट एपीआई में दी गई जानकारी के बारे में यहां बताया गया है रेफ़रंस.

यह जानें कि Google Play के डेटा के बारे में कौनसी जानकारी देना ज़रूरी है

Google Play ने मई 2021 में, डेटा की सुरक्षा वाले नए सेक्शन का एलान किया था. इस सेक्शन में, डेवलपर यह जानकारी देते हैं कि उनका ऐप्लिकेशन किस तरह का डेटा इकट्ठा करता है, उसे शेयर करता है, और उसकी सुरक्षा के लिए कौनसे तरीके अपनाता है.

इस पेज पर, AFS के नेटिव SDK टूल (AdSense for Shopping के इस्तेमाल पर भी लागू) के इस्तेमाल को लेकर, डेटा की जानकारी ज़ाहिर करने से जुड़ी ज़रूरी शर्तों को पूरा करने में मदद मिलेगी. इस पेज पर यह जानकारी मिलती है कि हमारे SDK टूल, असली उपयोगकर्ता के डेटा को हैंडल करते हैं या नहीं और अगर करते हैं, तो कैसे करते हैं.

हमारी कोशिश है कि आपकी मदद के लिए, ज़्यादा से ज़्यादा पारदर्शी बने रहें; हालांकि, ऐप्लिकेशन डेवलपर के तौर पर, यह तय करने की पूरी ज़िम्मेदारी आपकी होगी कि Google Play के डेटा की सुरक्षा वाले सेक्शन के फ़ॉर्म में मांगी गई जानकारी कैसे देनी है. इस फ़ॉर्म में, आपके ऐप्लिकेशन के असली उपयोगकर्ता का डेटा इकट्ठा करने, उसे शेयर करने, और उसकी सुरक्षा के तरीकों के बारे में जानकारी देनी होती है.

इस पेज पर दी गई जानकारी इस्तेमाल करने का तरीका

इस पेज में, असली उपयोगकर्ता के उस डेटा की सूची दी गई है जिसे SDK टूल के सिर्फ़ नए वर्शन से इकट्ठा किया जाता है.

डेटा की जानकारी ज़ाहिर करने से जुड़ी प्रोसेस को पूरा करने के लिए, Android की डेटा टाइप के बारे में गाइड का इस्तेमाल किया जा सकता है. इससे आपको यह तय करने में मदद मिलेगी कि कौनसा डेटा टाइप, इकट्ठा किए गए डेटा के बारे में बेहतर तरीके से बताता है. डेटा की जानकारी ज़ाहिर करते समय, यह ज़रूर बताएं कि इकट्ठा किए गए डेटा को आपका खास ऐप्लिकेशन किस तरह शेयर और इस्तेमाल करता है.

डेटा का वह टाइप, जिसे SDK टूल ऐक्सेस और इकट्ठा करता है

पैकेज:

com.google.android.gms:play-services-afs-native

com.google.ads.afsn

अपने-आप इकट्ठा होने वाला डेटा

AFS SDK टूल, यहां दिया गया डेटा अपने-आप इकट्ठा करता है. विज्ञापन दिखाने के मकसद से, सारा डेटा डिवाइस से बाहर Google को भेजा जाता है. साथ ही, डेटा को एन्क्रिप्ट (सुरक्षित) करके, एक जगह से दूसरी जगह भेजा जाता है. उपयोगकर्ता की निजी जानकारी कभी इकट्ठा नहीं की जाती. ऐसा तब तक नहीं किया जाता, जब तक आपके ऐप्लिकेशन में उपयोगकर्ता की क्वेरी में इस जानकारी को न भेजा जाए.

Data यह डेटा इन मकसद के लिए इकट्ठा किया जाता है...
आईपी पता जवाब:
  • धोखाधड़ी रोकना, सुरक्षा, और नीतियों का पालन
  • विज्ञापन या मार्केटिंग
  • जगह की अनुमानित जानकारी का पता लगाएं
विवरण:
आईपी पते का इस्तेमाल, धोखाधड़ी और गलत इस्तेमाल पर नज़र रखने के लिए किया जाता है. साथ ही, इसका इस्तेमाल उपयोगकर्ता की जगह की अनुमानित जानकारी का पता लगाने के लिए भी किया जाता है.

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

ऐप गतिविधि
  • ऐप्लिकेशन में किए गए टैप और पेज व्यू से जुड़ी जानकारी
  • ऐप्लिकेशन में खोज का इतिहास
जवाब:
  • Analytics
  • धोखाधड़ी रोकना, सुरक्षा, और नीतियों का पालन
  • विज्ञापन या मार्केटिंग
  • मनमुताबिक बनाना
विवरण:
आपका ऐप्लिकेशन हमें उपयोगकर्ता की क्वेरी उपलब्ध कराता है, ताकि हम उस कीवर्ड के लिए काम के Search विज्ञापन दिखा सकें. हम दिखाए गए विज्ञापनों के साथ, व्यू और यूज़र ऐक्टिविटी (टैप) का आकलन करते हैं.
डाइग्नोस्टिक्स जवाब:
  • Analytics
विवरण:
SDK टूल, विज्ञापनों के दिखने में लगने वाले समय को मापता है. इससे, प्रॉडक्ट को बेहतर बनाने और उनका आकलन करने में मदद मिलती है. हम क्रैश/गड़बड़ी की रिपोर्ट भी भेजते हैं और ज़रूरत पड़ने पर कभी-कभी दूसरे इंस्ट्रुमेंटेशन भी जोड़ते हैं. ऐसा इसलिए, ताकि हम यह समझ सकें कि पब्लिशर, इस सुविधा का इस्तेमाल कैसे करते हैं.
डिवाइस या अन्य आइडेंटिफ़ायर जवाब:
  • धोखाधड़ी रोकना, सुरक्षा, और नीतियों का पालन
  • विज्ञापन या मार्केटिंग
विवरण:
डिवाइस आईडी का इस्तेमाल, धोखाधड़ी और गलत इस्तेमाल पर नज़र रखने के साथ-साथ विज्ञापन की परफ़ॉर्मेंस का आकलन करने के लिए किया जाता है.