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

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

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

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

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

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

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

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

यहां दिए गए उदाहरण में, GADRTBAdapter प्रोटोकॉल को लागू करने का तरीका बताया गया है:

Objective-C

@interface SampleAdapterSnippets : NSObject <GADRTBAdapter>
@end

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

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

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

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

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

Objective-C

+ (void)setUpWithConfiguration:(GADMediationServerConfiguration *)configuration
             completionHandler:(GADMediationAdapterSetUpCompletionBlock)completionHandler {
  // Add your SDK initialization logic here.

  // Invoke the completionHandler once initialization completes. Pass a nil
  // error to indicate initialization succeeded.
  completionHandler(nil);
}

अडैप्टर और एसडीके के वर्शन की शिकायत करना

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

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

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

Objective-C

+ (GADVersionNumber)adapterVersion {
  // If your secure signals SDK implements this adapter in the same binary
  // return the same version as your SDK.
  // return [self adSDKVersion];

  // If you built a separate binary for this secure signals adapter, return
  // the adapter's version here.
  GADVersionNumber version = {};
  version.majorVersion = 4;
  version.minorVersion = 5;
  version.patchVersion = 6;
  return version;
}

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

Objective-C

+ (GADVersionNumber)adSDKVersion {
  // Return your SDK's version string here.
  NSString *versionString = kSDKVersionString;
  NSArray<NSString *> *components = [versionString componentsSeparatedByString:@"."];
  GADVersionNumber version = {};
  if (components.count == 3) {
    version.majorVersion = components[0].integerValue;
    version.minorVersion = components[1].integerValue;
    version.patchVersion = components[2].integerValue;
  } else {
    NSLog(@"Unexpected version string: %@. Returning 0.0.0 for adSDKVersion.", versionString);
  }
  return version;
}

kSDKVersionString को अपने एसडीके वर्शन स्ट्रिंग से बदलें.

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

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

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

Objective-C

- (void)collectSignalsForRequestParameters:(GADRTBRequestParameters *)params
                         completionHandler:(GADRTBSignalCompletionHandler)handler {
  // Add your signal collection logic here.
  NSString *signals = kSampleSignalPlaceholder;

  // Return the signals as a string to the Google Mobile Ads SDK.
  handler(signals, nil);
}

kSampleSignalPlaceholder की जगह अपनी सुरक्षित सिग्नल स्ट्रिंग डालें.

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

अगर आपका सुरक्षित सिग्नल अडैप्टर, सिग्नल इकट्ठा नहीं कर पाता है, तो nil सिग्नल और NSError ऑब्जेक्ट के साथ, पूरा होने वाले हैंडलर को कॉल करें.

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

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

विज्ञापन नेटवर्क के एक्सट्रा के लिए nil वैल्यू दिखाता है

सुरक्षित सिग्नल अडैप्टर के लिए, नेटवर्क के अतिरिक्त पैरामीटर की ज़रूरत नहीं होती.

यहां दिए गए उदाहरण में, +networkExtrasClass तरीके से nil वैल्यू मिलती है:

Objective-C

+ (nullable Class<GADAdNetworkExtras>)networkExtrasClass {
  // Network extras are not applicable because signal providers do not request ads.
  return nil;
}