Jeśli masz pakiet SDK dostawcy sygnałów, który generuje sygnały na potrzeby określania stawek w czasie rzeczywistym (RTB), możesz opracować adapter bezpiecznych sygnałów, aby umożliwić usłudze Google Mobile Ads SDK zbieranie sygnałów z Twojego pakietu SDK.
Google Mobile Ads SDK przekazuje Twoje sygnały do wybranych kupujących korzystających z usług Authorized Buyers i Otwartego ustalania stawek.
Diagram poniżej przedstawia cykl życia żądania i odpowiedzi w przypadku zbierania bezpiecznych sygnałów:
Adapter bezpiecznego sygnału odpowiada za inicjowanie adaptera i zbieranie sygnałów.
Wdrażanie adaptera bezpiecznych sygnałów
Wdróż adapter bezpiecznego sygnału dla Google Mobile Ads SDK, aby zbierać sygnały z pakietu SDK.
Z tego przewodnika dowiesz się, jak wdrożyć adapter bezpiecznego sygnału, implementując protokół GADRTBAdapter.
Poniższy przykład
implementuje protokół GADRTBAdapter:
Objective-C
@interface SampleAdapterSnippets : NSObject <GADRTBAdapter>
@end
Inicjowanie adaptera
Google Mobile Ads SDK wywołuje metodę
setUpWithConfiguration:completionHandler:
gdy Google Mobile Ads SDK tworzy instancję Twojego adaptera bezpiecznych sygnałów. Użyj tej metody, aby zainicjować pakiet SDK.
Gdy pakiet SDK zostanie w pełni zainicjowany i będzie gotowy do zbierania sygnałów przez Google Mobile Ads SDK, wywołaj blok zakończenia GADMediationAdapterSetUpCompletionBlock.
Jeśli adapter bezpiecznych sygnałów nie wywoła funkcji zwrotnej, Google Mobile Ads SDK nie będzie zbierać sygnałów z tego adaptera.
W tym przykładzie wywołuje się procedurę obsługi zakończenia completion w celu poinformowania Google Mobile Ads SDK, że pakiet SDK został zainicjowany:
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);
}
Zgłaszanie wersji adaptera i pakietu SDK
Adapter bezpiecznego sygnału musi zgłaszać zarówno wersję adaptera, jak i wersję pakietu SDK. Google Mobile Ads SDK używa tych wersji do raportowania i rozwiązywania problemów.
Jeśli Twój pakiet SDK implementuje ten adapter w tym samym pliku binarnym, możesz zwrócić tę samą wersję zarówno w przypadku adaptera, jak i pakietu SDK.
Ten przykład zwraca wersję adaptera bezpiecznego sygnału:
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;
}
Poniższy przykład zwraca wersję pakietu SDK, z którą współpracuje Twój adapter bezpiecznego sygnału:
Objective-C
Zastąp kSDKVersionString ciągiem znaków wersji pakietu SDK.
Zbieranie sygnałów
Przy każdym żądaniu reklamy Google Mobile Ads SDK zbiera sygnały jednocześnie ze wszystkich adapterów w wątku w tle.
Ten przykład zbiera i zwraca sygnały do Google Mobile Ads SDK
przez wywołanie procedury obsługi zakończenia GADRTBSignalCompletionHandler:
Objective-C
Zastąp kSampleSignalPlaceholder ciągiem bezpiecznego sygnału.
Zbieranie sygnałów musi zostać zakończone w ciągu sekundy. Jeśli zbieranie sygnałów trwa dłużej niż sekundę, rozważ buforowanie sygnałów w adapterze bezpiecznych sygnałów lub w pakiecie SDK podczas inicjowania adaptera.
Jeśli adapter bezpiecznych sygnałów nie zbiera sygnałów,
wywołaj procedurę obsługi zakończenia z wartością nil w przypadku sygnałów i obiektem NSError.
Maskowanie sygnałów
Gdy udostępniasz bezpieczne sygnały licytującym i partnerom wyboru, musisz je zaciemnić.
Zwracanie wartości nil w przypadku dodatków do sieci reklamowych
Adaptery bezpiecznych sygnałów nie wymagają dodatkowych parametrów sieciowych.
Poniższy przykład metody +networkExtrasClass zwraca wartość nil:
Objective-C
+ (nullable Class<GADAdNetworkExtras>)networkExtrasClass {
// Network extras are not applicable because signal providers do not request ads.
return nil;
}