पब्लिशर से मिले सिग्नल

विज्ञापन अनुरोधों में, ऑडियंस और कॉन्टेक्स्ट के हिसाब से डेटा को पब्लिशर से मिले सिग्नल (पीपीएस) के तौर पर भेजा जा सकता है. पीपीएस की मदद से, उपयोगकर्ता आइडेंटिफ़ायर शेयर किए बिना, स्टैंडर्ड टैक्सोनॉमी का इस्तेमाल करके, सभी ट्रांज़ैक्शन टाइप में बिड लगाने वालों को अपनी ऑडियंस की विशेषताओं के बारे में बताकर, प्रोग्रामैटिक तरीके से कमाई करने की सुविधा को बेहतर बनाया जा सकता है. आपकी ऑडियंस की विशेषताओं में, लोगों की गतिविधियों और दिलचस्पी के आधार पर इकट्ठा किया गया डेटा (IAB ऑडियंस टैक्सनॉमी 1.1) और कॉन्टेक्स्ट के हिसाब से इकट्ठा किया गया डेटा (IAB कॉन्टेंट टैक्सनॉमी 2.2) शामिल हो सकता है. पब्लिशर से मिले स्ट्रक्चर्ड सिग्नल भी भेजे जा सकते हैं. ये सिग्नल, Google तय करता है. साथ ही, ज़्यादा सिग्नल भेजने की अनुमति भी देता है.

उपयोगकर्ता सिग्नल का JSON बनाना

सबसे ऊपर, एक की-वैल्यू पेयर वाला JSON ऑब्जेक्ट बनाएं. कुंजी PublisherProvidedTaxonomySignals होनी चाहिए और इसकी वैल्यू, ऑब्जेक्ट की एक कलेक्शन होनी चाहिए. कलेक्शन में मौजूद हर ऑब्जेक्ट में दो की-वैल्यू पेयर होने चाहिए:

  • taxonomy कुंजी, जो यहां दी गई वैल्यू स्वीकार करती है. ये वैल्यू, IAB के इन सार्वजनिक स्पेसिफ़िकेशन के हिसाब से मैप की गई हैं:

    • ऑडियंस टैक्सनॉमी 1.1 के लिए IAB_AUDIENCE_1_1
    • IAB_CONTENT_2_2 कॉन्टेंट टैक्सनॉमी 2.2 के लिए
  • values कुंजी, जिसमें स्ट्रिंग टैक्सोनॉमी वैल्यू का अरे शामिल है.

स्ट्रक्चर्ड सिग्नल का कलेक्शन बनाना

स्ट्रक्चर्ड सिग्नल के लिए, ऑब्जेक्ट के कलेक्शन की वैल्यू के साथ PublisherProvidedStructuredSignals कुंजी जोड़ें. सिग्नल की-वैल्यू की इस सूची के आधार पर ऑब्जेक्ट बनाएं:

स्ट्रक्चर्ड सिग्नल टेबल के व्यू को टॉगल करना

सिग्नल <code" dir="ltr" translate="no">"type" Value</code"> "single_value" की संभावित वैल्यू "values" की संभावित वैल्यू
ऑडियो फ़ीड टाइप "audio_feed"
  • "af_1": संगीत
  • "af_2": ब्रॉडकास्ट
  • "af_3": पॉडकास्ट
लागू नहीं
सामग्री रेटिंग "content_rating"
  • "cr_1": G
  • "cr_2": PG
  • "cr_3": T
  • "cr_4": MA
लागू नहीं
कॉन्टेंट डिलीवरी "delivery" लागू नहीं
  • "cd_1": स्ट्रीमिंग
  • "cd_2": प्रोग्रेसिव
  • "cd_3": डाउनलोड करें
वीडियो की क्वालिटी "prodq"
  • "pq_1": प्रोफ़ेशनल तरीके से तैयार किया गया
  • "pq_2": प्रोसुमर
  • "pq_3": यूज़र जनरेटेड कॉन्टेंट (यूजीसी)
लागू नहीं

नीचे दिया गया उदाहरण देखें, जिसमें टैक्सोनॉमी सिग्नल के लिए IAB_AUDIENCE_1_1 और IAB_CONTENT_2_2 का इस्तेमाल किया गया है. साथ ही, इसमें स्ट्रक्चर्ड सिग्नल भी शामिल हैं.

const userSignals = {
  "PublisherProvidedTaxonomySignals": [{
     "taxonomy": "IAB_AUDIENCE_1_1",
     "values": ["6", "284"]
     // '6' = 'Demographic | Age Range | 30-34'
     // '284' = 'Interest | Business and Finance |  Mergers and Acquisitions'
  },
  {
     "taxonomy": "IAB_CONTENT_2_2",
     "values": ["49", "138"]
     // '49' = 'Books and Literature | Poetry'
     // '138' = 'Education | College Education | College Planning'
  }],
  "PublisherProvidedStructuredSignals": [{
      "type": "audio_feed",
      "single_value": "af_1",
    },
    {
      "type": "delivery",
      "values": ["cd_1", "cd_3"],
    },
  ],
};

विज्ञापन अनुरोध कॉन्फ़िगर करना

अपने AdsRequest के साथ पीपीएस भेजने के लिए, यह तरीका अपनाएं:

  • उपयोगकर्ता की दिलचस्पी, व्यवहार या कॉन्टेक्स्ट के डेटा के साथ JSON स्ट्रिंग बनाएं.
  • ऊपर दी गई JSON स्ट्रिंग से, Base64 में एन्कोड की गई ASCII स्ट्रिंग बनाएं.
  • एन्क्रिप्ट की गई स्ट्रिंग को &ppsj= पैरामीटर के साथ अपने विज्ञापन टैग यूआरएल में जोड़ें.
JSONObject userSignalsObject = new JSONObject();
JSONArray userSignalsArray = new JSONArray();
JSONObject audienceTaxonomyObject = new JSONObject();
JSONArray valuesArray = new JSONArray();
valuesArray.put("1");
valuesArray.put("284");
try {
  audienceTaxonomyObject.put("taxonomy", "IAB_AUDIENCE_1_1");
  audienceTaxonomyObject.put("values", valuesArray);
} catch (JSONException e) {
  e.printStackTrace();
}

userSignalsArray.put(audienceTaxonomyObject);

try {
  userSignalsObject.put("PublisherProvidedTaxonomySignals", userSignalsArray);
} catch (JSONException e) {
  e.printStackTrace();
}

String userSignals = userSignalsObject.toString();

byte[] userSignalsByte=new byte[0];
try {
  userSignalsByte = userSignals.getBytes(StandardCharsets.UTF_8);
  String encodedBas64Signals = android.util.Base64.encodeToString(
    userSignalsByte,
    android.util.Base64.URL_SAFE);
  encodedSignals = URLEncoder.encode(encodedBas64Signals, "UTF-8");
} catch (java.io.UnsupportedEncodingException error) {
  Log.w("Sample app", error);
}

String finalAdTag = sampleAdTag + "&ppsj=" + encodedSignals;