Idle Egg Factory v2.1.5版本的 MD5 值为:7d2ba6677008ca521af0101bb927d72a
以下内容为反编译后的 AdColonyMediationAdapter.java 源代码,内容仅作参考
package com.applovin.mediation.adapters;
import android.app.Activity;
import android.app.Application;
import android.os.Bundle;
import android.text.TextUtils;
import com.adcolony.sdk.AdColony;
import com.adcolony.sdk.AdColonyAdSize;
import com.adcolony.sdk.AdColonyAdView;
import com.adcolony.sdk.AdColonyAdViewListener;
import com.adcolony.sdk.AdColonyAppOptions;
import com.adcolony.sdk.AdColonyInterstitial;
import com.adcolony.sdk.AdColonyInterstitialListener;
import com.adcolony.sdk.AdColonyReward;
import com.adcolony.sdk.AdColonyRewardListener;
import com.adcolony.sdk.AdColonySignalsListener;
import com.adcolony.sdk.AdColonyZone;
import com.applovin.mediation.MaxAdFormat;
import com.applovin.mediation.MaxReward;
import com.applovin.mediation.adapter.MaxAdViewAdapter;
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.MaxAdViewAdapterListener;
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.tapjoy.TapjoyConstants;
import java.util.ArrayList;
import java.util.concurrent.atomic.AtomicBoolean;
public class AdColonyMediationAdapter extends MediationAdapterBase implements MaxSignalProvider, MaxInterstitialAdapter, MaxRewardedAdapter, MaxAdViewAdapter {
private static final AtomicBoolean initialized = new AtomicBoolean();
private static MaxAdapter.InitializationStatus status;
private AdColonyAdView loadedAdViewAd;
private AdColonyInterstitial loadedInterstitialAd;
private AdColonyInterstitial loadedRewardedAd;
@Override
public String getAdapterVersion() {
return "4.8.0.2";
}
public AdColonyMediationAdapter(AppLovinSdk appLovinSdk) {
super(appLovinSdk);
}
@Override
public String getSdkVersion() {
return AdColony.getSDKVersion();
}
@Override
public void onDestroy() {
AdColonyInterstitial adColonyInterstitial = this.loadedInterstitialAd;
if (adColonyInterstitial != null) {
adColonyInterstitial.destroy();
this.loadedInterstitialAd = null;
}
AdColonyInterstitial adColonyInterstitial2 = this.loadedRewardedAd;
if (adColonyInterstitial2 != null) {
adColonyInterstitial2.destroy();
this.loadedRewardedAd = null;
}
AdColonyAdView adColonyAdView = this.loadedAdViewAd;
if (adColonyAdView != null) {
adColonyAdView.destroy();
this.loadedAdViewAd = null;
}
}
@Override
public void collectSignal(MaxAdapterSignalCollectionParameters maxAdapterSignalCollectionParameters, Activity activity, final MaxSignalCollectionListener maxSignalCollectionListener) {
log("Collecting signal for " + maxAdapterSignalCollectionParameters.getAdFormat() + " ad...");
AdColony.setAppOptions(getOptions(maxAdapterSignalCollectionParameters));
AdColony.collectSignals(new AdColonySignalsListener() {
@Override
public void onSuccess(String str) {
AdColonyMediationAdapter.this.log("Signal collection successful");
maxSignalCollectionListener.onSignalCollected(str);
}
@Override
public void onFailure() {
AdColonyMediationAdapter.this.log("Signal collection failed");
maxSignalCollectionListener.onSignalCollectionFailed("AdColony has not yet been configured or there was an error parsing data");
}
});
}
@Override
public void initialize(MaxAdapterInitializationParameters maxAdapterInitializationParameters, Activity activity, MaxAdapter.OnCompletionListener onCompletionListener) {
if (initialized.compareAndSet(false, true)) {
status = MaxAdapter.InitializationStatus.INITIALIZING;
String string = maxAdapterInitializationParameters.getServerParameters().getString("app_id");
log("Initializing AdColony SDK with app id: " + string + "...");
status = AdColony.configure(activity != null ? activity.getApplication() : (Application) getApplicationContext(), getOptions(maxAdapterInitializationParameters), string, getZoneIds(maxAdapterInitializationParameters)) ? MaxAdapter.InitializationStatus.INITIALIZED_SUCCESS : MaxAdapter.InitializationStatus.INITIALIZED_FAILURE;
}
onCompletionListener.onCompletion(status, null);
}
@Override
public void loadInterstitialAd(MaxAdapterResponseParameters maxAdapterResponseParameters, Activity activity, MaxInterstitialAdapterListener maxInterstitialAdapterListener) {
String thirdPartyAdPlacementId = maxAdapterResponseParameters.getThirdPartyAdPlacementId();
String bidResponse = maxAdapterResponseParameters.getBidResponse();
StringBuilder sb = new StringBuilder();
sb.append("Loading ");
sb.append(TextUtils.isEmpty(bidResponse) ? "bidding " : "");
sb.append(" interstitial ad for zone id ");
sb.append(thirdPartyAdPlacementId);
sb.append("...");
log(sb.toString());
if (!isAdColonyConfigured()) {
log("AdColony SDK is not initialized");
maxInterstitialAdapterListener.onInterstitialAdLoadFailed(MaxAdapterError.NOT_INITIALIZED);
} else {
AdColony.setAppOptions(getOptions(maxAdapterResponseParameters));
AdColony.requestInterstitial(thirdPartyAdPlacementId, new InterstitialListener(maxInterstitialAdapterListener));
}
}
@Override
public void showInterstitialAd(MaxAdapterResponseParameters maxAdapterResponseParameters, Activity activity, MaxInterstitialAdapterListener maxInterstitialAdapterListener) {
log("Showing interstitial ad...");
AdColonyInterstitial adColonyInterstitial = this.loadedInterstitialAd;
if (adColonyInterstitial == null) {
log("Interstitial ad not ready");
maxInterstitialAdapterListener.onInterstitialAdDisplayFailed(new MaxAdapterError(MaxAdapterError.ERROR_CODE_AD_DISPLAY_FAILED, "Ad Display Failed"));
} else if (adColonyInterstitial.isExpired()) {
log("Interstitial ad is expired");
maxInterstitialAdapterListener.onInterstitialAdDisplayFailed(MaxAdapterError.AD_EXPIRED);
} else {
if (this.loadedInterstitialAd.show()) {
return;
}
log("Interstitial ad failed to display");
maxInterstitialAdapterListener.onInterstitialAdDisplayFailed(new MaxAdapterError(MaxAdapterError.ERROR_CODE_AD_DISPLAY_FAILED, "Ad Display Failed"));
}
}
@Override
public void loadRewardedAd(MaxAdapterResponseParameters maxAdapterResponseParameters, Activity activity, MaxRewardedAdapterListener maxRewardedAdapterListener) {
String thirdPartyAdPlacementId = maxAdapterResponseParameters.getThirdPartyAdPlacementId();
String bidResponse = maxAdapterResponseParameters.getBidResponse();
StringBuilder sb = new StringBuilder();
sb.append("Loading ");
sb.append(TextUtils.isEmpty(bidResponse) ? "bidding " : "");
sb.append(" rewarded ad for zone id ");
sb.append(thirdPartyAdPlacementId);
sb.append("...");
log(sb.toString());
if (!isAdColonyConfigured()) {
log("AdColony SDK is not initialized");
maxRewardedAdapterListener.onRewardedAdLoadFailed(MaxAdapterError.NOT_INITIALIZED);
} else {
AdColony.setAppOptions(getOptions(maxAdapterResponseParameters));
RewardedAdListener rewardedAdListener = new RewardedAdListener(maxRewardedAdapterListener);
AdColony.setRewardListener(rewardedAdListener);
AdColony.requestInterstitial(thirdPartyAdPlacementId, rewardedAdListener);
}
}
@Override
public void showRewardedAd(MaxAdapterResponseParameters maxAdapterResponseParameters, Activity activity, MaxRewardedAdapterListener maxRewardedAdapterListener) {
log("Showing rewarded ad...");
AdColonyInterstitial adColonyInterstitial = this.loadedRewardedAd;
if (adColonyInterstitial == null) {
log("Rewarded ad not ready");
maxRewardedAdapterListener.onRewardedAdDisplayFailed(new MaxAdapterError(MaxAdapterError.ERROR_CODE_AD_DISPLAY_FAILED, "Ad Display Failed"));
} else {
if (adColonyInterstitial.isExpired()) {
log("Rewarded ad is expired");
maxRewardedAdapterListener.onRewardedAdDisplayFailed(MaxAdapterError.AD_EXPIRED);
return;
}
configureReward(maxAdapterResponseParameters);
if (this.loadedRewardedAd.show()) {
return;
}
log("Rewarded ad failed to display");
maxRewardedAdapterListener.onRewardedAdDisplayFailed(new MaxAdapterError(MaxAdapterError.ERROR_CODE_AD_DISPLAY_FAILED, "Ad Display Failed"));
}
}
@Override
public void loadAdViewAd(MaxAdapterResponseParameters maxAdapterResponseParameters, MaxAdFormat maxAdFormat, Activity activity, MaxAdViewAdapterListener maxAdViewAdapterListener) {
String thirdPartyAdPlacementId = maxAdapterResponseParameters.getThirdPartyAdPlacementId();
String bidResponse = maxAdapterResponseParameters.getBidResponse();
StringBuilder sb = new StringBuilder();
sb.append("Loading ");
sb.append(TextUtils.isEmpty(bidResponse) ? "bidding " : "");
sb.append(maxAdFormat.getLabel());
sb.append(" ad for zone id ");
sb.append(thirdPartyAdPlacementId);
sb.append("...");
log(sb.toString());
if (!isAdColonyConfigured()) {
log("AdColony SDK is not initialized");
maxAdViewAdapterListener.onAdViewAdLoadFailed(MaxAdapterError.NOT_INITIALIZED);
} else {
AdColony.setAppOptions(getOptions(maxAdapterResponseParameters));
AdColony.requestAdView(thirdPartyAdPlacementId, new AdViewAdListener(maxAdFormat, maxAdViewAdapterListener), sizeFromAdFormat(maxAdFormat));
}
}
private boolean isAdColonyConfigured() {
return !AdColony.getSDKVersion().isEmpty();
}
private String[] getZoneIds(MaxAdapterParameters maxAdapterParameters) {
ArrayList<String> stringArrayList = maxAdapterParameters.getServerParameters().getStringArrayList("zone_ids");
if (stringArrayList == null || stringArrayList.size() == 0) {
return new String[0];
}
String[] strArr = new String[stringArrayList.size()];
for (int i = 0; i < stringArrayList.size(); i++) {
strArr[i] = stringArrayList.get(i);
}
return strArr;
}
private AdColonyAppOptions getOptions(MaxAdapterParameters maxAdapterParameters) {
Bundle serverParameters = maxAdapterParameters.getServerParameters();
AdColonyAppOptions adColonyAppOptions = new AdColonyAppOptions();
adColonyAppOptions.setTestModeEnabled(maxAdapterParameters.isTesting());
adColonyAppOptions.setMediationNetwork("AppLovin", AppLovinSdk.VERSION);
if (getWrappingSdk().getConfiguration().getConsentDialogState() == AppLovinSdkConfiguration.ConsentDialogState.APPLIES) {
adColonyAppOptions.setPrivacyFrameworkRequired(AdColonyAppOptions.GDPR, true);
Boolean privacySetting = getPrivacySetting("hasUserConsent", maxAdapterParameters);
if (privacySetting != null) {
adColonyAppOptions.setPrivacyConsentString(AdColonyAppOptions.GDPR, privacySetting.booleanValue() ? "1" : "0");
}
} else if (getWrappingSdk().getConfiguration().getConsentDialogState() == AppLovinSdkConfiguration.ConsentDialogState.DOES_NOT_APPLY) {
adColonyAppOptions.setPrivacyFrameworkRequired(AdColonyAppOptions.GDPR, false);
}
if (AppLovinSdk.VERSION_CODE >= 91100) {
Boolean privacySetting2 = getPrivacySetting("isDoNotSell", maxAdapterParameters);
if (privacySetting2 != null) {
adColonyAppOptions.setPrivacyFrameworkRequired(AdColonyAppOptions.CCPA, true);
adColonyAppOptions.setPrivacyConsentString(AdColonyAppOptions.CCPA, privacySetting2.booleanValue() ? "0" : "1");
} else {
adColonyAppOptions.setPrivacyFrameworkRequired(AdColonyAppOptions.CCPA, false);
}
}
Boolean privacySetting3 = getPrivacySetting("isAgeRestrictedUser", maxAdapterParameters);
if (privacySetting3 != null) {
adColonyAppOptions.setPrivacyFrameworkRequired(AdColonyAppOptions.COPPA, privacySetting3.booleanValue());
}
if (maxAdapterParameters instanceof MaxAdapterResponseParameters) {
String bidResponse = ((MaxAdapterResponseParameters) maxAdapterParameters).getBidResponse();
if (!TextUtils.isEmpty(bidResponse)) {
adColonyAppOptions.setOption("adm", bidResponse);
}
}
if (serverParameters.containsKey("app_orientation")) {
adColonyAppOptions.setAppOrientation(serverParameters.getInt("app_orientation"));
}
if (serverParameters.containsKey(TapjoyConstants.TJC_APP_VERSION_NAME)) {
adColonyAppOptions.setAppVersion(serverParameters.getString(TapjoyConstants.TJC_APP_VERSION_NAME));
}
if (serverParameters.containsKey("keep_screen_on")) {
adColonyAppOptions.setKeepScreenOn(serverParameters.getBoolean("keep_screen_on"));
}
if (serverParameters.containsKey("multi_window_enabled")) {
adColonyAppOptions.setMultiWindowEnabled(serverParameters.getBoolean("multi_window_enabled"));
}
if (serverParameters.containsKey("origin_store")) {
adColonyAppOptions.setOriginStore(serverParameters.getString("origin_store"));
}
if (serverParameters.containsKey("requested_ad_orientation")) {
adColonyAppOptions.setRequestedAdOrientation(serverParameters.getInt("requested_ad_orientation"));
}
if (serverParameters.containsKey(TapjoyConstants.TJC_PLUGIN) && serverParameters.containsKey("plugin_version")) {
adColonyAppOptions.setPlugin(serverParameters.getString(TapjoyConstants.TJC_PLUGIN), serverParameters.getString("plugin_version"));
}
if (serverParameters.containsKey("user_id")) {
adColonyAppOptions.setUserID(serverParameters.getString("user_id"));
}
return adColonyAppOptions;
}
private AdColonyAdSize sizeFromAdFormat(MaxAdFormat maxAdFormat) {
if (maxAdFormat == MaxAdFormat.BANNER) {
return AdColonyAdSize.BANNER;
}
if (maxAdFormat == MaxAdFormat.LEADER) {
return AdColonyAdSize.LEADERBOARD;
}
if (maxAdFormat == MaxAdFormat.MREC) {
return AdColonyAdSize.MEDIUM_RECTANGLE;
}
throw new IllegalArgumentException("Invalid ad format: " + maxAdFormat);
}
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 class InterstitialListener extends AdColonyInterstitialListener {
private final MaxInterstitialAdapterListener listener;
InterstitialListener(MaxInterstitialAdapterListener maxInterstitialAdapterListener) {
this.listener = maxInterstitialAdapterListener;
}
@Override
public void onRequestFilled(AdColonyInterstitial adColonyInterstitial) {
AdColonyMediationAdapter.this.log("Interstitial loaded");
AdColonyMediationAdapter.this.loadedInterstitialAd = adColonyInterstitial;
this.listener.onInterstitialAdLoaded();
}
@Override
public void onRequestNotFilled(AdColonyZone adColonyZone) {
AdColonyMediationAdapter.this.log("Interstitial failed to fill for zone: " + adColonyZone.getZoneID());
this.listener.onInterstitialAdLoadFailed(MaxAdapterError.NO_FILL);
}
@Override
public void onOpened(AdColonyInterstitial adColonyInterstitial) {
AdColonyMediationAdapter.this.log("Interstitial shown");
this.listener.onInterstitialAdDisplayed();
}
@Override
public void onClosed(AdColonyInterstitial adColonyInterstitial) {
AdColonyMediationAdapter.this.log("Interstitial hidden");
this.listener.onInterstitialAdHidden();
}
@Override
public void onExpiring(AdColonyInterstitial adColonyInterstitial) {
AdColonyMediationAdapter.this.log("Interstitial expiring: " + adColonyInterstitial.getZoneID());
}
@Override
public void onLeftApplication(AdColonyInterstitial adColonyInterstitial) {
AdColonyMediationAdapter.this.log("Interstitial left application");
}
@Override
public void onClicked(AdColonyInterstitial adColonyInterstitial) {
AdColonyMediationAdapter.this.log("Interstitial clicked");
this.listener.onInterstitialAdClicked();
}
}
private class RewardedAdListener extends AdColonyInterstitialListener implements AdColonyRewardListener {
private boolean hasGrantedReward;
private final MaxRewardedAdapterListener listener;
RewardedAdListener(MaxRewardedAdapterListener maxRewardedAdapterListener) {
this.listener = maxRewardedAdapterListener;
}
@Override
public void onReward(AdColonyReward adColonyReward) {
if (adColonyReward.success()) {
AdColonyMediationAdapter.this.log("Rewarded ad granted reward");
this.hasGrantedReward = true;
} else {
AdColonyMediationAdapter.this.log("Rewarded ad did not grant reward");
}
}
@Override
public void onRequestFilled(AdColonyInterstitial adColonyInterstitial) {
AdColonyMediationAdapter.this.log("Rewarded ad loaded");
AdColonyMediationAdapter.this.loadedRewardedAd = adColonyInterstitial;
this.listener.onRewardedAdLoaded();
}
@Override
public void onRequestNotFilled(AdColonyZone adColonyZone) {
AdColonyMediationAdapter.this.log("Rewarded ad failed to fill for zone: " + adColonyZone.getZoneID());
this.listener.onRewardedAdLoadFailed(MaxAdapterError.NO_FILL);
}
@Override
public void onOpened(AdColonyInterstitial adColonyInterstitial) {
AdColonyMediationAdapter.this.log("Rewarded ad shown");
this.listener.onRewardedAdDisplayed();
this.listener.onRewardedAdVideoStarted();
}
@Override
public void onClosed(AdColonyInterstitial adColonyInterstitial) {
this.listener.onRewardedAdVideoCompleted();
if (this.hasGrantedReward || AdColonyMediationAdapter.this.shouldAlwaysRewardUser()) {
MaxReward reward = AdColonyMediationAdapter.this.getReward();
AdColonyMediationAdapter.this.log("Rewarded user with reward: " + reward);
this.listener.onUserRewarded(reward);
}
AdColonyMediationAdapter.this.log("Rewarded ad hidden");
this.listener.onRewardedAdHidden();
}
@Override
public void onExpiring(AdColonyInterstitial adColonyInterstitial) {
AdColonyMediationAdapter.this.log("Rewarded ad expiring: " + adColonyInterstitial.getZoneID());
}
@Override
public void onLeftApplication(AdColonyInterstitial adColonyInterstitial) {
AdColonyMediationAdapter.this.log("Rewarded ad left application");
}
@Override
public void onClicked(AdColonyInterstitial adColonyInterstitial) {
AdColonyMediationAdapter.this.log("Rewarded ad clicked");
this.listener.onRewardedAdClicked();
}
}
private class AdViewAdListener extends AdColonyAdViewListener {
private final MaxAdFormat adFormat;
private final MaxAdViewAdapterListener listener;
AdViewAdListener(MaxAdFormat maxAdFormat, MaxAdViewAdapterListener maxAdViewAdapterListener) {
this.listener = maxAdViewAdapterListener;
this.adFormat = maxAdFormat;
}
@Override
public void onRequestFilled(AdColonyAdView adColonyAdView) {
AdColonyMediationAdapter.this.log(this.adFormat.getLabel() + " ad loaded");
AdColonyMediationAdapter.this.loadedAdViewAd = adColonyAdView;
this.listener.onAdViewAdLoaded(AdColonyMediationAdapter.this.loadedAdViewAd);
}
@Override
public void onShow(AdColonyAdView adColonyAdView) {
AdColonyMediationAdapter.this.log(this.adFormat.getLabel() + " ad shown");
this.listener.onAdViewAdDisplayed();
}
@Override
public void onLeftApplication(AdColonyAdView adColonyAdView) {
AdColonyMediationAdapter.this.log(this.adFormat.getLabel() + " ad left application");
}
@Override
public void onClicked(AdColonyAdView adColonyAdView) {
AdColonyMediationAdapter.this.log(this.adFormat.getLabel() + " ad clicked");
this.listener.onAdViewAdClicked();
}
@Override
public void onRequestNotFilled(AdColonyZone adColonyZone) {
AdColonyMediationAdapter.this.log(this.adFormat.getLabel() + " ad failed to fill for zone: " + adColonyZone.getZoneID());
this.listener.onAdViewAdLoadFailed(MaxAdapterError.NO_FILL);
}
}
}