একটি নিরাপদ সিগন্যাল অ্যাডাপ্টার তৈরি করুন

আপনার যদি এমন কোনো সিগন্যাল প্রোভাইডার SDK থাকে যা রিয়েল-টাইম বিডিং (RTB) সিগন্যাল তৈরি করে, তাহলে আপনি একটি সুরক্ষিত সিগন্যাল অ্যাডাপ্টার তৈরি করতে পারেন, যাতে Google Mobile Ads SDK আপনার SDK থেকে সিগন্যাল সংগ্রহ করতে পারে।

Google Mobile Ads SDK আপনার সিগন্যালগুলো নির্বাচিত অংশগ্রহণকারী অনুমোদিত ক্রেতা এবং উন্মুক্ত নিলামের ক্রেতাদের কাছে পাঠিয়ে দেয়।

নিম্নলিখিত ডায়াগ্রামটি নিরাপদ সংকেত সংগ্রহের জন্য অনুরোধ-প্রতিক্রিয়া জীবনচক্রটি চিত্রিত করে:

একটি সুরক্ষিত সিগন্যাল অ্যাডাপ্টার, অ্যাডাপ্টার প্রারম্ভিককরণ এবং সিগন্যাল সংগ্রহের জন্য দায়ী থাকে।

একটি সুরক্ষিত সংকেত অ্যাডাপ্টার বাস্তবায়ন করুন

আপনার SDK থেকে সিগন্যাল সংগ্রহ করার জন্য Google Mobile Ads SDK এর জন্য একটি সুরক্ষিত সিগন্যাল অ্যাডাপ্টার প্রয়োগ করুন।

এই নির্দেশিকায় RtbAdapter অ্যাবস্ট্রাক্ট ক্লাসকে এক্সটেন্ড করে কীভাবে একটি সুরক্ষিত সিগন্যাল অ্যাডাপ্টার ইমপ্লিমেন্ট করতে হয়, তা আলোচনা করা হয়েছে।

নিম্নলিখিত উদাহরণটি RtbAdapter অ্যাবস্ট্রাক্ট ক্লাসকে এক্সটেন্ড করে:

জাভা

