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);
    }
}