Opracowywanie adaptera bezpiecznych sygnałów

Jeśli masz pakiet SDK dostawcy sygnałów, który generuje sygnały 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 programu Authorized BuyersOtwartego ustalania stawek.

Diagram poniżej przedstawia cykl życia żądania i odpowiedzi w przypadku zbierania bezpiecznych sygnałów:

Adapter bezpiecznych sygnałów odpowiada za inicjowanie adaptera i zbieranie sygnałów.

Wdrażanie adaptera bezpiecznych sygnałów

Wdróż adapter bezpiecznych sygnałów 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 na potrzeby 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łujemy procedurę obsługi zakończenia handler , aby poinformować 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 sygnałów bezpiecznych 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

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

Zastąp ciąg znaków kSDKVersionString wersją 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.

W tym przykładzie sygnały są zbierane i zwracane do Google Mobile Ads SDK przez wywołanie procedury obsługi zakończenia 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);
}

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 signals 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 dodatkowych informacji o sieci reklamowej

Adaptery bezpiecznych sygnałów nie wymagają dodatkowych parametrów sieci.

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