Pobieranie informacji o odpowiedzi na reklamę

Na potrzeby debugowania i logowania wczytane reklamy udostępniają obiekt GADResponseInfo. Ten obiekt zawiera informacje o wczytanej reklamie oraz o kaskadzie zapośredniczenia użytej do wczytania reklamy.

W przypadku, gdy reklama się uda, obiekt reklamowy ma właściwość GADResponseInfo. Na przykład GADInterstitialAd.responseInfo będzie otrzymywać informacje o odpowiedzi w przypadku wczytanej reklamy pełnoekranowej.

Jeśli nie można wczytać reklam i występuje tylko błąd, można użyć klucza GADErrorUserInfoKeyResponseInfo za pomocą klucza GADErrorUserInfoKeyResponseInfo w słowniku userInfo błędu.GADResponseInfo

Swift

fileprivate func loadInterstitial() {
  GADInterstitialAd.load(
    withAdUnitID: "/6499/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:@"/6499/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 z danymi debugowania zwróconymi 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

Usługi w domenie GADResponseInfo to m.in.:

Właściwość Opis
adNetworkInfoArray Zwraca listę elementów GADAdNetworkResponseInfo z metadanymi dla każdego adaptera uwzględnionego w odpowiedzi na reklamę. Można ich używać do debugowania zapośredniczenia kaskadowego i ustalania stawek. Kolejność na liście odpowiada kolejności w kaskadzie zapośredniczenia w przypadku danego żądania reklamy.

Więcej informacji znajdziesz w artykule Informacje o odpowiedzi adaptera.

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

Zwraca dodatkowe informacje o odpowiedzi na reklamę.

Swift

fileprivate func loadInterstitial() {
  GADInterstitialAd.load(
    withAdUnitID: "/6499/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:@"/6499/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 na żądanie reklamy, które mogą służyć do debugowania zapośredniczenia kaskadowego i określania stawek. Kolejność na liście odpowiada kolejności w kaskadzie zapośredniczenia w żądaniu reklamy.

Oto przykładowe dane wyjściowe funkcji 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 ma te właściwości:

Właściwość Opis
error Błąd związany z żądaniem wysłanym do sieci. Zwraca nil, jeśli sieć wczytała reklamę lub nie nastąpiła próba jej wczytania.
adSourceId Identyfikator źródła reklam powiązany z tą odpowiedzią adaptera.
adSourceInstanceId Identyfikator instancji źródła reklam powiązany z tą odpowiedzią adaptera.
adSourceInstanceName Nazwa wystąpienia źródła reklam powiązana z tą odpowiedzią adaptera. Zwraca pusty ciąg znaków, jeśli nie został uzupełniony przez grupę zysku.
adSourceName Źródło reklam reprezentujące konkretną sieć reklamową, która realizuje wyświetlenie.
adNetworkClassName Nazwa klasy adaptera sieci reklamowej, który załadował reklamę.
adUnitMapping Konfiguracja sieci ustawiona w interfejsie Ad Manager .
latency Ilość czasu spędzonego przez sieć reklamową na wczytaniu reklamy. Zwraca 0, jeśli nie nastąpiła próba połączenia z siecią.

Swift

fileprivate func loadInterstitial() {
  GADInterstitialAd.load(
    withAdUnitID: "/6499/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:@"/6499/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;
  }];
}