Opracowywanie adaptera bezpiecznych sygnałów

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 BuyersOtwartego 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

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

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