सुरक्षित सिग्नल अडैप्टर डेवलप करना

अगर आपके पास सिग्नल देने वाला ऐसा SDK टूल है जो रीयल-टाइम बिडिंग (आरटीबी) सिग्नल जनरेट करता है, तो सुरक्षित सिग्नल अडैप्टर बनाया जा सकता है. इससे Google Mobile Ads SDK आपके SDK टूल से सिग्नल इकट्ठा कर पाएगा.

Google Mobile Ads SDK आपके सिग्नल को, Authorized Buyers और Open Bidding में हिस्सा लेने वाले चुनिंदा खरीदारों को फ़ॉरवर्ड करता है.

इस डायग्राम में, सुरक्षित सिग्नल कलेक्शन के लिए अनुरोध-जवाब के लाइफ़साइकल को दिखाया गया है:

सुरक्षित सिग्नल अडैप्टर, अडैप्टर को शुरू करने और सिग्नल इकट्ठा करने के लिए ज़िम्मेदार होता है.

सुरक्षित सिग्नल अडैप्टर लागू करना

अपने SDK टूल से सिग्नल इकट्ठा करने के लिए, Google Mobile Ads SDK के लिए सुरक्षित सिग्नल अडैप्टर लागू करें.

इस गाइड में, RtbAdapter ऐब्स्ट्रैक्ट क्लास को बढ़ाकर, सुरक्षित सिग्नल अडैप्टर को लागू करने का तरीका बताया गया है.

यहां दिए गए उदाहरण में, RtbAdapter ऐब्स्ट्रैक्ट क्लास को बढ़ाया गया है:

Java

public class SampleAdapterSnippets extends RtbAdapter {

अडैप्टर को शुरू करना

Google Mobile Ads SDK, initialize() तरीके को कॉल करता है, जब Google Mobile Ads SDK आपके सुरक्षित सिग्नल अडैप्टर को इंस्टैंशिएट करता है. एसडीके को शुरू करने के लिए, इस तरीके का इस्तेमाल करें.

जब आपका एसडीके पूरी तरह से शुरू हो जाए और Google Mobile Ads SDK के सिग्नल इकट्ठा करने के लिए तैयार हो जाए, तब InitializationCompleteCallback कॉलबैक को कॉल करें.

अगर आपका सिक्योर सिग्नल अडैप्टर वापस कॉल नहीं करता है, तो Google Mobile Ads SDK आपके सिक्योर सिग्नल अडैप्टर से सिग्नल इकट्ठा नहीं करता है.

यहां दिए गए उदाहरण में, पूरा होने पर कॉल किए जाने वाले कॉलबैक का इस्तेमाल किया गया है. इससे Google Mobile Ads SDK को यह सूचना मिलती है कि आपका एसडीके शुरू हो गया है:

Java

@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 इन वर्शन का इस्तेमाल रिपोर्टिंग और समस्या हल करने के लिए करता है.

अगर आपका एसडीके, इस अडैप्टर को एक ही बाइनरी में लागू करता है, तो अडैप्टर और एसडीके, दोनों के वर्शन के लिए एक ही वर्शन दिखाया जा सकता है.

यहां दिए गए उदाहरण में, आपके सुरक्षित सिग्नल अडैप्टर का वर्शन दिखाया गया है:

Java

@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);
}

यहां दिए गए उदाहरण में, आपके एसडीके का वह वर्शन दिखाया गया है जिससे आपका सुरक्षित सिग्नल अडैप्टर इंटरैक्ट करता है:

Java

@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 को अपने एसडीके वर्शन स्ट्रिंग से बदलें.

सिग्नल इकट्ठा करना

हर विज्ञापन अनुरोध पर, Google Mobile Ads SDK बैकग्राउंड थ्रेड पर सभी अडैप्टर से एक साथ सिग्नल इकट्ठा करता है.

यहां दिए गए उदाहरण में, SignalCallbacks.onSuccess() तरीके को कॉल करके, Google Mobile Ads SDK के लिए सिग्नल इकट्ठा किए जाते हैं और उन्हें वापस भेजा जाता है:

Java

@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() तरीके में गड़बड़ी की जानकारी दें.

सिग्नल को छिपाना

बिड लगाने वालों और क्यूरेशन पार्टनर के साथ सुरक्षित सिग्नल शेयर करते समय, आपको सिग्नल को अस्पष्ट करना होगा.