Ice Scream Tycoon v1.0.4版本的 MD5 值为:f589390679eebf9f2a1d825e8c8a632e

以下内容为反编译后的 TapjoyMediationAdapter.java 源代码,内容仅作参考


package com.applovin.mediation.adapters;

import android.app.Activity;
import android.text.TextUtils;
import com.applovin.mediation.MaxReward;
import com.applovin.mediation.adapter.MaxAdapter;
import com.applovin.mediation.adapter.MaxAdapterError;
import com.applovin.mediation.adapter.MaxInterstitialAdapter;
import com.applovin.mediation.adapter.MaxRewardedAdapter;
import com.applovin.mediation.adapter.MaxSignalProvider;
import com.applovin.mediation.adapter.listeners.MaxInterstitialAdapterListener;
import com.applovin.mediation.adapter.listeners.MaxRewardedAdapterListener;
import com.applovin.mediation.adapter.listeners.MaxSignalCollectionListener;
import com.applovin.mediation.adapter.parameters.MaxAdapterInitializationParameters;
import com.applovin.mediation.adapter.parameters.MaxAdapterParameters;
import com.applovin.mediation.adapter.parameters.MaxAdapterResponseParameters;
import com.applovin.mediation.adapter.parameters.MaxAdapterSignalCollectionParameters;
import com.applovin.sdk.AppLovinSdk;
import com.applovin.sdk.AppLovinSdkConfiguration;
import com.applovin.sdk.AppLovinSdkUtils;
import com.tapjoy.TJActionRequest;
import com.tapjoy.TJConnectListener;
import com.tapjoy.TJError;
import com.tapjoy.TJPlacement;
import com.tapjoy.TJPlacementListener;
import com.tapjoy.TJPlacementVideoListener;
import com.tapjoy.TJPrivacyPolicy;
import com.tapjoy.Tapjoy;
import com.tapjoy.TapjoyAuctionFlags;
import com.tapjoy.TapjoyConnectFlag;
import java.util.HashMap;
import java.util.Hashtable;
import org.json.JSONObject;

public class TapjoyMediationAdapter extends MediationAdapterBase implements MaxInterstitialAdapter, MaxRewardedAdapter, MaxSignalProvider {
    private TJPlacement interstitialPlacement;
    private TJPlacement rewardedPlacement;

    @Override
    public String getAdapterVersion() {
        return "12.10.0.1";
    }

    public TapjoyMediationAdapter(AppLovinSdk appLovinSdk) {
        super(appLovinSdk);
    }

    @Override
    public String getSdkVersion() {
        return Tapjoy.getVersion();
    }

    @Override
    public void onDestroy() {
        TJPlacement tJPlacement = this.interstitialPlacement;
        if (tJPlacement != null) {
            tJPlacement.setVideoListener(null);
            this.interstitialPlacement = null;
        }
        TJPlacement tJPlacement2 = this.rewardedPlacement;
        if (tJPlacement2 != null) {
            tJPlacement2.setVideoListener(null);
            this.rewardedPlacement = null;
        }
    }

    @Override
    public void initialize(MaxAdapterInitializationParameters maxAdapterInitializationParameters, Activity activity, final MaxAdapter.OnCompletionListener onCompletionListener) {
        if (!Tapjoy.isConnected()) {
            String string = maxAdapterInitializationParameters.getServerParameters().getString("sdk_key");
            log("Initializing Tapjoy SDK with sdk key: " + string + "...");
            Tapjoy.setDebugEnabled(maxAdapterInitializationParameters.isTesting());
            Hashtable hashtable = new Hashtable(1);
            hashtable.put(TapjoyConnectFlag.ENABLE_LOGGING, String.valueOf(maxAdapterInitializationParameters.isTesting()));
            updateConsentAndActivity(maxAdapterInitializationParameters, activity);
            Tapjoy.connect(activity != null ? activity.getApplicationContext() : getApplicationContext(), string, hashtable, new TJConnectListener() {
                @Override
                public void onConnectSuccess() {
                    TapjoyMediationAdapter.this.log("Tapjoy SDK initialized");
                    onCompletionListener.onCompletion(MaxAdapter.InitializationStatus.INITIALIZED_SUCCESS, null);
                }

                @Override
                public void onConnectFailure() {
                    TapjoyMediationAdapter.this.log("Tapjoy SDK failed to initialized");
                    onCompletionListener.onCompletion(MaxAdapter.InitializationStatus.INITIALIZED_FAILURE, null);
                }
            });
            return;
        }
        updateConsentAndActivity(maxAdapterInitializationParameters, activity);
        onCompletionListener.onCompletion(MaxAdapter.InitializationStatus.INITIALIZED_SUCCESS, null);
    }

