Mengembangkan adaptor sinyal aman

Jika Anda memiliki SDK penyedia sinyal yang menghasilkan sinyal bidding real-time (RTB) , Anda dapat mengembangkan adaptor sinyal aman untuk memungkinkan Google Mobile Ads SDK mengumpulkan sinyal dari SDK Anda.

Google Mobile Ads SDK meneruskan sinyal Anda ke pembeli Authorized Buyers dan Open Bidding yang berpartisipasi.

Diagram berikut menggambarkan siklus proses permintaan-respons untuk pengumpulan sinyal aman:

Adaptor sinyal aman bertanggung jawab atas inisialisasi adaptor dan pengumpulan sinyal.

Menerapkan adaptor sinyal aman

Terapkan adaptor sinyal aman untuk Google Mobile Ads SDK guna mengumpulkan sinyal dari SDK Anda.

Panduan ini membahas cara menerapkan adaptor sinyal aman dengan menerapkan protokol GADRTBAdapter.

Contoh berikut menerapkan protokol GADRTBAdapter:

Objective-C

@interface SampleAdapterSnippets : NSObject <GADRTBAdapter>
@end

Menginisialisasi adaptor

Google Mobile Ads SDK memanggil metode setUpWithConfiguration:completionHandler: saat Google Mobile Ads SDK membuat instance adaptor sinyal aman Anda. Gunakan metode ini untuk menginisialisasi SDK Anda.

Saat SDK Anda diinisialisasi sepenuhnya dan siap untuk Google Mobile Ads SDK mengumpulkan sinyal, panggil blok penyelesaian GADMediationAdapterSetUpCompletionBlock.

Jika adaptor sinyal aman Anda tidak melakukan panggilan balik, Google Mobile Ads SDK tidak akan mengumpulkan sinyal dari adaptor sinyal aman Anda.

Contoh berikut memanggil pengendali penyelesaian untuk memberi tahu Google Mobile Ads SDK bahwa SDK Anda telah berhasil diinisialisasi:

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

Melaporkan versi adaptor dan SDK

Adaptor sinyal aman Anda harus melaporkan versi adaptor dan versi SDK Anda. Google Mobile Ads SDK menggunakan versi ini untuk pelaporan dan pemecahan masalah.

Jika SDK Anda menerapkan adaptor ini dalam biner yang sama, Anda dapat menampilkan versi yang sama untuk versi adaptor dan SDK.

Contoh berikut menampilkan versi adaptor sinyal aman Anda:

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

Contoh berikut menampilkan versi SDK yang berinteraksi dengan adaptor sinyal aman Anda:

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

Ganti kSDKVersionString dengan string versi SDK Anda.

Mengumpulkan sinyal

Pada setiap permintaan iklan, Google Mobile Ads SDK mengumpulkan sinyal secara bersamaan dari semua adaptor di thread latar belakang.

Contoh berikut mengumpulkan dan menampilkan sinyal ke Google Mobile Ads SDK dengan memanggil pengendali penyelesaian 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);
}

Ganti kSampleSignalPlaceholder dengan string sinyal aman Anda.

Pengumpulan sinyal harus selesai dalam waktu satu detik. Jika pengumpulan sinyal memerlukan waktu lebih dari satu detik, pertimbangkan untuk menyimpan sinyal dalam cache di adaptor sinyal aman atau SDK Anda saat Anda menginisialisasi adaptor.

Jika adaptor sinyal aman Anda gagal mengumpulkan sinyal, panggil pengendali penyelesaian dengan sinyal nil dan objek NSError.

Mengaburkan sinyal

Saat Anda membagikan sinyal aman kepada bidder dan partner seleksi, Anda harus mengaburkan sinyal.

Menampilkan nilai nil untuk parameter tambahan jaringan iklan

Adaptor sinyal aman tidak memerlukan parameter tambahan jaringan iklan.

Contoh berikut menampilkan metode +networkExtrasClass yang menampilkan nilai nil:

Objective-C

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