ক্রেতা SDK বিজ্ঞাপন বিন্যাস

ক্রেতা SDK বিজ্ঞাপনগুলি আপনার নিজস্ব SDK দ্বারা রেন্ডার করা ক্রিয়েটিভগুলি ব্যবহার করে৷

আপনার বিডিং অ্যাডাপ্টারকে তাদের অ্যাপে সংহত করে এমন প্রকাশকদের থেকে মোবাইল অ্যাপ ইনভেন্টরি ক্রেতা SDK রেন্ডার করা বিজ্ঞাপন ফর্ম্যাটে বিড গ্রহণ করতে পারে। তারা কীভাবে রেন্ডার করবে তা আপনার SDK বাস্তবায়ন এবং বিড প্রতিক্রিয়াতে আপনি SDKRenderedAd জমা দিয়েছেন তার উপর ভিত্তি করে।

আপনি একটি ক্রেতা SDK রেন্ডার করা বিজ্ঞাপন বা Google মোবাইল বিজ্ঞাপন SDK দ্বারা সমর্থিত অন্য কোনো বিজ্ঞাপন বিন্যাস সহ একটি বিড স্থাপন করতে পারেন, তবে উভয় ধারণ করা যেকোনো বিড ফিল্টার করা হয়৷

প্রয়োজনীয়তা

ক্রেতা SDK বিজ্ঞাপন অনুমোদিত ক্রেতাদের জন্য উপলব্ধ। এই বিন্যাসের জন্য আপনার এবং প্রকাশকের কাছ থেকে অতিরিক্ত প্রচেষ্টা প্রয়োজন। ক্রেতা SDK বিজ্ঞাপনের জন্য আপনার অ্যাকাউন্ট কনফিগার করতে আপনার প্রযুক্তিগত অ্যাকাউন্ট পরিচালকের সাথে যোগাযোগ করুন৷ তারপরে আপনি একটি বিডিং অ্যাডাপ্টার প্রয়োগ করতে পারেন যা আপনার SDK কে Google মোবাইল বিজ্ঞাপন SDK-এর সাথে যোগাযোগ করতে সক্ষম করে৷ প্রকাশককে তাদের মোবাইল অ্যাপে আপনার SDK এবং অ্যাডাপ্টার একত্রিত করতে হবে।

আমরা সুপারিশ করি যে আপনি ক্রিয়েটিভগুলিকে বিড প্রতিক্রিয়াতে অন্তর্ভুক্ত করার আগে পর্যালোচনার জন্য জমা দিন ৷ আপনি যদি বিডের সময় সৃজনশীল প্রকারটি না জানেন তাহলে আপনার প্রযুক্তিগত অ্যাকাউন্ট ম্যানেজারের সাথে যোগাযোগ করুন৷

যদি একটি বিড অনুরোধ এই বিজ্ঞাপন ফর্ম্যাটটিকে সমর্থন করে, আপনি বিড প্রতিক্রিয়াতে sdk_rendered_ad ক্ষেত্র সেট করে আপনার SDK-এর সাথে রেন্ডার করা একটি বিজ্ঞাপন নির্দিষ্ট করতে পারেন।

বিড অনুরোধ

মোবাইল অ্যাপ ইনভেন্টরির জন্য বিডের অনুরোধে প্রকাশকের অ্যাপে SDK এবং অ্যাডাপ্টার সম্পর্কে বিশদ বিবরণ রয়েছে যা আপনি নিম্নলিখিত ক্ষেত্রগুলিতে রেন্ডারিংয়ের জন্য ব্যবহার করতে পারেন:

SDK আইডি

একজন ক্রেতা SDK রেন্ডার করা বিজ্ঞাপনের জন্য বিড প্রতিক্রিয়াতে আপনাকে অবশ্যই যে id প্রদান করতে হবে তা খুঁজে পেতে আপনি বিড অনুরোধটি ব্যবহার করতে পারেন।