    @Override
    public void collectSignal(MaxAdapterSignalCollectionParameters maxAdapterSignalCollectionParameters, Activity activity, MaxSignalCollectionListener maxSignalCollectionListener) {
        updateConsentAndActivity(maxAdapterSignalCollectionParameters, activity);
        maxSignalCollectionListener.onSignalCollected(Tapjoy.getUserToken());
    }

    @Override
    public void loadInterstitialAd(MaxAdapterResponseParameters maxAdapterResponseParameters, Activity activity, MaxInterstitialAdapterListener maxInterstitialAdapterListener) {
        log("Loading interstitial...");
        if (!Tapjoy.isConnected()) {
            log("Tapjoy SDK is not initialized");
            maxInterstitialAdapterListener.onInterstitialAdLoadFailed(MaxAdapterError.NOT_INITIALIZED);
            return;
        }
        updateConsentAndActivity(maxAdapterResponseParameters, activity);
        TJPlacement createPlacement = createPlacement(maxAdapterResponseParameters, new InterstitialListener(maxInterstitialAdapterListener));
        this.interstitialPlacement = createPlacement;
        if (createPlacement != null) {
            createPlacement.requestContent();
        } else {
            maxInterstitialAdapterListener.onInterstitialAdLoadFailed(MaxAdapterError.BAD_REQUEST);
        }
    }

    @Override
    public void showInterstitialAd(MaxAdapterResponseParameters maxAdapterResponseParameters, Activity activity, MaxInterstitialAdapterListener maxInterstitialAdapterListener) {
        log("Showing interstitial...");
        if (this.interstitialPlacement.isContentReady()) {
            this.interstitialPlacement.showContent();
        } else {
            log("Interstitial ad not ready");
            maxInterstitialAdapterListener.onInterstitialAdDisplayFailed(new MaxAdapterError(MaxAdapterError.ERROR_CODE_AD_DISPLAY_FAILED, "Ad Display Failed"));
        }
    }

    @Override
    public void loadRewardedAd(MaxAdapterResponseParameters maxAdapterResponseParameters, Activity activity, MaxRewardedAdapterListener maxRewardedAdapterListener) {
        log("Loading rewarded ad...");
        if (!Tapjoy.isConnected()) {
            log("Tapjoy SDK is not initialized");
            maxRewardedAdapterListener.onRewardedAdLoadFailed(MaxAdapterError.NOT_INITIALIZED);
            return;
        }
        updateConsentAndActivity(maxAdapterResponseParameters, activity);
        TJPlacement createPlacement = createPlacement(maxAdapterResponseParameters, new RewardedListener(maxRewardedAdapterListener));
        this.rewardedPlacement = createPlacement;
        if (createPlacement != null) {
            createPlacement.requestContent();
        } else {
            maxRewardedAdapterListener.onRewardedAdLoadFailed(MaxAdapterError.BAD_REQUEST);
        }
    }

    @Override
    public void showRewardedAd(MaxAdapterResponseParameters maxAdapterResponseParameters, Activity activity, MaxRewardedAdapterListener maxRewardedAdapterListener) {
        log("Showing rewarded ad...");
        if (this.rewardedPlacement.isContentReady()) {
            configureReward(maxAdapterResponseParameters);
            this.rewardedPlacement.showContent();
        } else {
            log("Rewarded ad not ready");
            maxRewardedAdapterListener.onRewardedAdDisplayFailed(new MaxAdapterError(MaxAdapterError.ERROR_CODE_AD_DISPLAY_FAILED, "Ad Display Failed"));
        }
    }

    private void updateConsentAndActivity(MaxAdapterParameters maxAdapterParameters, Activity activity) {
        TJPrivacyPolicy privacyPolicy = Tapjoy.getPrivacyPolicy();
        Boolean privacySetting = getPrivacySetting("isAgeRestrictedUser", maxAdapterParameters);
        if (privacySetting != null) {
            privacyPolicy.setBelowConsentAge(privacySetting.booleanValue());
        }
        if (getWrappingSdk().getConfiguration().getConsentDialogState() == AppLovinSdkConfiguration.ConsentDialogState.APPLIES) {
            privacyPolicy.setSubjectToGDPR(true);
            Boolean privacySetting2 = getPrivacySetting("hasUserConsent", maxAdapterParameters);
            if (privacySetting2 != null) {
                privacyPolicy.setUserConsent(privacySetting2.booleanValue() ? TapjoyAuctionFlags.AUCTION_TYPE_FIRST_PRICE : "0");
            }
        } else if (getWrappingSdk().getConfiguration().getConsentDialogState() == AppLovinSdkConfiguration.ConsentDialogState.DOES_NOT_APPLY) {
            privacyPolicy.setSubjectToGDPR(false);
        }
        if (AppLovinSdk.VERSION_CODE >= 91100) {
            Boolean privacySetting3 = getPrivacySetting("isDoNotSell", maxAdapterParameters);
            if (privacySetting3 != null) {
                privacyPolicy.setUSPrivacy(privacySetting3.booleanValue() ? "1YY-" : "1YN-");
            } else {
                privacyPolicy.setUSPrivacy("1---");
            }
        }
        Tapjoy.setActivity(activity);
    }

