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

साथ ही, अपने खाता मैनेजर को इसकी सूचना दें.

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

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

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

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

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

void LoadCustomNativeAd()
{
    AdLoader adLoader = new AdLoader.Builder("/21775744923/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();

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

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

customNativeAd.PerformClick("MainImage");

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

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

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

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

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

private void LoadCustomNativeAd()
{
    AdLoader adLoader = new AdLoader.Builder("/21775744923/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.");
}