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

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

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

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

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

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

Google Mobile Ads 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 आपके सुरक्षित सिग्नल अडैप्टर से सिग्नल इकट्ठा नहीं करता है.

यहां दिए गए उदाहरण में, कंप्लीशन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 बैकग्राउंड थ्रेड पर सभी अडैप्टर से एक साथ सिग्नल इकट्ठा करता है.

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

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 को, अपनी सुरक्षित सिग्नल स्ट्रिंग से बदलें.

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

अगर आपका सुरक्षित सिग्नल अडैप्टर, सिग्नल इकट्ठा नहीं कर पाता है, तो कंप्लीशन हैंडलर को 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;
}