Если у вас есть SDK поставщика сигналов, генерирующий сигналы для торгов в реальном времени (RTB), вы можете разработать защищенный адаптер сигналов, который позволит Google Mobile Ads SDK собирать сигналы из вашего SDK.
Google Mobile Ads SDK пересылает ваши сигналы выбранным участвующим авторизованным покупателям и покупателям, участвующим в открытом тендере .
Следующая диаграмма иллюстрирует жизненный цикл запроса-ответа для безопасного сбора сигналов:

Защищенный сигнальный адаптер отвечает за инициализацию адаптера и сбор сигнала.
Внедрить защищенный адаптер сигнала.
Внедрите защищенный адаптер сигналов для Google Mobile Ads SDK , чтобы собирать сигналы из вашего SDK.
В этом руководстве описано, как реализовать защищенный адаптер сигнала с помощью протокола GADRTBAdapter .
В следующем примере реализован протокол GADRTBAdapter :
Objective-C
@interface SampleAdapterSnippets : NSObject <GADRTBAdapter>
@end
Инициализируйте адаптер.
В процессе инициализации вашего защищенного адаптера сигнала Google Google Mobile Ads SDK Google Mobile Ads SDK вызывает метод setUpWithConfiguration:completionHandler: Используйте этот метод для инициализации вашего SDK.
Когда ваш SDK полностью инициализируется и будет готов к сбору сигналов Google Mobile Ads SDK , вызовите блок завершения GADMediationAdapterSetUpCompletionBlock .
Если ваш адаптер защищенных сигналов не отправляет обратный вызов, Google Mobile Ads SDK не будет собирать сигналы от вашего адаптера защищенных сигналов.
В следующем примере вызывается обработчик завершения, чтобы сообщить Google Mobile Ads SDK об успешной инициализации вашего SDK:
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);
}
Версия адаптера отчетов и SDK
Ваш адаптер защищенного сигнала должен сообщать как версию самого адаптера, так и версию SDK. Google Mobile Ads SDK использует эти версии для отчетности и устранения неполадок.
Если ваш SDK реализует этот адаптер в том же исполняемом файле, вы можете вернуть одну и ту же версию как для адаптера, так и для SDK.
В следующем примере отображается версия вашего адаптера защищенного сигнала:
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;
}
В следующем примере возвращается версия вашего SDK, с которой взаимодействует ваш адаптер защищенных сигналов:
Objective-C
Замените kSDKVersionString на строку с версией вашего SDK.
Сбор сигналов
При каждом запросе рекламы Google Mobile Ads SDK одновременно собирает сигналы от всех адаптеров в фоновом потоке.
В следующем примере осуществляется сбор и передача сигналов в Google Mobile Ads SDK путем вызова обработчика завершения GADRTBSignalCompletionHandler :
Objective-C
Замените kSampleSignalPlaceholder на строку вашего защищенного сигнала.
Сбор сигналов должен завершиться в течение одной секунды. Если сбор сигналов занимает больше одной секунды, рассмотрите возможность кэширования сигналов в вашем защищенном адаптере сигналов или в вашем SDK при инициализации адаптера .
Если ваш адаптер защищенных сигналов не может получить сигналы, вызовите обработчик завершения с nil сигналами и объектом NSError .
Затуманить сигналы
При передаче защищенных сигналов участникам торгов и партнерам по кураторству необходимо их обфусцировать.
Возвращает значение nil для дополнительных данных рекламной сети.
Адаптеры защищенного сигнала не требуют дополнительных сетевых параметров.
В следующем примере метод +networkExtrasClass возвращает значение nil :
Objective-C
+ (nullable Class<GADAdNetworkExtras>)networkExtrasClass {
// Network extras are not applicable because signal providers do not request ads.
return nil;
}