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

Nếu có SDK nhà cung cấp tín hiệu tạo tín hiệu đặt giá thầu theo thời gian thực (RTB) tín hiệu, bạn có thể phát triển 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 những người mua được chọn tham gia Authorized BuyersOpen Bidding.

Sơ đồ sau đây minh hoạ vòng đời yêu cầu-phản hồi cho quá trình 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 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ộ chuyển đổi 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. Hãy 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 GADMediationAdapterSetUpCompletionBlock khối hoàn thành.

Nếu bộ chuyển đổi tín hiệu an toàn không gọi lại, 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.

Ví dụ sau đây gọi trình xử lý hoàn thành để 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 bộ chuyển đổi và phiên bản 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ộ chuyển đổi 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ộ chuyển đổi 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 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.

Thu thập tín hiệu

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

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

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 vào bộ nhớ đệm các tín hiệu trong bộ chuyển đổi tín hiệu an toàn hoặc SDK khi bạn khởi chạy 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 tín hiệu nil và đối tượng NSError.

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

Khi bạn 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 tham số thành phần bổ sung của mạng.

Ví dụ sau đây về phương thức +networkExtrasClass trả về giá trị nil:

Objective-C

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