Pobieranie informacji o odpowiedzi na reklamę

Do celów debugowania i logowania wczytane reklamy zapewniają GADResponseInfo obiektu. Zawiera on informacje o wczytanej reklamie, a także informacje o kaskadzie zapośredniczenia użytej do wczytania reklamy.

Jeśli reklama wczytuje się prawidłowo, obiekt reklamy ma parametr GADResponseInfo. Przykład: GADInterstitialAd.responseInfo pobiera informację o odpowiedzi na załadowaną reklamę pełnoekranową.

Jeśli nie uda się wczytać reklam i pojawia się tylko błąd, funkcja Działanie GADResponseInfo jest dostępne przy użyciu klucza GADErrorUserInfoKeyResponseInfo w słowniku userInfo błędu.

Swift

fileprivate func loadInterstitial() {
  GADInterstitialAd.load(
    withAdUnitID: "ca-app-pub-3940256099942544/4411468910", request: request
  ) { (ad, error) in
    if let error = error {
      let responseInfo = (error as NSError).userInfo[GADErrorUserInfoKeyResponseInfo] as? GADResponseInfo
      print("\(String(describing: responseInfo))")
      return
    }
    let responseInfo = ad?.responseInfo
    print("\(String(describing: responseInfo))")
  }
}

Objective-C

- (void)loadInterstitial {
  [GADInterstitialAd
   loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910"
   request:request
   completionHandler:^(GADInterstitialAd *ad, NSError *error) {
    if (error) {
      GADResponseInfo *responseInfo = error.userInfo[GADErrorUserInfoKeyResponseInfo];
      NSLog(@"%@", responseInfo.description);
      return;
    }
    GADResponseInfo *responseInfo = ad.responseInfo;
    NSLog(@"%@", responseInfo.description);
  }];
}

Informacje o odpowiedzi

Oto przykładowe dane wyjściowe, które zawierają dane debugowania zwrócone w przypadku wczytanej reklamy:

  ** Response Info **
    Response ID: CLz5r-KMtfoCFQvv7QodfGAMHw
    Network: GADMAdapterGoogleAdMobAds

  ** Loaded Adapter Response **
    Network: GADMAdapterGoogleAdMobAds
    Ad Source Name:Reservation campaign
    Ad Source ID:7068401028668408324
    Ad Source Instance Name:[DO NOT EDIT] Publisher Test Interstitial
    Ad Source Instance ID:[DO NOT EDIT] Publisher Test Interstitial
    AdUnitMapping:
{
}
    Error: (null)
    Latency: 0.357

  ** Extras Dictionary **
    {
        "mediation_group_name" = Campaign;
    }

  ** Mediation line items **
    Entry (1)
    Network: GADMAdapterGoogleAdMobAds
    Ad Source Name:Reservation campaign
    Ad Source ID:7068401028668408324
    Ad Source Instance Name:[DO NOT EDIT] Publisher Test Interstitial
    Ad Source Instance ID:[DO NOT EDIT] Publisher Test Interstitial
    AdUnitMapping:
{
}
    Error: (null)
    Latency: 0.357

Miejsca zakwaterowania w domenie GADResponseInfo uwzględnij:

Właściwość Opis
adNetworkInfoArray Zwraca listę wartości GADAdNetworkResponseInfo który zawiera metadane każdego adaptera uwzględnionego w odpowiedzi reklamy. Może być służą do debugowania wykonywania zapośredniczenia kaskadowego i określania stawek. Kolejność lista odpowiada kolejności kaskady zapośredniczenia dla tego żądania reklamy.

Więcej informacji znajdziesz w sekcji Informacje o odpowiedzi na kartę i informacjami o nich.

loadedAdNetworkResponseInfo Zwraca wartość GADAdNetworkResponseInfo odpowiadającą adapterowi która wczytała reklamę.
adNetworkClassName Zwraca nazwę klasy adaptera zapośredniczenia sieci reklamowej, która została wczytana reklamę.
responseIdentifier Identyfikator odpowiedzi to unikalny identyfikator odpowiedzi na reklamę. Ten mogą służyć do identyfikowania i blokowania reklamy w Centrum oceny reklam.
extrasDictionary

Zwraca dodatkowe informacje o odpowiedzi reklamy. Dodatki mogą zwracać takie klucze:

  • mediation_group_name: nazwa grupy zapośredniczenia.
  • mediation_ab_test_name: nazwa testu A/B zapośredniczenia, w odpowiednich przypadkach
  • mediation_ab_test_variant: wariant używany w parametrze Test A/B zapośredniczenia (jeśli dotyczy)

Swift

fileprivate func loadInterstitial() {
  GADInterstitialAd.load(
    withAdUnitID: "ca-app-pub-3940256099942544/4411468910", request: request
  ) { (ad, error) in
    let responseInfo = ad?.responseInfo

    let responseIdentifier = responseInfo?.responseIdentifier
    let adNetworkClassName = responseInfo?.adNetworkClassName
    let adNetworkInfoArray = responseInfo?.adNetworkInfoArray
    let loadedAdNetworkResponseInfo = responseInfo?.loadedAdNetworkResponseInfo
    let mediationGroupName = responseInfo?.extrasDictionary["mediation_group_name"]
    let mediationABTestName = responseInfo?.extrasDictionary["mediation_ab_test_name"]
    let mediationABTestVariant = responseInfo?.extrasDictionary["mediation_ab_test_variant"]
  }
}

Objective-C

