विज्ञापन अनुरोधों में, ऑडियंस और काम के डेटा को पब्लिशर से मिले सिग्नल (पीपीएस) के तौर पर भेजा जा सकता है. पीपीएस की मदद से, प्रोग्रामैटिक तरीके से कमाई करने की सुविधा को बेहतर बनाने के लिए, अपने उपयोगकर्ता डेटा का इस्तेमाल किया जा सकता है. इसके लिए, आपको स्टैंडर्ड टैक्सोनॉमी का इस्तेमाल करके, सभी ट्रांज़ैक्शन टाइप में बिड करने वालों को अपनी ऑडियंस की विशेषताओं के बारे में बताना होगा. इसके लिए, आपको उपयोगकर्ता आइडेंटिफ़ायर शेयर करने की ज़रूरत नहीं होगी. आपकी ऑडियंस की विशेषताओं में, लोगों की गतिविधियों और दिलचस्पी के आधार पर इकट्ठा किया गया डेटा (IAB ऑडियंस टैक्सनॉमी 1.1) और कॉन्टेक्स्ट के हिसाब से इकट्ठा किया गया डेटा (IAB कॉन्टेंट टैक्सनॉमी 2.2) शामिल हो सकता है. पब्लिशर से मिले स्ट्रक्चर्ड सिग्नल भी भेजे जा सकते हैं. ये सिग्नल, Google तय करता है. साथ ही, इनसे ज़्यादा सिग्नल भेजने की अनुमति मिलती है.
उपयोगकर्ता सिग्नल का JSON बनाना
सबसे ऊपर, एक की-वैल्यू पेयर वाला JSON ऑब्जेक्ट बनाएं. कुंजी
PublisherProvidedTaxonomySignals
होनी चाहिए और इसकी वैल्यू ऑब्जेक्ट का कलेक्शन होनी चाहिए. कलेक्शन में मौजूद हर ऑब्जेक्ट में दो की-वैल्यू पेयर होने चाहिए:
taxonomy
कुंजी, जो नीचे दी गई वैल्यू को स्वीकार करती है. इन्हें IAB की सार्वजनिक विशेषताओं के मुताबिक मैप किया जाता है:- ऑडियंस टैक्सनॉमी 1.1 के लिए
IAB_AUDIENCE_1_1
IAB_CONTENT_2_2
कॉन्टेंट टैक्सनॉमी 2.2 के लिए
- ऑडियंस टैक्सनॉमी 1.1 के लिए
values
कुंजी, जिसमें स्ट्रिंग टैक्सोनॉमी वैल्यू का अरे शामिल है.
स्ट्रक्चर्ड सिग्नल अरे बनाना
स्ट्रक्चर्ड सिग्नल के लिए, ऑब्जेक्ट के कलेक्शन की वैल्यू के साथ PublisherProvidedStructuredSignals
कुंजी जोड़ें. सिग्नल की-वैल्यू की इस सूची के आधार पर ऑब्जेक्ट बनाएं:
स्ट्रक्चर्ड सिग्नल टेबल के व्यू को टॉगल करना
सिग्नल | <code" dir="ltr" translate="no">"type" Value</code"> | "single_value" की संभावित वैल्यू |
"values" की संभावित वैल्यू |
---|---|---|---|
ऑडियो फ़ीड टाइप | "audio_feed" |
|
लागू नहीं |
सामग्री रेटिंग | "content_rating" |
|
लागू नहीं |
कॉन्टेंट डिलीवरी | "delivery" |
लागू नहीं |
|
प्रोडक्शन क्वालिटी | "prodq" |
|
लागू नहीं |
नीचे दिया गया उदाहरण देखें, जो टेक्सॉनमी सिग्नल के लिए 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"],
},
],
};
स्ट्रीम के अनुरोध को कॉन्फ़िगर करें
अपने StreamRequest
के साथ पीपीएस भेजने के लिए, यह तरीका अपनाएं:
- उपयोगकर्ता की दिलचस्पी, व्यवहार या कॉन्टेक्स्ट के डेटा के साथ JSON स्ट्रिंग बनाएं.
- ऊपर दी गई JSON स्ट्रिंग से, Base64 कोड में बदली गई ASCII स्ट्रिंग बनाएं.
StreamRequest.setAdTagParameters
का इस्तेमाल करके, कोड में बदला गया JSON जोड़ें.
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();
}
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);
}
Map<String, String> adTagParamMap = new java.util.HashMap<String, String>();
adTagParamMap.put("ppsj", encodedSignals);
streamRequest.setAdTagParameters(adTagParamMap)