Pixel Fusion v1.0.2版本的 MD5 值为:7c04c460c2996569d4ad075cd671a946
以下内容为反编译后的 GAMAdapter.java 源代码,内容仅作参考
package io.bidmachine.ads.networks.gam;
import android.content.Context;
import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import io.bidmachine.AdsFormat;
import io.bidmachine.AdsType;
import io.bidmachine.ContextProvider;
import io.bidmachine.HeaderBiddingAdRequestParams;
import io.bidmachine.HeaderBiddingAdapter;
import io.bidmachine.HeaderBiddingCollectParamsCallback;
import io.bidmachine.InitializationParams;
import io.bidmachine.NetworkAdUnit;
import io.bidmachine.NetworkConfigParams;
import io.bidmachine.NetworkInitializationCallback;
import io.bidmachine.ads.networks.gam.GAMTypeConfig;
import io.bidmachine.core.Utils;
import io.bidmachine.unified.UnifiedAdRequestParams;
import io.bidmachine.unified.UnifiedBannerAd;
import io.bidmachine.unified.UnifiedFullscreenAd;
import io.bidmachine.utils.BMError;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import org.json.JSONArray;
import org.json.JSONObject;
public class GAMAdapter extends HeaderBiddingAdapter {
private static final int DEFAULT_EXPIRATION_TIME_SEC = 3600;
@NonNull
private static final String GAM_NETWORK_ERROR = "GAMNetwork is null";
@NonNull
private static final String NETWORK_NAME = "GAM";
@Nullable
private DCbdcdcCCbc gamNetwork;
public GAMAdapter() {
this(BuildConfig.ADAPTER_NAME, BuildConfig.ADAPTER_SDK_VERSION_NAME, "2.6.0.2", 16);
}
@Nullable
private Map<AdsFormat, GAMTypeConfig> toGAMTypeConfigMap(@NonNull String str) {
GAMTypeConfig create;
HashMap hashMap = new HashMap();
try {
JSONArray jSONArray = new JSONArray(str);
for (int i = 0; i < jSONArray.length(); i++) {
JSONObject optJSONObject = jSONArray.optJSONObject(i);
if (optJSONObject != null && (create = GAMTypeConfig.Factory.create(optJSONObject)) != null) {
hashMap.put(create.getAdsFormat(), create);
}
}
return hashMap;
} catch (Throwable unused) {
return null;
}
}
@Override
public void clearAuction(@NonNull NetworkAdUnit networkAdUnit) throws Throwable {
DCbdcdcCCbc dCbdcdcCCbc = this.gamNetwork;
if (dCbdcdcCCbc != null) {
dCbdcdcCCbc.unReserveGAMAd(networkAdUnit);
}
}
@Override
public UnifiedBannerAd createBanner() {
if (this.gamNetwork != null) {
return new BbdcDCacCa(this.gamNetwork);
}
throw new IllegalArgumentException(GAM_NETWORK_ERROR);
}
@Override
public UnifiedFullscreenAd createInterstitial() {
if (this.gamNetwork != null) {
return new bBDaADdaAa(this.gamNetwork);
}
throw new IllegalArgumentException(GAM_NETWORK_ERROR);
}
@Override
public UnifiedFullscreenAd createRewarded() {
if (this.gamNetwork != null) {
return new dcadbB(this.gamNetwork);
}
throw new IllegalArgumentException(GAM_NETWORK_ERROR);
}
@NonNull
public String getNetworkName() {
return NETWORK_NAME;
}
@Override
public boolean isNetworkInitialized(@NonNull ContextProvider contextProvider) throws Throwable {
DCbdcdcCCbc dCbdcdcCCbc = this.gamNetwork;
if (dCbdcdcCCbc != null && dCbdcdcCCbc.isInitialized()) {
return true;
}
return false;
}
@Override
public void onCollectHeaderBiddingParams(@NonNull ContextProvider contextProvider, @NonNull UnifiedAdRequestParams unifiedAdRequestParams, @NonNull NetworkAdUnit networkAdUnit, @NonNull HeaderBiddingAdRequestParams headerBiddingAdRequestParams, @NonNull HeaderBiddingCollectParamsCallback headerBiddingCollectParamsCallback) throws Throwable {
String mediationParameter = networkAdUnit.getMediationParameter("ad_unit_id");
if (TextUtils.isEmpty(mediationParameter)) {
headerBiddingCollectParamsCallback.onCollectFail(BMError.adapterGetsParameter("ad_unit_id"));
return;
}
DCbdcdcCCbc dCbdcdcCCbc = this.gamNetwork;
if (dCbdcdcCCbc == null) {
headerBiddingCollectParamsCallback.onCollectFail(BMError.adapter("GAM network is null"));
return;
}
GAMUnitData reserveMostExpensiveGAMAd = dCbdcdcCCbc.reserveMostExpensiveGAMAd(networkAdUnit, mediationParameter);
this.gamNetwork.cache(unifiedAdRequestParams.getAdRequestParameters().getAdsFormat());
if (reserveMostExpensiveGAMAd == null) {
headerBiddingCollectParamsCallback.onCollectFail(BMError.adapter("Can't find idle ad"));
return;
}
HashMap hashMap = new HashMap();
hashMap.put("ad_unit_id", reserveMostExpensiveGAMAd.getAdUnitId());
hashMap.put("score", String.valueOf(reserveMostExpensiveGAMAd.getScore()));
hashMap.put("price", String.valueOf(reserveMostExpensiveGAMAd.getPrice()));
headerBiddingCollectParamsCallback.onCollectFinished(hashMap);
}
@Override
public void onLossAuction(@NonNull NetworkAdUnit networkAdUnit) throws Throwable {
DCbdcdcCCbc dCbdcdcCCbc = this.gamNetwork;
if (dCbdcdcCCbc != null) {
dCbdcdcCCbc.unReserveGAMAd(networkAdUnit);
}
}
@Override
public void onNetworkInitialize(@NonNull ContextProvider contextProvider, @NonNull InitializationParams initializationParams, @NonNull NetworkConfigParams networkConfigParams, @NonNull NetworkInitializationCallback networkInitializationCallback) throws Throwable {
Context applicationContext = contextProvider.getApplicationContext();
if (!DCbdcdcCCbc.isGAMPresent(applicationContext)) {
networkInitializationCallback.onFail("GAM is absent or used unsupported version");
return;
}
String removeFromNetworkParams = networkConfigParams.removeFromNetworkParams("waterfall_configurations");
if (TextUtils.isEmpty(removeFromNetworkParams)) {
networkInitializationCallback.onFail(String.format("%s not provided", "waterfall_configurations"));
return;
}
Map<AdsFormat, GAMTypeConfig> gAMTypeConfigMap = toGAMTypeConfigMap(removeFromNetworkParams);
if (gAMTypeConfigMap != null && !gAMTypeConfigMap.isEmpty()) {
DCbdcdcCCbc dCbdcdcCCbc = new DCbdcdcCCbc(applicationContext, getNetworkName(), gAMTypeConfigMap, networkConfigParams.removeFromNetworkParams("request_agent"), TimeUnit.SECONDS.toMillis(Utils.parseIntOrDefault(networkConfigParams.removeFromNetworkParams("expiration_time"), 3600)), Boolean.parseBoolean(networkConfigParams.removeFromNetworkParams("override_callbacks")));
this.gamNetwork = dCbdcdcCCbc;
dCbdcdcCCbc.init(applicationContext);
this.gamNetwork.cache();
networkInitializationCallback.onSuccess();
return;
}
networkInitializationCallback.onFail(String.format("%s is empty", "waterfall_configurations"));
}
public GAMAdapter(@NonNull String str, @NonNull String str2, @NonNull String str3, int i) {
this(str, str2, str3, i, new AdsType[]{AdsType.Banner, AdsType.Interstitial, AdsType.Rewarded});
}
public GAMAdapter(@NonNull String str, @NonNull String str2, @NonNull String str3, int i, @NonNull AdsType[] adsTypeArr) {
super(str, str2, str3, i, adsTypeArr);
}
}