- (void)loadInterstitial {
  [GADInterstitialAd
   loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910"
   request:request
   completionHandler:^(GADInterstitialAd *ad, NSError *error) {
    GADResponseInfo *responseInfo = ad.responseInfo;

    NSString *responseIdentifier = responseInfo.responseIdentifier;
    NSString *adNetworkClassName = responseInfo.adNetworkClassName;
    NSArray *adNetworkInfoArray = responseInfo.adNetworkInfoArray;
    GADAdNetworkResponseInfo *loadedAdNetworkResponseInfo = responseInfo.loadedAdNetworkResponseInfo;
    NSString *mediationGroupName = responseInfo.extrasDictionary[@"mediation_group_name"];
    NSString *mediationABTestName = responseInfo.extrasDictionary[@"mediation_ab_test_name"];
    NSString *mediationABTestVariant = responseInfo.extrasDictionary[@"mediation_ab_test_variant"];
  }];
}

Informacje o odpowiedzi adaptera

GADAdNetworkResponseInfo zawiera metadane każdego adaptera uwzględnionego w odpowiedzi reklamy, których można użyć do debugowania konfiguracji zapośredniczenia kaskadowego i określania stawek. Kolejność na liście odpowiada kolejności kaskady zapośredniczenia dla żądania reklamy.

Oto przykładowe dane wyjściowe GADAdNetworkResponseInfo:

    Network: GADMAdapterGoogleAdMobAds
    Ad Source Name:Reservation campaign
    Ad Source ID:7068401028668408324
    Ad Source Instance Name:[DO NOT EDIT] Publisher Test Interstitial
    Ad Source Instance ID:[DO NOT EDIT] Publisher Test Interstitial
    AdUnitMapping:
{
}
    Error: (null)
    Latency: 0.277

W przypadku każdej sieci reklamowej GADAdNetworkResponseInfo udostępnia te elementy właściwości:

Właściwość Opis
error Błąd związany z żądaniem skierowanych do sieci. Zwroty nil, jeśli sieć załadowała reklamę lub jeśli nie podjęto próby wykonania testu.
adSourceId Identyfikator źródła reklam powiązany z tą odpowiedzią adaptera. W przypadku kampanii w przypadku reklam zapośredniczonych zwracany jest 6060308706800320801. typ celu kampanii, a 7068401028668408324 dla wyświetlenia i kliknięcia typy celów. Zobacz Źródła reklam dla listy możliwych identyfikatorów źródeł reklam, gdy sieć reklamowa wyświetla reklamę.
adSourceInstanceId Identyfikator instancji źródła reklam powiązany z tym adapterem .
adSourceInstanceName Nazwa wystąpienia źródła reklam powiązana z tym adapterem jako odpowiedź.
adSourceName Źródło reklam reprezentujące konkretną sieć reklamową, która wyświetla dane wyświetlenie. W przypadku kampanii W przypadku reklam zapośredniczonych zwracany jest Mediated House Ads typ celu kampanii, a Reservation Campaign dla wyświetlenia i kliknięcia typy celów. Zobacz Źródła reklam pod listą możliwych nazw źródeł reklam, gdy sieć reklamowa wyświetla reklama.
adNetworkClassName Nazwa klasy adaptera sieci reklamowej, który załadował reklamę.
adUnitMapping Konfiguracja sieci ustawiona w AdMob Interfejs użytkownika
latency Czas wczytywania reklamy przez sieć reklamową. Zwroty 0, jeśli nie podjęto próby połączenia z siecią.

Swift

fileprivate func loadInterstitial() {
  GADInterstitialAd.load(
    withAdUnitID: "ca-app-pub-3940256099942544/4411468910", request: request
  ) { (ad, error) in
    let responseInfo = ad?.responseInfo
    let loadedAdNetworkResponseInfo = responseInfo?.loadedAdNetworkResponseInfo

    let adNetworkError = loadedAdNetworkResponseInfo?.error
    let adSourceId = loadedAdNetworkResponseInfo?.adSourceID
    let adSourceInstanceId = loadedAdNetworkResponseInfo?.adSourceInstanceID
    let adSourceInstanceName = loadedAdNetworkResponseInfo?.adSourceInstanceName
    let adSourceName = loadedAdNetworkResponseInfo?.adSourceName
    let adNetworkClassName = loadedAdNetworkResponseInfo?.adNetworkClassName
    let adUnitMapping = loadedAdNetworkResponseInfo?.adUnitMapping
    let latency = loadedAdNetworkResponseInfo?.latency
  }
}

Objective-C

- (void)loadInterstitial {
  [GADInterstitialAd
   loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910"
   request:request
   completionHandler:^(GADInterstitialAd *ad, NSError *error) {
    GADResponseInfo *responseInfo = ad.responseInfo;
    GADAdNetworkResponseInfo *loadedAdNetworkResponseInfo = responseInfo.loadedAdNetworkResponseInfo;

    NSError *adNetworkError = loadedAdNetworkResponseInfo.error;
    NSString *adSourceId = loadedAdNetworkResponseInfo.adSourceID;
    NSString *adSourceInstanceId = loadedAdNetworkResponseInfo.adSourceInstanceID;
    NSString *adSourceInstanceName = loadedAdNetworkResponseInfo.adSourceInstanceName;
    NSString *adSourceName = loadedAdNetworkResponseInfo.adSourceName;
    NSString *adNetworkClassName = loadedAdNetworkResponseInfo.adNetworkClassName;
    NSDictionary *adUnitMapping = loadedAdNetworkResponseInfo.adUnitMapping;
    NSTimeInterval latency = loadedAdNetworkResponseInfo.latency;
  }];
}