public class SampleAdapterSnippets extends RtbAdapter {

অ্যাডাপ্টারটি চালু করুন

যখন গুগল Google Mobile Ads SDK Google Mobile Ads SDK আপনার সিকিওর সিগন্যাল অ্যাডাপ্টার ইনস্ট্যানশিয়েট করে, তখন এটি initialize() মেথডটিকে কল করে। আপনার এসডিকে ইনিশিয়ালাইজ করতে এই মেথডটি ব্যবহার করুন।

যখন আপনার SDK সম্পূর্ণরূপে ইনিশিয়ালাইজ হয়ে যাবে এবং Google Mobile Ads SDK সিগন্যাল সংগ্রহের জন্য প্রস্তুত হবে, তখন InitializationCompleteCallback কলব্যাকটি কল করুন।

যদি আপনার সিকিওর সিগন্যাল অ্যাডাপ্টার কল ব্যাক না করে, তাহলে Google Mobile Ads SDK আপনার সিকিওর সিগন্যাল অ্যাডাপ্টার থেকে সিগন্যাল সংগ্রহ করে না।

নিম্নলিখিত উদাহরণটি আপনার SDK সফলভাবে ইনিশিয়ালাইজ হয়েছে তা Google Mobile Ads SDK জানানোর জন্য কমপ্লিশন কলব্যাককে কল করে:

জাভা

@Override
public void initialize(
    Context context,
    InitializationCompleteCallback initializationCompleteCallback,
    List<MediationConfiguration> configurations) {

  // Add your SDK initialization logic here.

  // Invoke the InitializationCompleteCallback once initialization completes.
  initializationCompleteCallback.onInitializationSucceeded();
}

অ্যাডাপ্টার এবং এসডিকে সংস্করণ রিপোর্ট করুন

আপনার সুরক্ষিত সিগন্যাল অ্যাডাপ্টারকে অবশ্যই আপনার অ্যাডাপ্টার ভার্সন এবং এসডিকে ভার্সন উভয়ই জানাতে হবে। Google Mobile Ads SDK রিপোর্টিং এবং সমস্যা সমাধানের জন্য এই ভার্সনগুলো ব্যবহার করে।

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

নিম্নলিখিত উদাহরণটি আপনার সুরক্ষিত সিগন্যাল অ্যাডাপ্টারের সংস্করণটি ফেরত দেয়:

জাভা

@Override
public VersionInfo getVersionInfo() {
  // If your SDK implements this adapter in the same binary, return
  // the same version as your SDK.
  // return getSDKVersionInfo();

  // If you built a separate binary for this adapter, return
  // the adapter's version here.
  int major = 4;
  int minor = 5;
  int micro = 6;
  return new VersionInfo(major, minor, micro);
}

নিম্নলিখিত উদাহরণটি আপনার SDK-এর সেই সংস্করণটি ফেরত দেয়, যার সাথে আপনার সুরক্ষিত সিগন্যাল অ্যাডাপ্টারটি যোগাযোগ করে:

জাভা

@Override
public VersionInfo getSDKVersionInfo() {

  // Return your SDK's version string here.
  String versionString = SDK_VERSION_STRING;
  String[] splits = versionString.split("\\.");
  if (splits.length >= 3) {
    try {
      int major = Integer.parseInt(splits[0]);
      int minor = Integer.parseInt(splits[1]);
      int micro = Integer.parseInt(splits[2]);
      return new VersionInfo(major, minor, micro);
    } catch (NumberFormatException e) {
      // Fall through to log warning and return 0.0.0.
    }
  }

  Log.w(
      TAG,
      String.format(
          "Unexpected SDK version format: %s. Returning 0.0.0 for SDK version.", versionString));
  return new VersionInfo(0, 0, 0);
}

SDK_VERSION_STRING জায়গায় আপনার SDK ভার্সন স্ট্রিংটি বসান।

সংকেত সংগ্রহ করুন

প্রতিটি বিজ্ঞাপন অনুরোধের ক্ষেত্রে, Google Mobile Ads SDK একটি ব্যাকগ্রাউন্ড থ্রেডে সমস্ত অ্যাডাপ্টার থেকে একযোগে সিগন্যাল সংগ্রহ করে।

নিম্নলিখিত উদাহরণটি SignalCallbacks.onSuccess() মেথডটি কল করার মাধ্যমে সিগন্যাল সংগ্রহ করে এবং Google Mobile Ads SDK তে ফেরত পাঠায়:

জাভা

@Override
public void collectSignals(RtbSignalData rtbSignalData, SignalCallbacks signalCallbacks) {

  // Add your signal collection logic here.
  String signals = SAMPLE_SIGNAL_PLACEHOLDER;

  // Return the signals as a string to the Google Mobile Ads SDK.
  signalCallbacks.onSuccess(signals);
}

SAMPLE_SIGNAL_PLACEHOLDER আপনার সুরক্ষিত সিগন্যাল স্ট্রিং দিয়ে প্রতিস্থাপন করুন।

সিগন্যাল সংগ্রহ অবশ্যই এক সেকেন্ডের মধ্যে সম্পন্ন করতে হবে। যদি সিগন্যাল সংগ্রহে এক সেকেন্ডের বেশি সময় লাগে, তাহলে অ্যাডাপ্টারটি ইনিশিয়ালাইজ করার সময় আপনার সিকিওর সিগন্যাল অ্যাডাপ্টার বা SDK-তে সিগন্যালগুলো ক্যাশ করার কথা বিবেচনা করুন।

যদি আপনার সুরক্ষিত সিগন্যাল অ্যাডাপ্টার সিগন্যাল সংগ্রহ করতে ব্যর্থ হয়, তাহলে signalCallbacks.onFailure() মেথডে একটি ত্রুটি প্রেরণ করুন।

সংকেত অস্পষ্ট করা

যখন আপনি বিডার এবং কিউরেশন পার্টনারদের সাথে সুরক্ষিত সিগন্যাল শেয়ার করেন , তখন আপনাকে অবশ্যই সিগন্যালগুলো অস্পষ্ট করতে হবে।