    private Boolean getPrivacySetting(String str, MaxAdapterParameters maxAdapterParameters) {
        try {
            return (Boolean) maxAdapterParameters.getClass().getMethod(str, new Class[0]).invoke(maxAdapterParameters, new Object[0]);
        } catch (Exception e) {
            log("Error getting privacy setting " + str + " with exception: ", e);
            return AppLovinSdk.VERSION_CODE >= 9140000 ? null : false;
        }
    }

    private TJPlacement createPlacement(MaxAdapterResponseParameters maxAdapterResponseParameters, TJPlacementListener tJPlacementListener) {
        TJPlacement placement = Tapjoy.getPlacement(maxAdapterResponseParameters.getThirdPartyAdPlacementId(), tJPlacementListener);
        placement.setMediationName("applovin");
        placement.setAdapterVersion("12.10.0.1");
        if (tJPlacementListener instanceof TJPlacementVideoListener) {
            placement.setVideoListener((TJPlacementVideoListener) tJPlacementListener);
        }
        if (!TextUtils.isEmpty(maxAdapterResponseParameters.getBidResponse())) {
            try {
                placement.setAuctionData((HashMap) AppLovinSdkUtils.toMap(new JSONObject(maxAdapterResponseParameters.getBidResponse())));
            } catch (Throwable th) {
                log("Failed to load ad due to JSON deserialization error: ", th);
                return null;
            }
        }
        return placement;
    }

    public static MaxAdapterError toMaxError(TJError tJError) {
        int i;
        String str;
        if (tJError != null) {
            i = tJError.code;
            str = tJError.message;
        } else {
            i = 0;
            str = "";
        }
        MaxAdapterError maxAdapterError = MaxAdapterError.UNSPECIFIED;
        if (i == -1011) {
            maxAdapterError = MaxAdapterError.NOT_INITIALIZED;
        } else if (i == 204) {
            maxAdapterError = MaxAdapterError.NO_FILL;
        }
        return new MaxAdapterError(maxAdapterError.getErrorCode(), maxAdapterError.getErrorMessage(), i, str);
    }

    private class InterstitialListener implements TJPlacementListener, TJPlacementVideoListener {
        final MaxInterstitialAdapterListener listener;

        @Override
        public void onPurchaseRequest(TJPlacement tJPlacement, TJActionRequest tJActionRequest, String str) {
        }

        @Override
        public void onRewardRequest(TJPlacement tJPlacement, TJActionRequest tJActionRequest, String str, int i) {
        }

        InterstitialListener(MaxInterstitialAdapterListener maxInterstitialAdapterListener) {
            this.listener = maxInterstitialAdapterListener;
        }

        @Override
        public void onRequestSuccess(TJPlacement tJPlacement) {
            if (tJPlacement.isContentAvailable()) {
                TapjoyMediationAdapter.this.log("Interstitial request succeeded");
            } else {
                TapjoyMediationAdapter.this.log("Interstitial request failed");
                this.listener.onInterstitialAdLoadFailed(MaxAdapterError.NO_FILL);
            }
        }

        @Override
        public void onRequestFailure(TJPlacement tJPlacement, TJError tJError) {
            MaxAdapterError maxError = TapjoyMediationAdapter.toMaxError(tJError);
            TapjoyMediationAdapter.this.log("Interstitial failed to load with error: " + maxError);
            this.listener.onInterstitialAdLoadFailed(maxError);
        }

        @Override
        public void onContentReady(TJPlacement tJPlacement) {
            TapjoyMediationAdapter.this.log("Interstitial loaded");
            this.listener.onInterstitialAdLoaded();
        }

        @Override
        public void onContentShow(TJPlacement tJPlacement) {
            TapjoyMediationAdapter.this.log("Interstitial shown");
        }

