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: "/21775744923/example/interstitial", 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:@"/21775744923/example/interstitial"
   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: BmnCZaSbE_6Mur8P5su8gAY
    Network: GADMAdapterGoogleAdMobAds

  ** Loaded Adapter Response **
    Network: GADMAdapterGoogleAdMobAds
    Ad Source Name:AdMob Network
    Ad Source ID:
    Ad Source Instance Name:AdMob (default)
    Ad Source Instance ID:AdMob (default)
    AdUnitMapping:
{
    pubid = "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=b0&caqid=BmnCZZjMEvzpkPIP5cWfQA";
}
    Error: (null)
    Latency: 2.724

  ** Extras Dictionary **
    {
    }

  ** Mediation line items **
    Entry (1)
    Network: GADMAdapterGoogleAdMobAds
    Ad Source Name:AdMob Network
    Ad Source ID:
    Ad Source Instance Name:AdMob (default)
    Ad Source Instance ID:AdMob (default)
    AdUnitMapping:
{
    pubid = "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=b0&caqid=BmnCZZjMEvzpkPIP5cWfQA";
}
    Error: (null)
    Latency: 2.724

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.

Swift

fileprivate func loadInterstitial() {
  GADInterstitialAd.load(
    withAdUnitID: "/21775744923/example/interstitial", 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
  }
}

Objective-C

- (void)loadInterstitial {
  [GADInterstitialAd
   loadWithAdUnitID:@"/21775744923/example/interstitial"
   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;
  }];
}

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:AdMob Network
    Ad Source ID:
    Ad Source Instance Name:AdMob (default)
    Ad Source Instance ID:AdMob (default)
    AdUnitMapping:
{
    pubid = "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=b0&caqid=BmnCZZjMEvzpkPIP5cWfQA";
}
    Error: (null)
    Latency: 2.724

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.
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ź. Zwraca pusty ciąg znaków, jeśli nie zostanie wypełniony przez grupę zysku.
adSourceName Źródło reklam reprezentujące konkretną sieć reklamową, która wyświetla dane wyświetlenie.
adNetworkClassName Nazwa klasy adaptera sieci reklamowej, który załadował reklamę.
adUnitMapping Konfiguracja sieci ustawiona w Ad Manager 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: "/21775744923/example/interstitial", 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:@"/21775744923/example/interstitial"
   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;
  }];
}