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

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

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

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

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

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

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

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