        @Override
        public void onClick(TJPlacement tJPlacement) {
            TapjoyMediationAdapter.this.log("Interstitial clicked");
            this.listener.onInterstitialAdClicked();
        }

        @Override
        public void onContentDismiss(TJPlacement tJPlacement) {
            TapjoyMediationAdapter.this.log("Interstitial hidden");
            this.listener.onInterstitialAdHidden();
        }

        @Override
        public void onVideoStart(TJPlacement tJPlacement) {
            TapjoyMediationAdapter.this.log("Interstitial video start");
            this.listener.onInterstitialAdDisplayed();
        }

        @Override
        public void onVideoError(TJPlacement tJPlacement, String str) {
            MaxAdapterError maxAdapterError = new MaxAdapterError(MaxAdapterError.UNSPECIFIED.getErrorCode(), MaxAdapterError.UNSPECIFIED.getErrorMessage(), 0, str);
            TapjoyMediationAdapter.this.log("Interstitial failed with error message: " + maxAdapterError);
            this.listener.onInterstitialAdDisplayFailed(maxAdapterError);
        }

        @Override
        public void onVideoComplete(TJPlacement tJPlacement) {
            TapjoyMediationAdapter.this.log("Interstitial video completed");
        }
    }

    private class RewardedListener implements TJPlacementListener, TJPlacementVideoListener {
        private boolean hasGrantedReward;
        final MaxRewardedAdapterListener listener;

        @Override
        public void onPurchaseRequest(TJPlacement tJPlacement, TJActionRequest tJActionRequest, String str) {
        }

        @Override
        public void onRewardRequest(TJPlacement tJPlacement, TJActionRequest tJActionRequest, String str, int i) {
        }

        RewardedListener(MaxRewardedAdapterListener maxRewardedAdapterListener) {
            this.listener = maxRewardedAdapterListener;
        }

        @Override
        public void onRequestSuccess(TJPlacement tJPlacement) {
            if (tJPlacement.isContentAvailable()) {
                TapjoyMediationAdapter.this.log("Rewarded request succeeded");
            } else {
                TapjoyMediationAdapter.this.log("Rewarded request failed");
                this.listener.onRewardedAdLoadFailed(MaxAdapterError.NO_FILL);
            }
        }

        @Override
        public void onRequestFailure(TJPlacement tJPlacement, TJError tJError) {
            MaxAdapterError maxError = TapjoyMediationAdapter.toMaxError(tJError);
            TapjoyMediationAdapter.this.log("Rewarded failed to load with error: " + maxError);
            this.listener.onRewardedAdLoadFailed(maxError);
        }

        @Override
        public void onContentReady(TJPlacement tJPlacement) {
            TapjoyMediationAdapter.this.log("Rewarded loaded");
            this.listener.onRewardedAdLoaded();
        }

        @Override
        public void onContentShow(TJPlacement tJPlacement) {
            TapjoyMediationAdapter.this.log("Rewarded shown");
        }

        @Override
        public void onClick(TJPlacement tJPlacement) {
            TapjoyMediationAdapter.this.log("Rewarded clicked");
            this.listener.onRewardedAdClicked();
        }

        @Override
        public void onContentDismiss(TJPlacement tJPlacement) {
            if (this.hasGrantedReward || TapjoyMediationAdapter.this.shouldAlwaysRewardUser()) {
                MaxReward reward = TapjoyMediationAdapter.this.getReward();
                TapjoyMediationAdapter.this.log("Rewarded user with reward: " + reward);
                this.listener.onUserRewarded(reward);
            }
            TapjoyMediationAdapter.this.log("Rewarded hidden");
            this.listener.onRewardedAdHidden();
        }

        @Override
        public void onVideoStart(TJPlacement tJPlacement) {
            TapjoyMediationAdapter.this.log("Rewarded video began");
            this.listener.onRewardedAdDisplayed();
            this.listener.onRewardedAdVideoStarted();
        }

        @Override
        public void onVideoError(TJPlacement tJPlacement, String str) {
            MaxAdapterError maxAdapterError = new MaxAdapterError(MaxAdapterError.UNSPECIFIED.getErrorCode(), MaxAdapterError.UNSPECIFIED.getErrorMessage(), 0, str);
            TapjoyMediationAdapter.this.log("Rewarded failed with error: " + maxAdapterError);
            this.listener.onRewardedAdDisplayFailed(maxAdapterError);
        }

        @Override
        public void onVideoComplete(TJPlacement tJPlacement) {
            TapjoyMediationAdapter.this.log("Rewarded video completed");
            this.listener.onRewardedAdVideoCompleted();
            this.hasGrantedReward = true;
        }
    }
}