ডিসপ্লে-টাইপ কাস্টম নেটিভ অ্যাড ফরম্যাট এবং ওপেন মেজারমেন্ট

এই নির্দেশিকা ব্যাখ্যা করে যে কীভাবে কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাটগুলিকে খোলা পরিমাপের সাথে একীভূত করতে হয়।

পূর্বশর্ত

আপনি চালিয়ে যাওয়ার আগে, নিম্নলিখিতগুলি করুন:

ইন্টিগ্রেশন

আপনি যদি কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাটগুলির সাথে খোলা পরিমাপ ব্যবহার করার পরিকল্পনা করেন যাতে কোনও ভিডিও সম্পদ থাকে না, তাহলে আপনি নিজেই Open Measurement API কল করার জন্য দায়ী থাকবেন৷

আপনি যদি একটি ভিডিও সম্পদের সাথে কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাট ব্যবহার করেন, তাহলে আপনাকে এই নির্দেশিকা অনুসরণ করতে হবে না; মোবাইল বিজ্ঞাপন SDK আপনার পক্ষ থেকে ভিডিও সম্পদের দর্শনযোগ্যতা ট্র্যাক করে।

একটি বিজ্ঞাপন লোড করুন

আপনি খোলা পরিমাপ ব্যবহার করছেন বা না করছেন, বিজ্ঞাপন লোড করা একই। এখানে একটি পদ্ধতি রয়েছে যা দেখায় কিভাবে একটি কাস্টম নেটিভ বিজ্ঞাপনের অনুরোধ করতে হয়:

জাভা

private void loadCustomNativeAd(Context context, ViewGroup nativeCustomFormatAdContainer) {

  AdLoader adLoader =
      new AdLoader.Builder(context, "AD_UNIT_ID")
          .forCustomFormatAd(
              "CUSTOM_TEMPLATE_ID",
              new NativeCustomFormatAd.OnCustomFormatAdLoadedListener() {
                @Override
                public void onCustomFormatAdLoaded(@NonNull NativeCustomFormatAd ad) {
                  // Show the ad first and then register your view and begin open measurement.
                  // Make sure to do this on the main thread.

                  // ...
                  // Show ad
                  // ...

                  startOpenMeasurement(ad, nativeCustomFormatAdContainer);
                }
              },
              new NativeCustomFormatAd.OnCustomClickListener() {
                @Override
                public void onCustomClick(NativeCustomFormatAd ad, String assetName) {
                  // Handle the click action
                }
              })
          .build();
  adLoader.loadAd(new AdRequest.Builder().build());
}

কোটলিন

private fun loadCustomNativeAd(context: Context, nativeCustomFormatAdContainer: ViewGroup) {
  val adLoader =
    AdLoader.Builder(context, "AD_UNIT_ID")
      .forCustomFormatAd(
        "CUSTOM_TEMPLATE_ID",
        NativeCustomFormatAd.OnCustomFormatAdLoadedListener { ad ->
          // Show the ad first and then register your view and begin open measurement. Make sure
          // to do this on the main thread.

          // ...
          // Show ad
          // ...

          startOpenMeasurement(ad, nativeCustomFormatAdContainer)
        },
        NativeCustomFormatAd.OnCustomClickListener { ad, assetName ->
          // Handle the click action.
        },
      )
      .build()

  adLoader.loadAd(AdRequest.Builder().build())
}

আপনার বিজ্ঞাপন ইউনিট ID এবং কাস্টম টেমপ্লেট ID দিয়ে AD_UNIT_ID এবং CUSTOM_TEMPLATE_ID প্রতিস্থাপন করুন।

আপনার ভিউ নিবন্ধন করুন এবং পরিমাপ শুরু করুন

একটি কাস্টম নেটিভ বিজ্ঞাপনে খোলা পরিমাপ সক্ষম করতে, প্রথমে বিজ্ঞাপনটি প্রদর্শন করুন এবং তারপর কাস্টম নেটিভ বিজ্ঞাপনের সাথে যুক্ত DisplayOpenMeasurement অবজেক্টের সাথে আপনার কাস্টম বিজ্ঞাপন দৃশ্য নিবন্ধন করুন৷ DisplayOpenMeasurement অবজেক্টটি আপনার কন্টেইনার ভিউকে খোলা পরিমাপের সাথে নিবন্ধন করতে setView() পদ্ধতি প্রদান করে।

আপনার বিজ্ঞাপন পরিমাপ করা শুরু করার জন্য আপনাকে স্পষ্টভাবে SDK-কে বলতে হবে। এটি করার জন্য আপনার কাস্টম নেটিভ বিজ্ঞাপনের DisplayOpenMeasurement অবজেক্টে start() পদ্ধতিতে কল করুন। মূল থ্রেড থেকে start() মেথড কল করতে হবে, এবং পরবর্তী কলের কোন প্রভাব নেই।

এটি দেখতে কেমন তা এখানে রয়েছে:

জাভা

private void startOpenMeasurement(
    NativeCustomFormatAd ad, ViewGroup nativeCustomFormatAdContainer) {
  DisplayOpenMeasurement displayOpenMeasurement = ad.getDisplayOpenMeasurement();
  if (displayOpenMeasurement != null) {
    displayOpenMeasurement.setView(nativeCustomFormatAdContainer);
    displayOpenMeasurement.start();
  }
}

কোটলিন

private fun startOpenMeasurement(
  ad: NativeCustomFormatAd,
  nativeCustomFormatAdContainer: ViewGroup,
) {
  ad.getDisplayOpenMeasurement()?.let { displayOpenMeasurement ->
    displayOpenMeasurement.setView(nativeCustomFormatAdContainer)
    displayOpenMeasurement.start()
  }
}