使用AdMob Mediation时,有没有办法确定特定广告来自哪个网络?例如,在interstitialDidReceiveAd:(GADInterstitial *)广告方法中,变量广告是否具有包含广告来自的广告网络名称的特定属性?我想使用特定的广告网络来操纵我的应用在如何正确关闭视图方面的工作方式。
答案 0 :(得分:2)
在Android上,您可以执行以下操作:
adView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
super.onAdLoaded();
Log.i("TEST", "onAdLoaded: " + adView.getMediationAdapterClassName());
}
});
将返回类似的内容:
I / TEST:onAdLoaded:com.mobfox.adapter.MobFoxAdapter
答案 1 :(得分:1)
我正在使用Xamarin.iOS,所以以下内容是在C#中,但也许它会帮助你。我已使用此代码确定广告是来自iAd还是来自AdMob。我为了调试目的而快速写了这个,这个方法只会告诉你广告是来自AdMob还是其他东西,在我的情况下总是iAd。
var property = view.MediatedAdView.GetType().GetProperty("AdUnitID");
string adType;
if (property != null && property.GetValue(view.MediatedAdView) != null)
{
adType = "AdMob";
}
else
{
adType = "iAd";
}
答案 2 :(得分:0)
不幸的是答案是否定的。
答案 3 :(得分:0)
您可以使用ad.adNetworkClassName
。
我得到GADMAdapterGoogleAdMobAds
,GADMAdapterUnity
的示例值。
适用于插页式和奖励视频广告。
答案 4 :(得分:0)
您可以检查委托中使用的实际类。 Swift中的代码:
func interstitialDidReceiveAd(_ interstitial: GADInterstitial) {
print("Interstitial adapter class name: \(interstitial.responseInfo.adNetworkClassName)")
}