001package com.intentsoftware.addapptr; 002 003public enum AdNetwork { 004 005 ADCOLONY("AdColony", true), 006 ADMOB("AdMob", true), 007 ADX("RTB2", "RTB2", true), 008 AMAZONHB("AmazonHB", false), 009 APPLOVIN("AppLovin", true), 010 APPNEXUS("AppNexus", true), 011 CRITEOSDK("CriteoSDK", true), 012 DFP("DFP", true), 013 EMPTY("Empty", false), 014 FACEBOOK("Facebook", true), 015 GENERICVAST("GenericVAST", false), 016 HUAWEI("Huawei", false), 017 INMOBI("Inmobi", true), 018 MOPUB("MoPub", true), 019 OGURY("Ogury", false), 020 PUBNATIVE("PubNative", true), 021 RUBICON("Rubicon", false), 022 SMAATO("Smaato", true), 023 SMARTAD("SmartAd", true), 024 SMARTADSERVERDIRECT("SmartAdServerDirect", true), 025 SPOTX("SpotX", false), 026 TEADS("Teads", false), 027 UNITYADS("Unity", "UNITY", true), 028 YANDEX("Yandex", false), 029 BLUESTACK("Bluestack", true); 030 031 private final String reportingName; 032 private final String serverConfigName; 033 private final boolean requiresSDK; 034 035 AdNetwork(String reportingName, boolean requiresSDK) { 036 this.reportingName = reportingName; 037 this.serverConfigName = this.toString(); 038 this.requiresSDK = requiresSDK; 039 } 040 041 @SuppressWarnings("SameParameterValue") 042 AdNetwork(String name, String serverConfigName, boolean requiresSDK) { 043 this.reportingName = name; 044 this.serverConfigName = serverConfigName; 045 this.requiresSDK = requiresSDK; 046 } 047 048 String getReportingName() { 049 return reportingName; 050 } 051 052 boolean requiresSDK() { 053 return requiresSDK; 054 } 055 056 public static AdNetwork fromServerConfigName(String name) { 057 for (AdNetwork n : AdNetwork.values()) { 058 if (n.serverConfigName.equals(name)) { 059 return n; 060 } 061 } 062 063 return null; 064 } 065 066}