diff --git a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/AdType.java b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/AdType.java index 04c02d456..f7844bf5e 100644 --- a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/AdType.java +++ b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/AdType.java @@ -16,7 +16,7 @@ package org.prebid.mobile; -enum AdType { +public enum AdType { BANNER, INTERSTITIAL, NATIVE, diff --git a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/NativeRequestParams.java b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/NativeRequestParams.java index 6b3154140..d6f6136af 100644 --- a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/NativeRequestParams.java +++ b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/NativeRequestParams.java @@ -5,7 +5,7 @@ import java.util.ArrayList; -class NativeRequestParams { +public class NativeRequestParams { // // constants static String VERSION = "ver"; static String SUPPORTED_VERSION = "1.2"; diff --git a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/unification/AdUnitConfiguration.java b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/unification/AdUnitConfiguration.java new file mode 100644 index 000000000..ea3f610bd --- /dev/null +++ b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/unification/AdUnitConfiguration.java @@ -0,0 +1,56 @@ +package org.prebid.mobile.unification; + +import org.prebid.mobile.AdSize; +import org.prebid.mobile.BannerBaseAdUnit; +import org.prebid.mobile.VideoBaseAdUnit; + +import java.util.HashSet; + +public class AdUnitConfiguration extends BaseAdUnitConfiguration implements AdUnitConfigurationInterface { + + private AdSize minSizePercentage; + private HashSet sizes; + private BannerBaseAdUnit.Parameters bannerParameters; + private VideoBaseAdUnit.Parameters videoParameters; + + @Override + public void setMinSizePercentage(AdSize minSizePercentage) { + this.minSizePercentage = minSizePercentage; + } + + @Override + public AdSize getMinSizePercentage() { + return minSizePercentage; + } + + @Override + public void addSize(AdSize additionalSize) { + sizes.add(additionalSize); + } + + @Override + public HashSet getSizes() { + return sizes; + } + + @Override + public void setBannerParameters(BannerBaseAdUnit.Parameters parameters) { + bannerParameters = parameters; + } + + @Override + public BannerBaseAdUnit.Parameters getBannerParameters() { + return bannerParameters; + } + + @Override + public void setVideoParameters(VideoBaseAdUnit.Parameters parameters) { + videoParameters = parameters; + } + + @Override + public VideoBaseAdUnit.Parameters getVideoParameters() { + return videoParameters; + } + +} diff --git a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/unification/AdUnitConfigurationInterface.java b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/unification/AdUnitConfigurationInterface.java new file mode 100644 index 000000000..24cf262c1 --- /dev/null +++ b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/unification/AdUnitConfigurationInterface.java @@ -0,0 +1,30 @@ +package org.prebid.mobile.unification; + +import org.prebid.mobile.AdSize; +import org.prebid.mobile.BannerBaseAdUnit; +import org.prebid.mobile.VideoBaseAdUnit; + +import java.util.HashSet; + +public interface AdUnitConfigurationInterface extends BaseAdUnitConfigurationInterface { + + public void setMinSizePercentage(AdSize minSizePercentage); + + public AdSize getMinSizePercentage(); + + + public void addSize(AdSize additionalSize); + + public HashSet getSizes(); + + + public void setBannerParameters(BannerBaseAdUnit.Parameters parameters); + + public BannerBaseAdUnit.Parameters getBannerParameters(); + + + public void setVideoParameters(VideoBaseAdUnit.Parameters parameters); + + public VideoBaseAdUnit.Parameters getVideoParameters(); + +} diff --git a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/unification/BaseAdUnitConfiguration.java b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/unification/BaseAdUnitConfiguration.java new file mode 100644 index 000000000..faa3845a8 --- /dev/null +++ b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/unification/BaseAdUnitConfiguration.java @@ -0,0 +1,142 @@ +package org.prebid.mobile.unification; + +import androidx.annotation.NonNull; +import org.prebid.mobile.AdType; +import org.prebid.mobile.ContentObject; +import org.prebid.mobile.DataObject; + +import java.util.*; + +public abstract class BaseAdUnitConfiguration implements BaseAdUnitConfigurationInterface { + + private AdType adType; + private String configId; + private ContentObject appContent; + private String pbAdSlot; + private final ArrayList userDataObjects = new ArrayList<>(); + private final Map> contextDataDictionary = new HashMap<>(); + private final Set contextKeywordsSet = new HashSet<>(); + + @Override + public void setAdType(AdType adType) { + this.adType = adType; + } + + @Override + public AdType getAdType() { + return adType; + } + + @Override + public void setConfigId(String configId) { + this.configId = configId; + } + + @Override + public String getConfigId() { + return configId; + } + + @Override + public void setAppContent(ContentObject content) { + appContent = content; + } + + @Override + public ContentObject getAppContent() { + return appContent; + } + + @Override + public void setPbAdSlot(String pbAdSlot) { + this.pbAdSlot = pbAdSlot; + } + + @Override + public String getPbAdSlot() { + return pbAdSlot; + } + + @Override + public void addUserData(DataObject dataObject) { + if (dataObject != null) { + userDataObjects.add(dataObject); + } + } + + @Override + @NonNull + public ArrayList getUserData() { + return userDataObjects; + } + + @Override + public void clearUserData() { + userDataObjects.clear(); + } + + @Override + public void addContextData(String key, String value) { + if (key != null && value != null) { + HashSet hashSet = new HashSet<>(); + hashSet.add(value); + contextDataDictionary.put(key, hashSet); + } + } + + @Override + public void updateContextData(String key, Set value) { + if (key != null && value != null) { + contextDataDictionary.put(key, value); + } + } + + @Override + public void removeContextData(String key) { + contextDataDictionary.remove(key); + } + + @Override + @NonNull + public Map> getContextDataDictionary() { + return contextDataDictionary; + } + + @Override + public void clearContextData() { + contextDataDictionary.clear(); + } + + @Override + public void addContextKeyword(String keyword) { + if (keyword != null) { + contextKeywordsSet.add(keyword); + } + } + + @Override + public void addContextKeywords(Set keywords) { + if (keywords != null) { + contextKeywordsSet.addAll(keywords); + } + } + + @Override + public void removeContextKeywords(String key) { + if (key != null) { + contextKeywordsSet.remove(key); + } + } + + @Override + @NonNull + public Set getContextKeywordsSet() { + return contextKeywordsSet; + } + + @Override + public void clearContextKeywords() { + contextKeywordsSet.clear(); + } + +} diff --git a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/unification/BaseAdUnitConfigurationInterface.java b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/unification/BaseAdUnitConfigurationInterface.java new file mode 100644 index 000000000..83a349488 --- /dev/null +++ b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/unification/BaseAdUnitConfigurationInterface.java @@ -0,0 +1,61 @@ +package org.prebid.mobile.unification; + +import org.prebid.mobile.AdType; +import org.prebid.mobile.ContentObject; +import org.prebid.mobile.DataObject; + +import java.util.ArrayList; +import java.util.Map; +import java.util.Set; + +public abstract interface BaseAdUnitConfigurationInterface { + + public void setAdType(AdType adType); + + public AdType getAdType(); + + + public void setConfigId(String configId); + + public String getConfigId(); + + + public void setAppContent(ContentObject content); + + public ContentObject getAppContent(); + + + public void setPbAdSlot(String pbAdSlot); + + public String getPbAdSlot(); + + + public void addUserData(DataObject dataObject); + + public ArrayList getUserData(); + + public void clearUserData(); + + + public void addContextData(String key, String value); + + public void updateContextData(String key, Set value); + + public void removeContextData(String key); + + public Map> getContextDataDictionary(); + + public void clearContextData(); + + + public void addContextKeyword(String keyword); + + public void addContextKeywords(Set keywords); + + public void removeContextKeywords(String key); + + public Set getContextKeywordsSet(); + + public void clearContextKeywords(); + +} diff --git a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/unification/NativeAdUnitConfiguration.java b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/unification/NativeAdUnitConfiguration.java new file mode 100644 index 000000000..7eba82ed3 --- /dev/null +++ b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/unification/NativeAdUnitConfiguration.java @@ -0,0 +1,144 @@ +package org.prebid.mobile.unification; + +import org.json.JSONObject; +import org.prebid.mobile.NativeAdUnit; +import org.prebid.mobile.NativeAsset; +import org.prebid.mobile.NativeEventTracker; + +import java.util.ArrayList; + +public class NativeAdUnitConfiguration extends BaseAdUnitConfiguration implements NativeAdUnitConfigurationInterface { + + private final ArrayList nativeAssets = new ArrayList<>(); + private final ArrayList nativeEventTrackers = new ArrayList<>(); + private NativeAdUnit.CONTEXT_TYPE contextType; + private NativeAdUnit.CONTEXTSUBTYPE contextSubtype; + private NativeAdUnit.PLACEMENTTYPE placementType; + private Integer placementCount; + private Integer sequence; + private Boolean aUrlSupport; + private Boolean dUrlSupport; + private Boolean privacy; + private JSONObject ext; + + @Override + public void addEventTracker(NativeEventTracker tracker) { + nativeEventTrackers.add(tracker); + } + + @Override + public ArrayList getNativeEventTrackers() { + return nativeEventTrackers; + } + + @Override + public void clearNativeEventTrackers() { + nativeEventTrackers.clear(); + } + + @Override + public void addAsset(NativeAsset nativeAsset) { + nativeAssets.add(nativeAsset); + } + + @Override + public ArrayList getNativeAssets() { + return nativeAssets; + } + + @Override + public void clearNativeAssets() { + nativeAssets.clear(); + } + + @Override + public void setContextType(NativeAdUnit.CONTEXT_TYPE contextType) { + this.contextType = contextType; + } + + @Override + public NativeAdUnit.CONTEXT_TYPE getContextType() { + return contextType; + } + + @Override + public void setContextSubtype(NativeAdUnit.CONTEXTSUBTYPE contextSubtype) { + this.contextSubtype = contextSubtype; + } + + @Override + public NativeAdUnit.CONTEXTSUBTYPE getContextSubtype() { + return contextSubtype; + } + + @Override + public void setPlacementType(NativeAdUnit.PLACEMENTTYPE placementType) { + this.placementType = placementType; + } + + @Override + public NativeAdUnit.PLACEMENTTYPE getPlacementType() { + return placementType; + } + + @Override + public void setPlacementCount(int placementCount) { + this.placementCount = placementCount; + } + + @Override + public Integer getPlacementCount() { + return placementCount; + } + + @Override + public void setSeq(int seq) { + this.sequence = seq; + } + + @Override + public Integer getSeq() { + return sequence; + } + + @Override + public void setAUrlSupport(boolean support) { + aUrlSupport = support; + } + + @Override + public Boolean getAUrlSupport() { + return aUrlSupport; + } + + @Override + public void setDUrlSupport(boolean support) { + dUrlSupport = support; + } + + @Override + public Boolean getDUrlSupport() { + return dUrlSupport; + } + + @Override + public void setPrivacy(boolean privacy) { + this.privacy = privacy; + } + + @Override + public Boolean getPrivacy() { + return privacy; + } + + @Override + public void setExt(JSONObject ext) { + this.ext = ext; + } + + @Override + public JSONObject getExt() { + return ext; + } + +} diff --git a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/unification/NativeAdUnitConfigurationInterface.java b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/unification/NativeAdUnitConfigurationInterface.java new file mode 100644 index 000000000..ac1208a90 --- /dev/null +++ b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/unification/NativeAdUnitConfigurationInterface.java @@ -0,0 +1,62 @@ +package org.prebid.mobile.unification; + +import org.json.JSONObject; +import org.prebid.mobile.NativeAdUnit; +import org.prebid.mobile.NativeAsset; +import org.prebid.mobile.NativeEventTracker; + +import java.util.ArrayList; + +public interface NativeAdUnitConfigurationInterface extends BaseAdUnitConfigurationInterface { + + public void addEventTracker(NativeEventTracker tracker); + + public ArrayList getNativeEventTrackers(); + + public void clearNativeEventTrackers(); + + + public void addAsset(NativeAsset nativeAsset); + + public ArrayList getNativeAssets(); + + public void clearNativeAssets(); + + + public void setContextType(NativeAdUnit.CONTEXT_TYPE contextType); + + public NativeAdUnit.CONTEXT_TYPE getContextType(); + + public void setContextSubtype(NativeAdUnit.CONTEXTSUBTYPE contextSubType); + + public NativeAdUnit.CONTEXTSUBTYPE getContextSubtype(); + + public void setPlacementType(NativeAdUnit.PLACEMENTTYPE placementType); + + public NativeAdUnit.PLACEMENTTYPE getPlacementType(); + + public void setPlacementCount(int placementCount); + + public Integer getPlacementCount(); + + public void setSeq(int seq); + + public Integer getSeq(); + + public void setAUrlSupport(boolean support); + + public Boolean getAUrlSupport(); + + public void setDUrlSupport(boolean support); + + public Boolean getDUrlSupport(); + + public void setPrivacy(boolean privacy); + + public Boolean getPrivacy(); + + public void setExt(JSONObject jsonObject); + + public JSONObject getExt(); + +}