Pobieranie informacji o odpowiedzi na reklamę

W celu debugowania i rejestrowania wczytanych reklam reklamy, które zostały wczytane, udostępniają obiekt GADResponseInfo. Ten obiekt zawiera informacje o wczytanej reklamie oraz o kaskadowym zapośredniczeniu, które służyło do jej wczytania.

W przypadku wczytania reklamy obiekt reklamy ma właściwość GADResponseInfo. Na przykład: GADInterstitialAd.responseInfo pobiera informacje o odpowiedzi dla załadowanej reklamy pełnoekranowej.

W przypadku, gdy reklamy nie wczytują się i wyświetla się tylko błąd, możesz użyć klucza GADErrorUserInfoKeyResponseInfo w słowniku userInfo błędu.GADResponseInfo

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ładowy wynik z danymi debugowania zwróconymi po wczytaniu 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

Właściwości w GADResponseInfo:

Właściwość Opis
adNetworkInfoArray Zwraca listę GADAdNetworkResponseInfozawierającą metadane każdego adaptera uwzględnionego w odpowiedzi na reklamę. Można ich używać do debugowania zapośredniczenia kaskadowego i określania stawek. Kolejność na liście odpowiada kolejności kaskady zapośredniczenia w przypadku tego żądania reklamy.

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

loadedAdNetworkResponseInfo Zwraca wartość GADAdNetworkResponseInfo odpowiadającą adapterowi, który wczytał reklamę.
adNetworkClassName Zwraca nazwę klasy pośredniczącego adaptera sieci reklamowej, która wczytała reklamę.
responseIdentifier Identyfikator odpowiedzi to niepowtarzalny identyfikator reakcji na reklamę. Możesz użyć tego identyfikatora do zidentyfikowania i zablokowania reklamy w Centrum oceny reklam.
extrasDictionary

Zwraca dodatkowe informacje o odpowiedzi na reklamę.

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 odpowiedziach adaptera

GADAdNetworkResponseInfo zawiera metadane każdego adaptera uwzględnionego w odpowiedzi na żądanie reklamy. Można ich użyć do debugowania pośredniczenia i wyznaczania stawek w ramach kaskady. Kolejność na liście odpowiada kolejności kaskady zapośredniczenia żą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 właściwości:

Właściwość Opis
error Błąd związany z żądaniem wysłanym do sieci. Zwraca nil, jeśli sieć załadowała reklamę, lub jeśli nie podjęto próby załadowania reklamy.
adSourceId Identyfikator źródła reklamy powiązany z tą odpowiedzią adaptera.
adSourceInstanceId Identyfikator instancji źródła reklamy powiązany z tą odpowiedzią adaptera.
adSourceInstanceName Nazwa wystąpienia źródła reklam powiązanego z tą odpowiedzią adaptera. Zwraca pusty ciąg, jeśli nie został wypełniony przez grupę zysku.
adSourceName Źródło reklamy reprezentujące konkretną sieć reklamową, która wyświetla wyświetlenie.
adNetworkClassName Nazwa klasy adaptera sieci reklamowej, który wczytał reklamę.
adUnitMapping Konfiguracja sieci ustawiona w interfejsie Ad Managera.
latency Czas wczytywania reklamy przez sieć reklamową. Zwraca wartość 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;
  }];
}