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