নিম্নলিখিত ক্ষেত্রগুলি দেখুন:

  • অনুমোদিত ক্রেতা: BidRequest.mobile.installed_sdk
  • OpenRTB: BidRequest.app.ext.installed_sdk

আপনি Google এবং OpenRTB প্রোটোকল গাইডগুলিতে InstalledSdk বার্তা সম্পর্কে আরও জানতে পারেন।

বিজ্ঞাপন ইউনিট ম্যাপিং

আপনি বিড স্লটের সাথে মেলে এমন বিজ্ঞাপন ইউনিট ম্যাপিং পড়তে বিড অনুরোধটি ব্যবহার করতে পারেন।

নিম্নলিখিত ক্ষেত্রগুলি দেখুন:

  • অনুমোদিত ক্রেতা: BidRequest.AdSlot.ad_unit_mapping
  • OpenRTB: BidRequest.imp.ext.ad_unit_mapping

আপনি Google এবং OpenRTB প্রোটোকল গাইডে AdUnitMapping অবজেক্ট সম্পর্কে আরও জানতে পারেন।

সিকিউর সিগন্যাল

আপনার এক্সটেন্ডেড আইডি অবজেক্টটি পড়া উচিত যা প্রকাশকের দ্বারা নির্বাচিত সুরক্ষিত সংকেত পাস করার জন্য ব্যবহৃত স্ট্যান্ডার্ড এক্সটেনশন।

নিম্নলিখিত ক্ষেত্রগুলি দেখুন:

  • অনুমোদিত ক্রেতা: BidRequest.AdSlot.SecureSignal.data
  • OpenRTB: BidRequest.user.ext.eids.uids.id

আপনি Google এবং OpenRTB প্রোটোকল গাইডে Extended Id অবজেক্ট সম্পর্কে আরও জানতে পারেন।

পরীক্ষার অনুরোধ

বিড অনুরোধটি একটি পরীক্ষা কিনা তা বোঝার জন্য আপনি পরীক্ষার অনুরোধ ক্ষেত্রটি পড়তে পারেন।

নিম্নলিখিত ক্ষেত্রগুলি দেখুন:

  • অনুমোদিত ক্রেতা: BidRequest.is_test
  • OpenRTB: BidRequest.test

আপনি Google এবং OpenRTB প্রোটোকল গাইডে Test ক্ষেত্র সম্পর্কে আরও জানতে পারেন।

নমুনা বিড অনুরোধ

id: "<bid_request_id>"
imp {
  id: "1"
  banner {
    w: 320
    h: 50
    ...
  }
...
  adx_ext {
   ...
    ad_unit_mapping {
      keyvals {
        key: "key_1"
        value: "value_1"
      }
      keyvals {
        key: "key_2"
        value: "value_2"
      }
      ...
      format: FORMAT_BANNER
    }
  }
}
app {
 ...
  adx_ext {
    installed_sdk {
      id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
      sdk_version {
        major: 1
        minor: 2
        micro: 30
      }
      adapter_version {
        major: 1
        minor: 2
        micro: 3000
      }
    }
    installed_sdk {
    ...
    }
    ...
  }
}
device {
  ...
}
user {
  ...
  }
  adx_ext {
    eids {
      source: "com.google.ads.mediation.partner.PartnerMediationAdapter"
      uids {
        id: "<partner_signal_string>"
      }
    }
  }
}
at: 1
tmax: 1000
cur: "USD"
test: 1
...
adx_ext {
  google_query_id: "<query_string>"
  ...
}

বিড প্রতিক্রিয়া

আসন বিড

