पसंद के मुताबिक नेटिव विज्ञापन फ़ॉर्मैट

Ad Manager प्रकाशकों के पास एसेट की कस्टम सूचियां तय करके अपने निजी विज्ञापन फ़ॉर्मैट बनाने का विकल्प होता है. इन्हें कस्टम नेटिव विज्ञापन फ़ॉर्मैट कहा जाता है. इनका इस्तेमाल रिज़र्व विज्ञापनों के साथ किया जा सकता है. कस्टम नेटिव विज्ञापनों की मदद से, प्रकाशक अपने ऐप्लिकेशन में आर्बिट्ररी इमेज और स्ट्रिंग डेटा पास कर सकते हैं. इस डेटा को CustomNativeAd ऑब्जेक्ट से दिखाया जाता है.

कस्टम नेटिव विज्ञापन लोड करें

कस्टम नेटिव विज्ञापन AdLoader ऑब्जेक्ट का इस्तेमाल करके लोड किए जाते हैं. ForCustomNativeAd() तरीका कस्टम नेटिव विज्ञापनों को मैनेज करने के लिए AdLoader को कॉन्फ़िगर करता है. इस तरीके के लिए दो पैरामीटर दिए गए हैं:

  • कस्टम विज्ञापन का वह formatId जिसे AdLoader को अनुरोध करना चाहिए. हर कस्टम नेटिव विज्ञापन फ़ॉर्मैट के साथ, फ़ॉर्मैट आईडी की वैल्यू जुड़ी होती है. यह पैरामीटर बताता है कि आपका ऐप्लिकेशन AdLoader को किस फ़ॉर्मैट का अनुरोध करना चाहता है.
  • जब उपयोगकर्ता विज्ञापन पर क्लिक करता है, तब Action<CustomNativeAd, string> लागू करना ज़रूरी नहीं है.

कस्टम नेटिव विज्ञापन, AdLoader क्लास के ज़रिए लोड किए जाते हैं. कॉन्टेंट को बनाने के दौरान इसे पसंद के मुताबिक बनाने के लिए, इस क्लास की अपनी AdLoader.Builder क्लास होती है. ForCustomNativeAd() तरीके से, नेटिव विज्ञापनों को हैंडल करने के लिए AdLoader को कॉन्फ़िगर किया जाता है.

void LoadCustomNativeAd()
{
    AdLoader adLoader = new AdLoader.Builder("/6499/example/native")
            .ForCustomNativeAd("10063170")
            .Build();
    adLoader.LoadAd(new AdRequest.Builder().Build());
}

एक से ज़्यादा कस्टम नेटिव विज्ञापन फ़ॉर्मैट दिखाने के लिए, एक विज्ञापन यूनिट को सेट अप किया जा सकता है. ऐसे में, ForCustomNativeAd() को अलग-अलग फ़ॉर्मैट आईडी के साथ कई बार कॉल किया जा सकता है, ताकि विज्ञापन लोडर को एक से ज़्यादा कस्टम नेटिव विज्ञापन फ़ॉर्मैट के लिए तैयार किया जा सके.

कस्टम नेटिव विज्ञापन के इवेंट

AdLoader कक्षा, EventHandler कस्टम टाइप के विज्ञापन इवेंट की जानकारी देती है. इससे, आपको कस्टम नेटिव विज्ञापन की लाइफ़साइकल के बारे में जानकारी मिलती है. नीचे दिए गए उदाहरण में, विज्ञापन लोड करने वाले टूल पर कस्टम नेटिव विज्ञापन इवेंट के लिए रजिस्टर करने का तरीका बताया गया है:

private AdLoader adLoader;
adLoader.OnCustomNativeAdLoaded += HandleCustomNativeAdLoaded;
adLoader.OnAdFailedToLoad += HandleCustomNativeAdFailedToLoad;

HandleCustomNativeAdLoaded() तरीके में एक CustomNativeAdEventArgs पैरामीटर शामिल होता है. लोड किए गए कस्टम नेटिव विज्ञापन को इस इवेंट पैरामीटर से ऐक्सेस किया जा सकता है, जैसा कि नीचे दिखाया गया है:

void HandleCustomNativeAdLoaded(object sender, CustomNativeAdEventArgs args)
{
    this.customNativeAd = args.nativeAd;
}

HandleCustomNativeAdFailedToLoad() तरीके में एक AdFailedToLoadEventArgs पैरामीटर शामिल है. गड़बड़ी का मैसेज, LoadAdError फ़ील्ड में GetMessage तरीके से कॉल करके देखा जा सकता है, जैसा कि यहां दिखाया गया है:

void HandleCustomNativeAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    string message = args.LoadAdError.GetMessage();
    Debug.Log("Ad Loader fail event received with message: " + message);
}

कस्टम नेटिव विज्ञापन फ़ॉर्मैट दिखाएं

कस्टम नेटिव विज्ञापन किसी भी उपयोगकर्ता की ओर से तय की गई इमेज और टेक्स्ट एसेट के लिए सहायता उपलब्ध कराते हैं. इन एसेट को CustomNativeAd क्लास से ऐक्सेस किया जाता है. इससे आपको GetTexture2D() और GetText() के तरीके मिलते हैं, जो फ़ॉर्मैट फ़ील्ड के वैरिएबल आईडी को पैरामीटर के तौर पर लेते हैं.

यहां एक उदाहरण दिया गया है, जिसमें कस्टम नेटिव विज्ञापन से एसेट ऐक्सेस करने का उदाहरण दिया गया है:

private bool adLoaded;
private Texture2D mainImageTexture;
private string headline;
private CustomNativeAd customNativeAd;
...

void Update()
{
    if(adLoaded)
    {
        mainImageTexture = customNativeAd.GetTexture2D("MainImage");
        headline = customNativeAd.GetText("Headline");
        adLoaded = false;
    }
}
...
void HandleCustomNativeAdLoaded(object sender, CustomNativeAdEventArgs args)
{
    customNativeAd = args.nativeAd;
    adLoaded = true;
    ...
}

कस्टम नेटिव विज्ञापन के इंप्रेशन और क्लिक को हैंडल करें

कस्टम नेटिव विज्ञापन के साथ, आपके ऐप्लिकेशन पर SDK टूल के लिए इंप्रेशन और क्लिक इवेंट की रिपोर्ट करने की ज़िम्मेदारी आपकी है.

इंप्रेशन रिकॉर्ड करें

कस्टम विज्ञापन के लिए इंप्रेशन रिकॉर्ड करने के लिए, संबंधित CustomNativeAd पर RecordImpression() तरीका कॉल करें:

customNativeAd.RecordImpression();

रिपोर्ट क्लिक

SDK टूल को यह बताने के लिए कि किसी एसेट पर क्लिक हुआ है, उससे जुड़े CustomNativeAd पर PerformClick() तरीके को कॉल करें और क्लिक की गई एसेट का नाम पास करें. उदाहरण के लिए, अगर आपके पास अपने कस्टम फ़ॉर्मैट में कोई एसेट है, जिसका नाम "MainImage" है और आप उस एसेट से जुड़ी बनावट पर क्लिक की रिपोर्ट करना चाहते हैं, तो आपका कोड कुछ ऐसा दिखेगा:

customNativeAd.PerformClick("MainImage");

कस्टम क्लिक कार्रवाइयों का जवाब देना

जब किसी कस्टम विज्ञापन पर क्लिक रिपोर्ट किया जाता है, तो SDK टूल से इस तरह के नतीजे मिल सकते हैं:

  1. विज्ञापन के डीप लिंक यूआरएल के लिए, कॉन्टेंट रिज़ॉल्वर का पता लगाएं और रिज़ॉल्व करने वाले पहले यूआरएल को शुरू करें.

  2. ब्राउज़र खोलें और विज्ञापन के पुराने डेस्टिनेशन यूआरएल (विज्ञापन के लैंडिंग पेज का यूआरएल) पर जाएं.

अगर आप उपयोगकर्ता को डीप लिंक या वेब ब्राउज़र पर ले जाने के बजाय, अपने कस्टम नेटिव विज्ञापन फ़ॉर्मैट की क्लिक कार्रवाई को खुद मैनेज करना चाहते हैं, तो AdLoader.Builder.ForCustomNativeAd() तरीके में एक वैकल्पिक Action<CustomNativeAd, string> दें. इस कस्टम क्लिक कार्रवाई को सेट करके, आप SDK टूल के क्लिक व्यवहार को बदल रहे हैं. यहां एक उदाहरण दिया गया है, जो किसी दी गई एसेट के लिए क्लिक को लॉग करने के लिए, कस्टम क्लिक ऐक्शन का इस्तेमाल करता है:

private void LoadCustomNativeAd()
{
    AdLoader adLoader = new AdLoader.Builder("/6499/example/native")
            .ForCustomNativeAd("10063170", HandleCustomNativeAdClicked)
            .Build();
    adLoader.OnCustomNativeAdLoaded += HandleCustomNativeAdLoaded;
    adLoader.LoadAd(createAdRequest());
}

private void HandleCustomNativeAdClicked(CustomNativeAd customNativeAd, string assetName)
{
    Debug.Log("Custom Native ad asset with name " + assetName + " was clicked.");
}