Mengembangkan adaptor sinyal aman

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

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

Diagram berikut mengilustrasikan siklus proses permintaan-respons untuk pengumpulan sinyal yang 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 mengimplementasikan 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 bagi Google Mobile Ads SDK untuk 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 SDK dan adaptor

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 adapter pada 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 saat Anda melakukan inisialisasi adaptor.

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

Menyamarkan sinyal

Saat Anda membagikan sinyal aman kepada bidder dan partner seleksi, Anda harus meng-obfuscate sinyal tersebut.

Menampilkan nilai nil untuk ekstra jaringan iklan

Adaptor sinyal aman tidak memerlukan parameter tambahan jaringan ekstra.

Contoh metode +networkExtrasClass berikut menampilkan nilai nil:

Objective-C

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