BidResponse.seatbid.bid অবজেক্টে নিম্নলিখিত ক্ষেত্রগুলি প্রয়োজন:

  • অনুমোদিত ক্রেতা:

    • BidResponse.Ad.click_through_url
    • BidResponse.Ad.AdSlot.billing_id
    • BidResponse.Ad.buyer_creative_id
    • BidResponse.Ad.width
    • BidResponse.Ad.height
  • OpenRTB:

    • BidResponse.seatbid.bid.adomain
    • BidResponse.seatbid.bid.cid
    • BidResponse.seatbid.bid.crid
    • BidResponse.seatbid.bid.w
    • BidResponse.seatbid.bid.h

আপনি Google এবং OpenRTB প্রোটোকল গাইডে SeatBid বার্তা সম্পর্কে আরও জানতে পারেন।

আপনার বিড প্রতিক্রিয়াতে অবশ্যই নিম্নলিখিতগুলির সাথে একটি SdkRenderedAd অন্তর্ভুক্ত করতে হবে:

SDK আইডি

বিজ্ঞাপন রেন্ডার করার জন্য SDK-এর জন্য ID প্রদান করতে id ক্ষেত্রটি ব্যবহার করুন।

আপনি নিম্নলিখিত ক্ষেত্রগুলির সাথে বিড অনুরোধে আইডিটি খুঁজে পেতে পারেন:

  • অনুমোদিত ক্রেতা: BidRequest.mobile.installed_sdk
  • OpenRTB: BidRequest.app.ext.installed_sdk

আপনি Google এবং OpenRTB প্রোটোকল গাইডগুলিতে InstalledSdk বার্তা সম্পর্কে আরও জানতে পারেন।

ঘোষিত বিজ্ঞাপন

বিড অনুরোধের CreativeEnforcementSettings প্রয়োজনীয়তা পূরণ করে এবং বিজ্ঞাপনের রেন্ডারিং ডেটার প্রতিনিধিত্ব করে এমন একটি সৃজনশীল প্রদান করতে একটি declared_ad ক্ষেত্র ব্যবহার করুন। নন-নেটিভ অ্যাড ফরম্যাটের জন্য, শুধুমাত্র html_snippet , video_url , বা video_vast_xml এর একটি উপস্থাপন করা উচিত। নেটিভ বিজ্ঞাপন ফর্ম্যাটের জন্য, শুধুমাত্র native_response উপস্থাপন করা উচিত।

আপনি declared_ad না করলে, আমরা সৃজনশীল পর্যালোচনা করতে অক্ষম এবং সৃজনশীলের সাথে সমস্ত বিড নিলাম থেকে ফিল্টার করা হয়।

রেন্ডারিং ডেটা

আপনার বিজ্ঞাপন রেন্ডার করার জন্য ক্রেতা SDK-এর ডেটা সরবরাহ করতে rendering_data ক্ষেত্রটি ব্যবহার করুন৷

  • অনুমোদিত ক্রেতা: BidResponse.ad.sdk_rendered_ad.rendering_data
  • OpenRTB: BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data

একটি ক্রেতা SDK বিজ্ঞাপন স্থাপনের জন্য বিড অবশ্যই declared_ad ক্ষেত্রে একটি সৃজনশীল উল্লেখ করতে হবে। ঘোষিত বিজ্ঞাপনটি অবশ্যই সঠিকভাবে rendering_data প্রতিনিধিত্ব করবে।

এখানে SdkRenderedAd অবজেক্টের একটি নমুনা রয়েছে:

{
  "id": "1234567",
  "rendering_data": "\xd58...,\xd4\x89\xd\xf9",
  "declared_ad": {
    "html_snippet": "<iframe src=\"https://example.com/ads?id=123&
      curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>",
  }
}

ক্রিয়েটিভগুলিকে বিড প্রতিক্রিয়াতে অন্তর্ভুক্ত করার আগে পর্যালোচনার জন্য জমা দিতে আমরা রিয়েল-টাইম বিডিং API ব্যবহার করার পরামর্শ দিই।

SdkRenderedAd ক্ষেত্রগুলিতে আরও বিশদ বিবরণের জন্য Google এবং OpenRTB প্রোটোকল গাইড দেখুন৷

