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

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

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

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

  • कस्टम विज्ञापन का 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();

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

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

customNativeAd.PerformClick("MainImage");

कस्टम क्लिक ऐक्शन का जवाब देना

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

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

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

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

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.");
}