Phát triển một bộ điều hợp tín hiệu an toàn

Nếu có một SDK nhà cung cấp tín hiệu tạo ra các tín hiệu đặt giá thầu theo thời gian thực (RTB), bạn có thể phát triển một bộ chuyển đổi tín hiệu an toàn để cho phép Google Mobile Ads SDK thu thập tín hiệu từ SDK của bạn.

Google Mobile Ads SDK chuyển tiếp tín hiệu của bạn đến một số Authorized Buyers và người mua Đặt giá thầu mở tham gia.

Sơ đồ sau đây minh hoạ vòng đời yêu cầu-phản hồi để thu thập tín hiệu an toàn:

Bộ chuyển đổi tín hiệu an toàn chịu trách nhiệm về việc khởi chạy bộ chuyển đổi và thu thập tín hiệu.

Triển khai bộ chuyển đổi tín hiệu an toàn

Triển khai bộ chuyển đổi tín hiệu an toàn cho Google Mobile Ads SDK để thu thập tín hiệu từ SDK của bạn.

Hướng dẫn này trình bày cách triển khai bộ điều hợp tín hiệu an toàn bằng cách triển khai giao thức GADRTBAdapter.

Ví dụ sau đây triển khai giao thức GADRTBAdapter:

Objective-C

@interface SampleAdapterSnippets : NSObject <GADRTBAdapter>
@end

Khởi chạy bộ chuyển đổi

Google Mobile Ads SDK gọi phương thức setUpWithConfiguration:completionHandler: khi Google Mobile Ads SDK tạo thực thể cho bộ chuyển đổi tín hiệu an toàn của bạn. Sử dụng phương thức này để khởi chạy SDK.

Khi SDK khởi chạy hoàn toàn và sẵn sàng để Google Mobile Ads SDK thu thập tín hiệu, hãy gọi khối hoàn thành GADMediationAdapterSetUpCompletionBlock.

Nếu bộ chuyển đổi tín hiệu an toàn của bạn không gọi lại, thì Google Mobile Ads SDK sẽ không thu thập tín hiệu từ bộ chuyển đổi tín hiệu an toàn của bạn.

Ví dụ sau đây gọi trình xử lý hoàn tất để thông báo cho Google Mobile Ads SDK rằng SDK của bạn đã khởi chạy thành công:

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

Báo cáo phiên bản bộ chuyển đổi và SDK

Bộ chuyển đổi tín hiệu an toàn phải báo cáo cả phiên bản bộ chuyển đổi và phiên bản SDK. Google Mobile Ads SDK sử dụng các phiên bản này để báo cáo và khắc phục sự cố.

Nếu SDK của bạn triển khai bộ điều hợp này trong cùng một tệp nhị phân, thì bạn có thể trả về cùng một phiên bản cho cả phiên bản bộ điều hợp và SDK.

Ví dụ sau đây trả về phiên bản của bộ chuyển đổi tín hiệu an toàn:

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

Ví dụ sau đây trả về phiên bản SDK mà bộ chuyển đổi tín hiệu an toàn của bạn tương tác:

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

Thay thế kSDKVersionString bằng chuỗi phiên bản SDK của bạn.

Thu thập tín hiệu

Trong mỗi yêu cầu quảng cáo, Google Mobile Ads SDK sẽ đồng thời thu thập tín hiệu từ tất cả các bộ chuyển đổi trên một luồng nền.

Ví dụ sau đây thu thập và trả về các tín hiệu cho Google Mobile Ads SDK bằng cách gọi trình xử lý hoàn tất 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);
}

Thay thế kSampleSignalPlaceholder bằng chuỗi tín hiệu an toàn của bạn.

Quá trình thu thập tín hiệu phải hoàn tất trong vòng một giây. Nếu quá trình thu thập tín hiệu mất hơn một giây, hãy cân nhắc việc lưu tín hiệu vào bộ nhớ đệm trong bộ chuyển đổi tín hiệu an toàn hoặc SDK khi bạn khởi động bộ chuyển đổi.

Nếu bộ chuyển đổi tín hiệu an toàn không thu thập được tín hiệu, hãy gọi trình xử lý hoàn thành bằng các tín hiệu nil và một đối tượng NSError.

Làm rối tín hiệu

Khi chia sẻ tín hiệu an toàn với bên đặt giá thầu và đối tác tuyển chọn, bạn phải làm rối tín hiệu.

Trả về giá trị nil cho các thành phần bổ sung của mạng quảng cáo

Bộ chuyển đổi tín hiệu an toàn không yêu cầu thêm các thông số bổ sung của mạng.

Phương thức +networkExtrasClass sau đây trả về một giá trị nil:

Objective-C

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