নমুনা বিড প্রতিক্রিয়া

এখানে প্রতিটি বিজ্ঞাপন বিন্যাসের জন্য নমুনা বিড প্রতিক্রিয়া আছে:

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 99
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 320
    h: 50
    burl: "https://abc.com/billing?td=fn&win_price=${AUCTION_PRICE}"
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          html_snippet: "<!doctype html> <html> ... </html>"
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
      billing_id: 141763360450
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

কৌশলে

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 400
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 412
    h: 775
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          video_vast_xml: "<VAST version=\"2.0\"><Ad>...</Ad></VAST>"
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

পুরস্কৃত ভিডিও

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 400
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 412
    h: 775
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          video_vast_xml: "<VAST version=\"2.0\"><Ad>...</Ad></VAST>"
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

স্থানীয়

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 400
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 1200
    h: 627
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          native_response {
            ...
            assets {
              id: 1
              title {
                text: ""
              }
            }
            assets {
              id: 2
              data {
                value: "<some_string>"
              }
            }
            assets {
              id: 3
              data {
                value: "View now"
              }
            }
            assets {
              id: 4
              img {
                url: "<valid_image_url>"
                w: 1200
                h: 627
                type: 3
              }
            }
            assets {
              id: 5
              img {
                url: "<valid_image_url>"
                w: 100
                h: 100
                type: 1
              }
            }
            assets {
              id: 6
              data {
                value: ""
              }
            }
            assets {
              id: 7
              data {
                value: "<some_string>"
              }
            }
            link {
              url: "<destination_link>"
            }
          }
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

সৃজনশীল পর্যালোচনা

ক্রিয়েটিভগুলি আমাদের নীতি এবং প্রকাশক সেটিংস পূরণ করে তা নিশ্চিত করার জন্য পরিবেশন করার আগে তাদের পর্যালোচনা করা হয়।

এখানে দুটি উপায়ে আপনি পর্যালোচনার জন্য ক্রিয়েটিভ জমা দিতে পারেন:

রিয়েল-টাইম বিডিং API (প্রস্তাবিত)

পর্যালোচনার জন্য ক্রিয়েটিভ জমা দিতে আপনি রিয়েল-টাইম বিডিং API-এর buyers.creatives.create পদ্ধতি ব্যবহার করতে পারেন।

API-এর প্রতি ক্রিয়েটিভের জন্য শুধুমাত্র একটি জমা দিতে হবে এবং আপনাকে আপনার ক্রিয়েটিভের পর্যালোচনার স্থিতি পরীক্ষা করতে দেয়।

বিড প্রতিক্রিয়া

আপনি বিড প্রতিক্রিয়ায় সরাসরি নতুন ক্রিয়েটিভ জমা দিতে পারেন।

পর্যালোচনার জন্য একজন ক্রেতা SDK ক্রিয়েটিভের সাথে একটি বিড প্রতিক্রিয়া জমা দিতে আপনাকে অবশ্যই SdkRenderedAd অবজেক্টের declared_ad ক্ষেত্রটি ব্যবহার করতে হবে।

বিড প্রতিক্রিয়া জমা দেওয়া ক্রিয়েটিভগুলি শুধুমাত্র অনেক বিডের পরে পর্যালোচনা করা হয়। পর্যালোচনা সম্পূর্ণ হওয়ার আগে স্থাপন করা সমস্ত বিড নিলাম থেকে ফিল্টার করা হয়। আপনি রিয়েল-টাইম বিডিং ইন্টারফেস বা রিয়েল-টাইম বিডিং এপিআই ব্যবহার করতে পারেন রিভিউ শুরু হওয়ার পর ক্রিয়েটিভের স্থিতি পরীক্ষা করতে।

আরো বিস্তারিত জানার জন্য ক্রিয়েটিভ গাইড দেখুন।